https://github.com/naturalcycles/js-platform
Overview of Natural Cycles JS Platform
https://github.com/naturalcycles/js-platform
js meta platform typescript
Last synced: about 2 months ago
JSON representation
Overview of Natural Cycles JS Platform
- Host: GitHub
- URL: https://github.com/naturalcycles/js-platform
- Owner: NaturalCycles
- Created: 2020-06-11T07:11:05.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-07-08T16:08:54.000Z (almost 5 years ago)
- Last Synced: 2025-01-24T12:32:32.111Z (3 months ago)
- Topics: js, meta, platform, typescript
- Homepage:
- Size: 3.91 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
## Natural Cycles JS Platform
Natural Cycles JS Platform is an opinionated stack of tools that work well together.
## Highlights
- [Architecture choices](#architecture-choices)
- [NPM packages](#npm-packages)
- [CI](#ci)
- [Blessed packages](#blessed-packages)## Architecture choices
- TypeScript
- prettier
- Jest
- yarn
- CircleCI
- Express.js
- NoSQL## NPM packages
###### Kick-start a new package
- [generator-nodejs-lib](https://github.com/NaturalCycles/generator-nodejs-lib)
- [generator-backend-service](https://github.com/NaturalCycles/generator-backend-service)###### devDependencies
- [dev-lib](https://github.com/NaturalCycles/dev-lib)
- [cli](https://github.com/NaturalCycles/cli)
- [semantic-release](https://github.com/NaturalCycles/semantic-release)###### Universal (Node.js + Browser)
- [js-lib](https://github.com/NaturalCycles/js-lib)
- [time-lib](https://github.com/NaturalCycles/time-lib)###### Node.js
- [nodejs-lib](https://github.com/NaturalCycles/nodejs-lib)
- [db-lib](https://github.com/NaturalCycles/nodejs-lib)
- [mongo-lib](https://github.com/NaturalCycles/mongo-lib)
- [firestore-lib](https://github.com/NaturalCycles/firestore-lib)
- [datastore-lib](https://github.com/NaturalCycles/datastore-lib)
- [mysql-lib](https://github.com/NaturalCycles/mysql-lib)
- [redis-lib](https://github.com/NaturalCycles/redis-lib)
- [airtable-lib](https://github.com/NaturalCycles/airtable-lib)
- [spreadsheet-lib](https://github.com/NaturalCycles/spreadsheet-lib)
- [github-db](https://github.com/NaturalCycles/github-db)
- sqlite-lib (in progress)
- [fs-lib](https://github.com/NaturalCycles/fs-lib)
- [scrubber-lib](https://github.com/NaturalCycles/scrubber-lib)###### Frontend
- [frontend-lib](https://github.com/NaturalCycles/nodejs-lib)
###### Backend
- [backend-lib](https://github.com/NaturalCycles/nodejs-lib)
### Experimental
Packages that haven't yet proven their usefullness. API may change without notice.
- [junit-lib](https://github.com/NaturalCycles/junit-lib)
- [json2html](https://github.com/NaturalCycles/json2html)
- [puppeteer-lib](https://github.com/NaturalCycles/yeoman-lib)
- [grafana-lib](https://github.com/NaturalCycles/yeoman-lib)
- [yeoman-lib](https://github.com/NaturalCycles/yeoman-lib)
- [bench-lib](https://github.com/NaturalCycles/bench-lib)
- e2e-lib (todo)# CI
All packages follow [SemVer](https://semver.org/) (as opposed to [Sentimental versioning](http://sentimentalversioning.org/)) and [Conventional commits](https://www.conventionalcommits.org).
Versions are bumped and released automatically by using [semantic-release](https://github.com/semantic-release/semantic-release).
Current CI of choice is CircleCI, but may be switched to Github Actions in future.
Common CI configuration is abstracted via [orbs](https://github.com/NaturalCycles/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