0.10.0 • Published 10 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
10 months ago
0.9.1
10 months ago
0.8.4
11 months ago
0.5.7
12 months ago
0.9.0
11 months ago
0.8.1
11 months ago
0.7.2
11 months ago
0.5.4
12 months ago
0.8.0
11 months ago
0.7.1
11 months ago
0.6.2
11 months ago
0.5.3
12 months ago
0.8.3
11 months ago
0.5.6
12 months ago
0.8.2
11 months ago
0.5.5
12 months ago
0.5.0
12 months ago
0.7.0
11 months ago
0.6.1
11 months ago
0.5.2
12 months ago
0.6.0
11 months ago
0.5.1
12 months 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