Guidelines
- Private projects should have an npm package name scoped to
@banno, e.g.@banno/angular-platform-services. Public projects should choose a name that doesn’t exist in the public registry yet.Only set
private: trueif you want the project to be uninstallable (usually not what you want).For private projects, set
publishConfig.registryto our internal registry:"publishConfig": { "registry": "https://npm.banno-internal.com" }
- Use yarn/npm to install external libraries used by the project.
- Use npm scripts to run development tasks.
- Projects should enforce file format conventions with an
.editorconfig. - Projects should enforce coding conventions with ux-lint.
File Organization
The filesystem is usually organized like the following:
[dist] distribution files (plugin/library projects)
[dist] development build
[css]
[js]
[fonts]
[img]
[media]
[partials]
[docs] additional documentation
[example] files needed to build an example app/component for E2E or manual testing
[node_modules] npm modules
[src] source code -- see CodeStyle.md for details
[test] tests -- see CodeStyle.md for details
.editorconfig
.gitignore
.lintrc
package.json
README.md
yarn.lock
The static files for the platform builds must be placed within the prescribed subfolders (js, css, fonts, img, media, and partials); those paths are treated differently and behave like a standard file based web server (404s occur). Other paths are mapped to the index.html file to support HTML5 push state urls for single page apps.
Files that do not include source code, config files, readmes, etc should be added to the .gitignore file (dist, node_modules).