All build config, no substance.

Usage no npm install needed!

<script type="module">
  import shanedgTrshcmpctr from 'https://cdn.skypack.dev/@shanedg/trshcmpctr';



Build Status

"all build config, no substance"


Prefer to install from the lockfile.

npm ci


Build the project in development mode.

npm run build

Build the project with production optimizations applied.

npm run build:production


Start webpack-dev-server to serve the project, in-memory. Launch project in browser. Watch files, rebuilding and reloading incremental changes.

npm start


Build the project in development mode and watch files, rebuilding incremental changes.

npm run watch


Lint JavaScript files with ESLint.

npm run lint

A Note on Choice of ESLint Parser

This project compiles TypeScript with Babel, not the TypeScript compiler. Babel discards all type information during transpilation but supports a wider range of syntax than the TypeScript compiler. For this reason, we use the babel-eslint parser instead of the parser provided by @typescript-eslint. For more context, see What about Babel and babel-eslint:

The key trade-off can be summarized as: babel-eslint supports additional syntax which TypeScript itself does not, but typescript-eslint supports creating rules based on type information, which is not available to Babel because there is no type-checker.


Run Jest tests.

npm run test

Type Check

This project compiles TypeScript with Babel, not the TypeScript compiler. For additional context, see the note on choice of ESLint parser above.

Run tsc against the project's TS files to catch type errors.

npm run type-check


  • Add styles, CSS and some preprocessor
    • Add linting for styles
  • Add auto versioning via conventional commits
    • Also publishing for fun? via Github actions maybe?
  • React strict mode
  • Acceptance tests
  • E2E tests