/js-platform

Overview of Natural Cycles JS Platform

Natural Cycles JS Platform

Natural Cycles JS Platform is an opinionated stack of tools that work well together.

Highlights

Architecture choices

  • TypeScript
  • prettier
  • Jest
  • yarn
  • CircleCI
  • Express.js
  • NoSQL

NPM packages

Kick-start a new package
devDependencies
Universal (Node.js + Browser)
Node.js
Frontend
Backend

Experimental

Packages that haven't yet proven their usefullness. API may change without notice.

CI

All packages follow SemVer (as opposed to Sentimental versioning) and Conventional commits.

Versions are bumped and released automatically by using semantic-release.

Current CI of choice is CircleCI, but may be switched to Github Actions in future.

Common CI configuration is abstracted via orbs.

Blessed packages

Already included in libs

  • linting / formatting
    • prettier
    • tslint (to be replaced by ESLint)
    • husky
    • lint-staged
  • testing
    • jest
    • test-cafe
  • cli / tools
    • yargs (alternatives: commander)
    • inquirer (alternatives: enquirer)
    • fs-extra
    • execa
    • globby
    • chalk (alternatives: ansi-colors)
    • dotenv
    • semver
    • lru-cache
    • cheerio
  • typescript
    • ts-node
    • tsconfig-paths
  • process management
    • nodemon
  • validation
    • Joi
  • date/time
    • dayjs
    • timekeeper
  • data / parsers
    • marked
    • yamljs
    • json5
  • http
    • got
    • getGot
    • ky

Not included in libs

  • templating
    • ejs (alternative: nunjucks)
    • bcryptjs
    • node-schedule