|
|
|
# Project Layout
|
|
|
|
|
|
|
|
Out of the box, Neutrino presets expect a project to have a particular structure to make the
|
|
|
|
development process for new projects as quick as possible. This is broken up into three directories:
|
|
|
|
|
|
|
|
- Source code
|
|
|
|
- Build assets
|
|
|
|
- Testing
|
|
|
|
|
|
|
|
Each of these directories is set up via convention by a Neutrino preset, but each can be customized as
|
|
|
|
desired by overriding the preset's configuration or using a different preset. See
|
|
|
|
[Custom Configuration](/custom-configuration.md) for detailed instructions.
|
|
|
|
|
|
|
|
## Source Code
|
|
|
|
|
|
|
|
By default, Neutrino presets expect all project source code to live in a directory named `src` in the
|
|
|
|
root of the project. This includes JavaScript files, CSS stylesheets, images, and any other assets
|
|
|
|
that would be available to your compiled project.
|
|
|
|
|
|
|
|
When running your project or creating a build bundle, a preset will look for this `src` directory for
|
|
|
|
the entry point(s) to your application and use this as the relative location for finding other assets
|
|
|
|
necessary for creating your builds.
|
|
|
|
|
|
|
|
## Build Assets
|
|
|
|
|
|
|
|
When creating a build bundle, a preset will put the compiled assets, including any generated
|
|
|
|
JavaScript files, into a directory named `build` by default. Typically your Neutrino preset will copy
|
|
|
|
any non-JavaScript files from the source directory over to the build directory, allowing you to maintain
|
|
|
|
the same relative path structure for static assets as is used for the source files.
|
|
|
|
|
|
|
|
Normally most projects will exclude checking in this build directory to source control.
|
|
|
|
Be sure to add this directory to your project's `.gitignore`, `.hgignore`, or similar file.
|
|
|
|
|
|
|
|
## Testing
|
|
|
|
|
|
|
|
Neutrino presets by default expect all tests to be located in a directory named `test`. In order to make the
|
|
|
|
separation between tests and test fixtures or harnesses easier to differentiate, Neutrino presets also
|
|
|
|
usually look for test files ending in `_test.js` or `.test.js`. See your specific test preset for more
|
|
|
|
detailed information about running tests and other conventions.
|