Skip to content

NPM package which includes all asset linting and build tools for Pressbooks projects.

License

Notifications You must be signed in to change notification settings

pressbooks/pressbooks-build-tools

Repository files navigation

Pressbooks Build Tools

npm GitHub release license

NPM package which includes all asset linting and build tools for Pressbooks projects.

How To install

npm i -D pressbooks-build-tools

Usage

Laravel Mix

Pressbooks Build Tools includes Laravel Mix, which can be configured and used according to the project's documentation.

ESLint

Pressbooks Build Tools includes ESLint. Pressbooks' ESLint configuration can be used in your project by adding the following to your ESLint configuration:

"eslintConfig": {
    "extends": "./node_modules/pressbooks-build-tools/config/eslint.js"
}

Stylelint

Pressbooks Build Tools includes Stylelint. Pressbooks' Stylelint configuration can be used in your project by adding the following to your package.json file:

"stylelint": {
    "extends": "./node_modules/pressbooks-build-tools/config/stylelint.js"
}

Upgrading to 3.0

Version 3.0 of pressbooks-build-tools includes Laravel Mix 6.0, and as such will require some changes to build scripts wherever it is used. For example, the build task used in testing this package used to require the following script:

cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

The same build task can now be run using a new mix executable with an appropriate flag:

mix --production

For the full list of scripts and their replacements, see the Laravel Mix documentation.

Test Your Changes

This repo includes a boilerplate webpack.mix.js configuration used to test that, at the very least, .js and .scss files compile and that linters run. To run the test do:

npm install
npm test

Expected: No errors. Everything is fine.