generator-neo-react

Template for a react project using @singularsystems/neo-react

Usage no npm install needed!

<script type="module">
  import generatorNeoReact from 'https://cdn.skypack.dev/generator-neo-react';
</script>

README

Neo-react yeoman generator

The neo-react template creates a react app as an enhanced create-react-app project. It includes the neo dependencies, and optionally adds demo pages for reference.

The 2 main types of projects which can be created are:

  • Basic
  • Modular monolith

Template development

The code which is called by yeoman to generate the project files is in .\generators\app\index.js.

The template files are in .\generators\app\templates. These files are copied into different locations in the generated project, depending on whether the basic or modular monolith project type is selected.

Because files may be in different relative locations in the final project, the import paths in the files need to be dynamic. Use template variables for these paths. E.g. AppService.get(<%= typesPath %>.Config).

Variable names

The following variable names are available:

Common:

  • projectName: Name the user types in when creating the project.
  • npmName: Project name with spaces replaced with dashes.
  • codeName: Project name with spaces removed.
  • examples: Boolean indicating whether demo pages must be included.
  • hasModules: Boolean indicating whether this is a modular monolith project.

Path names:

See code.

Testing

To test your template, run the following command in the project root folder (where this readme file is):

npm link

Then create a folder somewhere, and run yo neo-react as normal.

Hint: If you need to make a change and re-generate, remove everything except the node_modules folder.