pree

a build tool for no-build websites

MIT License

Downloads
96
Stars
7

A CLI that prebuilds HTML files. Use it to build websites with plain HTML, CSS and JS.

๐Ÿงฌ It pre-renders web components (docs), ๐Ÿ—๏ธ It handles layouting and metadata (docs), ๐Ÿ‘ป It manages build-only components and scripts (docs), โœจ It gets components and scripts access to build environment (docs).

pree view     <src>                      # ๐Ÿ‘‰ preview your website
pree build    <src> <dest>               # ๐Ÿ‘‰ prebuild your website

Usage

๐Ÿ‘‰ Write plain HTML, CSS and JavaScript for your website. Assuming your HTML files and your assets are in src folder, preview your website:

npx pree view src

๐Ÿ‘‰ And prebuild it into dest folder:

npx pree build src dest

[!IMPORTANT] ๐Ÿ“– Read the documentation for more info.

Credits

pree is built on top of the following open-source projects (amongst others). For a more complete list, check out the credits page.

  • puppeteer: for prebuilding pages and pre-rendering web components.
  • koa: for serving content and layouting.
  • cheerio: for manipulating HTML (e.g. layouting).
  • gray-matter: for parsing front matter.
  • chokidar: for watching files.
  • chalk: for all the colors.
  • yargs: for parsing command line arguments.
  • yaml: for parsing CLI config.

Contribution

You need node, NPM to start and git to start.

# clone the code
git clone [email protected]:loreanvictor/pree.git
# install stuff
npm i

Make sure all checks are successful on your PRs. This includes all tests passing, high code coverage, correct typings and abiding all the linting rules. The code is typed with TypeScript, Jest is used for testing and coverage reports, ESLint and TypeScript ESLint are used for linting. Subsequently, IDE integrations for TypeScript and ESLint would make your life much easier (for example, VSCode supports TypeScript out of the box and has this nice ESLint plugin), but you could also use the following commands:

# run tests
npm test
# check code coverage
npm run coverage
# run linter
npm run lint
# run type checker
npm run typecheck
Package Rankings
Top 40.52% on Npmjs.org
Badges
Extracted from project README
npm GitHub Workflow Status
Related Projects