All Projects → textbook → starter-kit

textbook / starter-kit

Licence: ISC license
Starter kit for full-stack JavaScript projects

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects
Dockerfile
14818 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to starter-kit

Nucleus
Platform as a Service API abstraction layer.
Stars: ✭ 28 (+33.33%)
Mutual labels:  heroku, cloud-foundry
heroku-buildpack-deno
Heroku Buildpack for Deno
Stars: ✭ 72 (+242.86%)
Mutual labels:  heroku, cloud-foundry
Ng Demo
🦴 Bare Bones Angular 10 and Angular CLI Tutorial
Stars: ✭ 154 (+633.33%)
Mutual labels:  heroku, cloud-foundry
Gautocloud
A golang library to let cloud applications connect automatically to services.
Stars: ✭ 17 (-19.05%)
Mutual labels:  heroku, cloud-foundry
Idea Live Templates
My IntelliJ Live Templates
Stars: ✭ 207 (+885.71%)
Mutual labels:  heroku, cloud-foundry
telemirror
Telegram forwarder from channels via Telegram Client API (telethon)
Stars: ✭ 66 (+214.29%)
Mutual labels:  heroku
buildpacks-ruby
An experimental Cloud Native Buildpack for Ruby
Stars: ✭ 15 (-28.57%)
Mutual labels:  heroku
Tasks
Simple tasks & notes manager written in PHP, jQuery and Bootstrap using a custom flat file database.
Stars: ✭ 102 (+385.71%)
Mutual labels:  heroku
odoo-cypress
Odoo Framework E2E Testing using Cypress
Stars: ✭ 19 (-9.52%)
Mutual labels:  cypress
cypress-browserify-preprocessor
Cypress preprocessor for bundling JavaScript via browserify
Stars: ✭ 23 (+9.52%)
Mutual labels:  cypress
teller
Cloud native secrets management for developers - never leave your command line for secrets.
Stars: ✭ 998 (+4652.38%)
Mutual labels:  heroku
cypress-upload-file-post-form
Solution for two Cypress testing use-cases I came across with: perform a direct http FORM request to the server containing a file and other parameters and upload a file into a form before submission
Stars: ✭ 59 (+180.95%)
Mutual labels:  cypress
IsSeptaFcked
Real-time status for Philadelphia Regional Rail
Stars: ✭ 47 (+123.81%)
Mutual labels:  heroku
xvfb
Easily start and stop an X Virtual Frame Buffer from your node apps
Stars: ✭ 35 (+66.67%)
Mutual labels:  cypress
telegram-bot-tutorial
Telegram bot tutorial using python and flask
Stars: ✭ 44 (+109.52%)
Mutual labels:  heroku
django-kcproject-starter
Kickstart Coding's Django Project Starter Template
Stars: ✭ 14 (-33.33%)
Mutual labels:  heroku
cypress-slack-reporter
A home for various Cypress Plugins
Stars: ✭ 126 (+500%)
Mutual labels:  cypress
ChartTheStockMarket
🔥 📈 💸 Chart the Stock Market - FCC Challenge
Stars: ✭ 39 (+85.71%)
Mutual labels:  heroku
akamai-collector
Akamai sensor data collector with API and database support!
Stars: ✭ 60 (+185.71%)
Mutual labels:  heroku
ai-image-recognition-web
Derin Öğrenme Kütüphanesi Keras ile Python Flask Web Framework Üzerinde Nesne Tanıma Uygulaması - https://vision-image-classify.herokuapp.com/
Stars: ✭ 24 (+14.29%)
Mutual labels:  heroku

Starter Kit

Node.js CI

Deploy to Heroku

Scripts

Various scripts are provided in the package file, but many are helpers for other scripts; here are the ones you'll commonly use:

  • dev: starts the frontend and backend in dev mode, with file watching (note that the backend runs on port 3100, and the frontend is proxied to it).
  • e2e: builds and starts the app in production mode and runs the Cypress tests against it.
  • e2e:dev: builds and starts the app in dev mode and runs the Cypress tests against it.
  • e2e:local: opens Cypress on the desktop, instead of running it in the background. Doesn't start the app.
  • lint: runs ESLint against all the JavaScript in the project.
  • serve: builds and starts the app in production mode locally.
  • ship: runs lint, then test, then e2e; ideal before a git push.
  • test: runs the Jest unit and integration tests.
  • test:cover: runs the tests and outputs coverage data.
  • test:watch: runs the unit and integration tests in watch mode.

Debugging

While running the dev mode using npm run dev, you can attach the Node debugger to the server process via port 9229. If you're using VS Code, a debugging configuration is provided for this.

There is also a VS Code debugging configuration for the Chrome debugger, which requires the recommended Chrome extension, for debugging the client application.

Troubleshooting

See the guidance in the wiki.

Rationale

Partly I wrote this to explore what things like Create React App (CRA) are doing under the hood with Babel and Webpack. Partly it was to simplify a previous starter kit, so there aren't multiple package entry points complicating the automation and it's not using copy (which caused cross-platform issues on Windows).

Pros

  • A single root ESLint configuration keeps the project's code consistent to minimise context switching
  • Having Jest running once for the whole project means you can run test:watch and see the tests related to changes anywhere in the codebase
  • Less hidden "magic" config than when using CRA
  • Simpler orchestration with a single NPM entry point

Cons

  • The single package.json is getting a bit unwieldy; there are 20+ scripts and it's unclear what part of the app each dev dependency is for (if you're using NPM 8 you can see one alternative for this using workspaces in Impasse, which was based on this starter kit)
  • Cypress only runs in Electron/Chrome (for a more cross-browser alternative, see Codecept)

To consider

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].