mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-06 14:09:25 +08:00
* create-nocobase-app template from [develop] * change create-nocobase-app package.json config * feat: load configuration from directory * feat: configuration repository toObject * feat: create application from configuration dir * feat: application factory with plugins options * export type * feat: read application config & application with plugins options * feat: release command * fix: database release * chore: workflow package.json * feat: nocobase cli package * feat: console command * chore: load application in command * fix: load packages from process.cwd * feat: cli load env file * feat: create-nocobase-app * fix: gitignore create-nocobase-app lib * fix: sqlite path * feat: create plugin * chore: plugin files template * chore: move cli into application * chore: create-nocobase-app * fix: create plugin * chore: app-client && app-server * chore: package.json * feat: create-nocobase-app download template from npm * chore: create-nocobase-app template * fix: config of plugin-users * fix: yarn.lock * fix: database build error * fix: yarn.lock * fix: resourcer config * chore: cross-env * chore: app-client dependents * fix: env * chore: v0.6.0-alpha.1 * chore: verdaccio * chore(versions): 😊 publish v0.6.0 * chore(versions): 😊 publish v0.6.1-alpha.0 * chore(versions): 😊 publish v0.6.2-alpha.0 * chore(versions): 😊 publish v0.6.2-alpha.1 * chore: 0.6.2-alpha.2 * feat: workspaces * chore(versions): 😊 publish v0.6.2-alpha.3 * chore(versions): 😊 publish v0.6.2-alpha.4 * chore: create-nocobase-app * chore: create-nocobase-app lib * fix: update tsconfig.jest.json * chore: .env * chore(versions): 😊 publish v0.6.2-alpha.5 * chore(versions): 😊 publish v0.6.2-alpha.6 * feat: improve code * chore(versions): 😊 publish v0.6.2-alpha.7 * fix: cleanup * chore(versions): 😊 publish v0.6.2-alpha.8 * chore: tsconfig for app server package * fix: move files * fix: move files Co-authored-by: chenos <chenlinxh@gmail.com>
62 lines
1.3 KiB
Markdown
62 lines
1.3 KiB
Markdown
---
|
||
toc: menu
|
||
---
|
||
|
||
# 参与贡献
|
||
|
||
客户端的模块都在 `src` 目录下,各自模块独立。
|
||
|
||
## 客户端模块
|
||
|
||
最小单元模块化,一个完整的模块包含:
|
||
|
||
```bash
|
||
|- /__tests__/ # 测试文件目录
|
||
|- /demos/ # demo 目录
|
||
|- index.ts # 最好不要直接在 index.ts 文件里写代码,index 文件只负责 export
|
||
|- index.md # 文档,默认为英文
|
||
|- index.zh-CN.md # 中文文档,可缺失,可以先都写到 index.md 里
|
||
```
|
||
|
||
## 测试
|
||
|
||
详细文档见 [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/)
|
||
|
||
```tsx | pure
|
||
import React from 'react';
|
||
import { render } from '@testing-library/react';
|
||
import { compose } from '../';
|
||
|
||
describe('compose', () => {
|
||
it('case 1', () => {
|
||
const A: React.FC = (props) => (
|
||
<div>
|
||
<h1>A</h1>
|
||
{props.children}
|
||
</div>
|
||
);
|
||
const App = compose(A)();
|
||
const { container } = render(<App />);
|
||
expect(container).toMatchSnapshot();
|
||
});
|
||
});
|
||
```
|
||
|
||
## Demo
|
||
|
||
组件 Demo 见 [dumi](https://d.umijs.org/guide/basic#write-component-demo),可以直接写在文档里,如:
|
||
|
||
<pre lang="markdown">
|
||
```jsx
|
||
import React from 'react';
|
||
|
||
export default () => <h1>Hello NocoBase!</h1>;
|
||
```
|
||
</pre>
|
||
|
||
也可以引用 demo 文件
|
||
|
||
```markdown
|
||
<code src="./demos/dmeo1.tsx"/>
|
||
```
|