0.10.0 • Published 11 months ago
@aegenet/yawt v0.10.0
Yawt
Yet Another Workspace Toolkit - The purpose of this package is to provide a set of tools to help you manage your workspace.
💾 Installation
npm i @aegenet/yawt -D
# or
yarn add @aegenet/yawt -D
📝 Config files (./)
./.build/yawt.config.json
[{
"name": "lib",
"links": [],
"dependencies": [],
"publish": false
}, {
"name": "app",
"links": ["lib"],
"dependencies": ["lib"],
"publish": true
}]
eslint.config.mjs
(ESM)
import { eslintConfigurator } from '@aegenet/yawt';
export default eslintConfigurator();
- Or with CommonJS
eslint.config.cjs
const { eslintConfigurator } = require('@aegenet/yawt');
module.exports = eslintConfigurator();
prettier.config.mjs
import { prettierConfigurator } from '@aegenet/yawt';
export default prettierConfigurator();
- Or with CommonJS
prettier.config.cjs
const { prettierConfigurator } = require('@aegenet/yawt');
module.exports = prettierConfigurator();
vite.config.mjs
import { viteConfigurator } from '@aegenet/yawt';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
export default viteConfigurator({
cwd: dirname(fileURLToPath(import.meta.url)),
libName: '@sample/lib',
entryPoint: './src/index.ts',
nodeExternal: true,
});
rollup.config.dts.mjs
import { rollupDTSConfigurator } from '@aegenet/yawt';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
export default rollupDTSConfigurator({
cwd: dirname(fileURLToPath(import.meta.url)),
libName: '@sample/lib',
entryPoint: './src/index.ts',
nodeExternal: true,
});
tsconfig.json
{
"extends": "./node_modules/@aegenet/yawt/tsconfig.base.json",
"exclude": [
"./node_modules",
],
"include": [
"src"
]
}
🖹 Exports
Name | Description |
---|---|
eslintConfigurator | Configuration for eslint |
prettierConfigurator | Configuration for prettier |
viteConfigurator | Configuration for vite (and vitest) |
rollupDTSConfigurator | Configuration for generate typings |
yawt | Yawt API |
CLI
# With workspace
yawt --task=build
# or without workspace
yawt --task=build --single
The selected task will be executed on all projects in the workspace.
Task | Description |
---|---|
version | Apply version to all projects. |
build | npm run build |
test | check package exports && npm run test |
lint | npm run lint |
dependencies | npm i & npm link all links |
upgrade | remove ./node_modules , package-lock.json & npm i |
publish | remove devDependencies, scripts, ./dist/*/.map & npm publish (you can keep the .map with --param=keep-map or/and (re)generate the package-lock.json with --param=package-lock ) |
Task | Description |
---|---|
upgradeForce | remove ./node_modules , package-lock.json & npm upgrade --latest |
clean | npm run clean |
deleteNodeModules | Remove ./node_modules |
regenPackageLock | (Re)Generate the package-lock.json (even if it's a npm workspace) |
forEach | The purpose of this task is to run a script for each project. Usage: yawt --task=forEach --param=cspell . |
forEachRaw | The purpose of this task is to run a command for each project. Usage: yawt --task=forEachRaw --param="echo hello" . |
Coverage
📝 License
The MIT License - Copyright © 2024 Alexandre Genet.
0.10.0
11 months ago
0.9.1
11 months ago
0.8.4
12 months ago
0.5.7
1 year ago
0.9.0
12 months ago
0.8.1
1 year ago
0.7.2
1 year ago
0.5.4
1 year ago
0.8.0
1 year ago
0.7.1
1 year ago
0.6.2
1 year ago
0.5.3
1 year ago
0.8.3
12 months ago
0.5.6
1 year ago
0.8.2
12 months ago
0.5.5
1 year ago
0.5.0
1 year ago
0.7.0
1 year ago
0.6.1
1 year ago
0.5.2
1 year ago
0.6.0
1 year ago
0.5.1
1 year ago
0.4.1
1 year ago
0.4.0
1 year ago
0.3.2
1 year ago
0.3.1
1 year ago
0.3.0
1 year ago
0.2.0
1 year ago
0.1.0
1 year ago