docs(modules): update module file structure to use src/ layout
- move db.js, api.js and register-server.js under src/ with updated naming conventions - add explanation of src/ as the module code directory with index.js as public entry point - document index.js pattern for re-exporting register, createTables and dropTables from src/ - add package.json files field example to restrict published assets
This commit is contained in:
+24
-7
@@ -224,16 +224,33 @@ Toute variable requise par le module doit être déclarée dans `manifest.envVar
|
||||
├── package.json # name: "@zen/module-blog", main: "./index.js"
|
||||
├── README.md # documente les env vars et la configuration
|
||||
├── index.js # exporte manifest, register, createTables, dropTables
|
||||
├── db.js # createTables/dropTables
|
||||
├── register-server.js # imports déclencheurs (chargé par register())
|
||||
├── api.js # routes API (registerApiRoutes)
|
||||
├── admin/
|
||||
│ ├── BlogAdminPage.client.js # registerPage + composant
|
||||
│ └── widgets/... # registerWidgetFetcher + registerWidget
|
||||
└── public/
|
||||
└── src/
|
||||
├── db.server.js # createTables/dropTables
|
||||
├── register-server.js # imports déclencheurs (chargé par register())
|
||||
├── api.server.js # routes API (registerApiRoutes)
|
||||
├── admin/
|
||||
│ ├── BlogAdminPage.client.js # registerPage + composant
|
||||
│ └── widgets/... # registerWidgetFetcher + registerWidget
|
||||
└── public/
|
||||
└── BlogPublicPage.js # registerPublicModulePage
|
||||
```
|
||||
|
||||
Tout le code du module vit dans `src/`. Seul `index.js` reste à la racine — c'est le point d'entrée public lu par le core via `main: "./index.js"`. Il importe depuis `./src/` :
|
||||
|
||||
```js
|
||||
// index.js
|
||||
export async function register() {
|
||||
await import('./src/register-server.js');
|
||||
}
|
||||
export { createTables, dropTables } from './src/db.server.js';
|
||||
```
|
||||
|
||||
Le champ `files` dans `package.json` publie uniquement `index.js`, `src/`, `README.md` et `LICENSE` :
|
||||
|
||||
```json
|
||||
"files": ["index.js", "src", "README.md", "LICENSE"]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Cycle de vie complet
|
||||
|
||||
Reference in New Issue
Block a user