https://github.com/ehgoodenough/codeglue
A good enough build system.
https://github.com/ehgoodenough/codeglue
build tool
Last synced: 5 months ago
JSON representation
A good enough build system.
- Host: GitHub
- URL: https://github.com/ehgoodenough/codeglue
- Owner: ehgoodenough
- Created: 2016-12-08T07:37:58.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-01-11T02:41:32.000Z (over 2 years ago)
- Last Synced: 2025-09-03T07:44:02.458Z (10 months ago)
- Topics: build, tool
- Language: JavaScript
- Size: 550 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Codeglue #


A good enough build system.
### Usage ###
To run a build, call `codeglue`.
To run the build server, call `codeglue --mode=server`.
You can optionally add either `--stage=development` or `--stage=production`.
### Documentation ###
```
├── source
│ ├── index.html
│ ├── index.css
│ └── index.js
├── package.json
├── .gitignore
└── .eslintrc
```
#### `codeglue` ####
Will build from source. It starts with the indexes, like "./source/index.js", and compiles together any and all dependencies (and all dependencies of those dependencies). To declare a dependency in JS, use `import`, or in CSS, use `@import`. If an error is found in any of the sources, the build is aborted, and the error is reported. When the build is done, the files are put in the "./build/web" directory.
#### `codeglue --mode=server` ####
Will build from source and host the build at [localhost:8080](http://localhost:8080). The sources are compiled as detailed above. If, after that, any of the sources are changed, the script will automatically rebuild them, and automatically refresh the build that the server is hosting.
#### `codeglue --mode=deploy` ####
Will build from source and bundle them into executables. The executables support Windows, Mac, and Linux. The executables also include an inlined webpage, or `web1`, which can be run in Chrome, Firefox, Opera, and Safari.
#### `codeglue --stage=(development|production)` ####
Will build from source for a specific stage, like `--stage=development` or `--stage=production`. If neither is specified, the stage defaults to development. A variable named `STAGE` is injected into the code, which will return either `PRODUCTION` or `DEVELOPMENT`. During a production build, the sources are minified and uglified and concatenated.
### Technologies ###
Codeglue is just a bunch of other build tools setup together:
- [Babel](https://babeljs.io)
- [Esbuild](https://esbuild.github.io/)
- [BrowserSync](https://www.browsersync.io)
### Migration from v1 to v2 ###
- No longer need your own babelrc
- Presumes preact.
- Uses .jsx for preact.
- Demands a source/codeglue.js
- No longer allows root directory imports.
- Must have package type of module.
- HTML must import index.css
### License ###
This project is licensed under the MIT license.