https://github.com/myterminal/template-web-app-parcel
A template to create web applications on Node.js with Parcel.js as the bundler [out-of-sync]
https://github.com/myterminal/template-web-app-parcel
expressjs nodejs parcel-bundler template
Last synced: 2 months ago
JSON representation
A template to create web applications on Node.js with Parcel.js as the bundler [out-of-sync]
- Host: GitHub
- URL: https://github.com/myterminal/template-web-app-parcel
- Owner: myTerminal
- License: other
- Created: 2018-01-09T16:32:31.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-09-09T19:02:01.000Z (almost 6 years ago)
- Last Synced: 2025-10-12T12:11:33.933Z (9 months ago)
- Topics: expressjs, nodejs, parcel-bundler, template
- Language: JavaScript
- Homepage:
- Size: 3.13 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# template-web-app-parcel
[](https://creativecommons.org/licenses/by-nc-sa/4.0)
A template to create web applications on Node.js with [Parcel.js](https://parceljs.org) as the bundler
## Technologies
### Server
[Express](https://www.npmjs.com/package/express) as the web server with [body parser](https://www.npmjs.com/package/body-parser) to serve static resources.
### Client
#### Web Application
- [React](https://facebook.github.io/react/)
- [ReactDOM](https://facebook.github.io/react/docs/react-dom.html)
- [ReactRouterDOM](https://www.npmjs.com/package/react-router-dom)
- [Bootstrap 3](https://getbootstrap.com/docs/3.3/)
- [Font Awesome](http://fontawesome.io/)
- [jQuery](https://jquery.com/) as a dependency for Bootstrap
- [ES2015](http://es6-features.org/)
- [Less CSS](http://lesscss.org/)
#### Module bundler: Parcel
All you need is [parcel-bundler](https://www.npmjs.com/package/parcel-bundler) and it takes care of almost everything implicitly.
##### A few other packages
- [babel-core](https://www.npmjs.com/package/babel-core), [babel-preset-env](https://www.npmjs.com/package/babel-preset-env) to transpile ES2015 scripts to regular JavaScript and [bable-preset-react](https://www.npmjs.com/package/babel-preset-react) to transpile JSX files to regular JavaScript files that web-browsers can interpret but no [babel-core](https://www.npmjs.com/package/babel-core)!
- [less](https://www.npmjs.com/package/less) to help parcel-bundler with transpilation of Less CSS into regular CSS (if you do not include this, parcel-bundle automatically adds it)
- [effortless-css](https://www.npmjs.com/package/effortless-css) to provide Less CSS mixins
- [eslint](https://www.npmjs.com/package/eslint) and [babel-eslint](https://www.npmjs.com/package/babel-eslint) for running ESLint to lint JavaScript files
- [eslint-config-myterminal](https://www.npmjs.com/package/eslint-config-myterminal), [eslint-config-airbnb](https://www.npmjs.com/package/eslint-config-airbnb), [eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import), [eslint-plugin-jsx-a11y](https://www.npmjs.com/package/eslint-plugin-jsx-a11y) and [eslint-plugin-react](https://www.npmjs.com/package/eslint-plugin-react) to support eslint
##### Commands
- `npm run develop` to instruct parcel-bundler to build the website, keep watching for file changes within the source and reload the web-browser on every change.
- `npm run live` to instruct parcel-bundler to build the website, keep watching for file changes within the source and reload the web-browser on every change.
In this mode, parcel-bundler also starts a web-server of its own.
Please note that Express is not the web-server in this mode and hence any web-services implemented in "src\server\index.js" will not work.
- `npm run build` to instruct parcel-bundler to build the website and stop.
- `npm run lint` to run ESLint on all JavaScript source files.
## To-Do
- Find a way to generate source-maps
- Find a way to copy favicon.ico and other data for the website
- Find a way to write and run tests