pob 40.3.2 → 40.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/generators/app/PobAppGenerator.js +24 -4
- package/lib/generators/common/format-lint/CommonLintGenerator.js +14 -2
- package/lib/generators/common/husky/CommonHuskyGenerator.js +3 -1
- package/lib/generators/common/testing/CommonTestingGenerator.js +10 -2
- package/lib/generators/common/transpiler/CommonTranspilerGenerator.js +11 -9
- package/lib/generators/common/typescript/CommonTypescriptGenerator.js +110 -38
- package/lib/generators/core/bun/CoreBunGenerator.js +1 -1
- package/lib/generators/core/ci/CoreCIGenerator.js +4 -1
- package/lib/generators/core/git/CoreGitGenerator.js +2 -0
- package/lib/generators/core/git/generators/github/CoreGitGithubGenerator.js +1 -0
- package/lib/generators/core/package/CorePackageGenerator.js +12 -3
- package/lib/generators/core/pnpm/CorePnpmGenerator.js +8 -2
- package/lib/generators/core/vscode/CoreVSCodeGenerator.js +9 -0
- package/lib/generators/core/vscode/templates/extensions.json.ejs +2 -1
- package/lib/generators/core/vscode/templates/settings.json.ejs +5 -0
- package/lib/generators/core/yarn/CoreYarnGenerator.js +6 -2
- package/lib/generators/lib/PobLibGenerator.js +15 -13
- package/lib/generators/monorepo/PobMonorepoGenerator.js +44 -6
- package/lib/generators/monorepo/typescript/MonorepoTypescriptGenerator.js +13 -1
- package/lib/generators/monorepo/typescript/templates/tsconfig.tools.json.ejs +7 -0
- package/lib/generators/monorepo/workspaces/MonorepoWorkspacesGenerator.js +7 -2
- package/lib/generators/pob/PobBaseGenerator.js +4 -2
- package/lib/pob.js +75 -5
- package/lib/utils/alouette.js +18 -0
- package/lib/utils/appTsconfigTarget.js +60 -0
- package/lib/utils/appTsconfigTarget.test.js +169 -0
- package/lib/utils/nodeApps.js +8 -0
- package/lib/utils/packageManagerWorkspacesUtils.js +36 -0
- package/lib/utils/rollupConfigDependencies.js +17 -0
- package/lib/utils/rollupConfigDependencies.test.js +48 -0
- package/package.json +5 -5
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { getRollupConfigDependencies } from "./rollupConfigDependencies.js";
|
|
3
|
+
|
|
4
|
+
const plugin = {
|
|
5
|
+
name: "alp-rollup-plugin-config",
|
|
6
|
+
scripts: { build: "rollup --config rollup.config.mjs" },
|
|
7
|
+
};
|
|
8
|
+
const lib = { name: "alp-node", scripts: { build: "rollup" } };
|
|
9
|
+
|
|
10
|
+
const appConfig = `import createRollupConfig from "@pob/rollup-esbuild/createRollupConfig.js";
|
|
11
|
+
import config from "alp-rollup-plugin-config";
|
|
12
|
+
`;
|
|
13
|
+
|
|
14
|
+
describe("getRollupConfigDependencies", () => {
|
|
15
|
+
it("returns workspace packages imported by a rollup config", () => {
|
|
16
|
+
expect(getRollupConfigDependencies([lib, plugin], [appConfig])).toEqual([
|
|
17
|
+
"alp-rollup-plugin-config",
|
|
18
|
+
]);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it("detects single quotes and subpath imports", () => {
|
|
22
|
+
expect(
|
|
23
|
+
getRollupConfigDependencies(
|
|
24
|
+
[plugin],
|
|
25
|
+
["import config from 'alp-rollup-plugin-config/plugin.js';"],
|
|
26
|
+
),
|
|
27
|
+
).toEqual(["alp-rollup-plugin-config"]);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it("ignores packages whose name is only a prefix of the import", () => {
|
|
31
|
+
expect(
|
|
32
|
+
getRollupConfigDependencies(
|
|
33
|
+
[{ name: "alp", scripts: { build: "rollup" } }],
|
|
34
|
+
[appConfig],
|
|
35
|
+
),
|
|
36
|
+
).toEqual([]);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it("ignores packages without build script", () => {
|
|
40
|
+
expect(
|
|
41
|
+
getRollupConfigDependencies([{ name: plugin.name }], [appConfig]),
|
|
42
|
+
).toEqual([]);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it("returns nothing without rollup configs", () => {
|
|
46
|
+
expect(getRollupConfigDependencies([plugin], [])).toEqual([]);
|
|
47
|
+
});
|
|
48
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pob",
|
|
3
|
-
"version": "40.
|
|
3
|
+
"version": "40.4.0",
|
|
4
4
|
"description": "Pile of bones, library generator with git/babel/typescript/typedoc/readme/vitest",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"skeleton"
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@pob/codemods": "0.18.2",
|
|
35
|
-
"@pob/eslint-config": "68.
|
|
36
|
-
"@pob/eslint-config-typescript-react": "68.
|
|
35
|
+
"@pob/eslint-config": "68.1.0",
|
|
36
|
+
"@pob/eslint-config-typescript-react": "68.1.0",
|
|
37
37
|
"@pob/sort-object": "11.2.0",
|
|
38
38
|
"@pob/sort-pkg": "13.2.0",
|
|
39
39
|
"@types/inquirer": "9.0.10",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"minimist": "1.2.8",
|
|
52
52
|
"oxfmt": "0.72.0",
|
|
53
53
|
"parse-author": "2.0.0",
|
|
54
|
-
"pob-dependencies": "28.
|
|
54
|
+
"pob-dependencies": "28.3.0",
|
|
55
55
|
"semver": "7.8.5",
|
|
56
56
|
"typescript": "npm:@typescript/typescript6@6.0.2",
|
|
57
57
|
"validate-npm-package-name": "^8.0.0",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"yeoman-generator": "10.3.0"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@pob/root": "28.
|
|
62
|
+
"@pob/root": "28.3.0",
|
|
63
63
|
"@types/node": "24.19.1",
|
|
64
64
|
"@typescript/native": "npm:typescript@7.0.2",
|
|
65
65
|
"@yeoman/types": "1.13.1",
|