ajs scripts
this is a fork
Table of Contents
Installation
This module is distributed via npm which is bundled with node and
should be installed as one of your project's devDependencies
:
npm install --save-dev ajs-scripts
Usage
You'll find all available scripts in src/scripts
.
Overriding Config
Unlike react-scripts
, ajs-scripts
allows you to specify your own
configuration for things and have that plug directly into the way things work
with ajs-scripts
. There are various ways that it works, but basically if you
want to have your own config for something, just add the configuration and
ajs-scripts
will use that instead of it's own internal config. In addition,
ajs-scripts
exposes its configuration so you can use it and override only the
parts of the config you need to.
This can be a very helpful way to make editor integration work for tools like ESLint which require project-based ESLint configuration to be present to work.
So, if we were to do this for ESLint, you could create an .eslintrc
with the
contents of:
{"extends": "./node_modules/kcd-scripts/eslint.js"}
Note: for now, you'll have to include an
.eslintignore
in your project until this eslint issue is resolved.
Or, for babel
, a .babelrc
with:
{"presets": ["kcd-scripts/babel"]}
Or, for jest
:
const {jest: jestConfig} = require('kcd-scripts/config')
module.exports = Object.assign(jestConfig, {
// your overrides here
// for test written in Typescript, add:
transform: {
'\\.(ts|tsx)$': '<rootDir>/node_modules/ts-jest/preprocessor.js',
},
})
Note:
kcd-scripts
intentionally does not merge things for you when you start configuring things to make it less magical and more straightforward. Extending can take place on your terms. I think this is actually a great way to do this.
TypeScript Support
If the tsconfig.json
-file is present in the project root directory and
typescript
is a dependency the @babel/preset-typescript
will automatically
get loaded when you use the default babel config that comes with kcd-scripts
.
If you customized your .babelrc
-file you might need to manually add
@babel/preset-typescript
to the presets
-section.
kcd-scripts
will automatically load any .ts
and .tsx
files, including the
default entry point, so you don't have to worry about any rollup configuration.
If you have a typecheck
script (normally set to kcd-scripts typecheck
) that
will be run as part of the validate
script (which is run as part of the
pre-commit
script as well).
TypeScript definition files will also automatically be generated during the
build
script.
Inspiration
This is inspired by react-scripts
.
Other Solutions
If you are aware of any please make a pull request and add it here! Again, this is a very specific-to-me solution.
- Rollpkg - convention over config build tool to create packages with TypeScript and Rollup.
Issues
Looking to contribute? Look for the Good First Issue label.
π Bugs
Please file an issue for bugs, missing documentation, or unexpected behavior.
π‘ Feature Requests
Please file an issue to suggest new features. Vote on feature requests by adding a π. This helps maintainers prioritize what to work on.
Contributors β¨
Thanks goes to these people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
LICENSE
MIT