create-ivx-app

Generator to create tecronomicon compliant frontend project

Usage no npm install needed!

<script type="module">
  import createIvxApp from 'https://cdn.skypack.dev/create-ivx-app';
</script>

README

CREATE-IVX-APP

create-ivx-app is a generator to create standard-compliant frontend project scaffolding to quickly get started.

Installation/Updating

both require the same command: npm i -g create-ivx-app or yarn add global create-ivx-app

remember to execute this command before every creation to make sure your installation is up-to-date.

Usage

  1. open your terminal and navigate to the folder you want to create your project in, i.e. cd ~/my-projects
  2. start the generator: create-ivx-app
  3. you will be prompted for a couple of options, fill them out as needed
  4. a folder with appropriate file structure will be generated. have fun!

Development

Package Manager

This generator repo does not make use of yarn, since it is publically available and restricting usage to machines that have yarn installed would be detrimental. As such, make sure you use npm for installing dependencies, as otherwise the lockfile won't be respected.

Maintenance

This project consists of two projects (a generator which e.g. copies files and a react template project itself). To maintain both you have to do the following steps:

  1. Check out repository

Generator project

  1. Install dependencies with npm i (IMPORTANT: do not use yarn for this!)
  2. Update dependencies with npm update
  3. Make sure tests still run with npm run test

templates/react-app project

  1. Change into the subdirectory templates/react-app
  2. (temporarily) remove the project name placeholder "name": "%%{CREATE_IVX_APP_PROJECT_NAME_SLUG}%%", from package.json (we use yarn here to generate the correct lockfile).
  3. Install dependencies with yarn
  4. Update dependencies with yarn upgrade-interactive --latest
  5. Revert changes of removed name placeholder in package.json

Publish the generator to npm: Before merging the changes, publish a new package version with yarn publish