jentil
v0.0.1-alpha.10
Published
Jentil is a set of (typescript) tools to use in a monorepo.
Downloads
1
Readme
Jentil
Jentil is a set of (typescript) tools to use in a monorepo.
Cli
jentil bootstrap
Add dependancies to tsconfig.base.json.
jentil run [command]
Run command on all packages or one if called relative from a app or lib.
Options
---scope
jentil node [file]
Run or build node with all dependancies resolved.
Options
---project
Path to tsconfig.json to use.
---watch
If this is given we watch & run, if not given we build only.
---out
File to compile to.
jentil convert
Collect packages from
Compared to other tools
Lerna
Lerna is build for libraries publisched to npm. Jentil is for applications, no need for multiple package.json, which makes it easier to manage dependancies.
Nrwl
The problem with Nrwl is that you are dependent on what it supports. Jentil is only a set of tools you can use, you are in control of your build setup.
One example is a custom nextjs with typescript is not supported with nrwl: https://github.com/nrwl/nx/issues/1933
Also one big confuration is very hard to maintain: https://github.com/nrwl/nx/issues/2643
How to use
And run jentil bootstrap
everytime you add a app/library.
Make shoure you add "extends": "../../tsconfig.base.json",
to every tsconfig.json.
API
Next
const withJentil = require("jentil/next")
const path = require('path')
module.exports = withJentil({
jentil: {
root: path.resolve(__dirname, "..", "..")
}
})
Webpack
const getWebpack = require("jentil/webpack")
const path = require('path')
const { rule, alias } = getWebpack(path.resolve(__dirname, "..", ".."))
module.exports = {
module: {
rules: [
rule
]
}
//...
resolve: {
// configuration options
alias
}
};