ngx-ws 1.0.3 → 1.1.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/README.md CHANGED
@@ -1,46 +1,101 @@
1
- # ngx-ws
1
+ # 🚀 ngx-ws
2
2
 
3
- **Tool to generate [angular.json](https://angular.io/guide/workspace-config) from human readable definitions.**
3
+ **Generate [angular.json](https://angular.io/guide/workspace-config) from modular, human-friendly definitions.**
4
4
 
5
- ## Features
5
+ Easily split a large `angular.json` into modular, project-local files using the power of [JSON References](https://www.npmjs.com/package/@apidevtools/json-schema-ref-parser), with the convenience of [YAML](https://yaml.org/) and [JSON5](https://json5.org/) formats.
6
6
 
7
- - [YAML](https://yaml.org/) and [JSON5](https://json5.org/) support.
8
- - [JSON Reference](https://tools.ietf.org/id/draft-pbryan-zyp-json-ref-03.html) support.
9
- - Recursive values interpolation.
10
- - Simplify [scripts, styles and assets](https://angular.io/guide/workspace-config#styles-and-scripts-configuration) configuration.
7
+ ---
8
+ ## 🛠️ How It Works
11
9
 
12
- ## Installation
10
+ 1. **Install `ngx-ws` globally** (using your preferred package manager):
13
11
 
14
- Install globally:
12
+ ```sh
13
+ npm install -g ngx-ws
14
+ # or
15
+ pnpm add -g ngx-ws
16
+ # or
17
+ yarn global add ngx-ws
18
+ ```
19
+
20
+ 2. **Navigate to your Angular project directory** (where `angular.json` is located):
21
+
22
+ ```sh
23
+ cd your-angular-project
24
+ ```
25
+
26
+ 3. **Initialize modular configuration files** from your existing `angular.json`:
27
+
28
+ ```sh
29
+ ngx-ws --build
30
+ ```
31
+
32
+ This generates `angular-workspace.yaml` and `angular-project.yaml` files.
33
+
34
+ 4. **Edit your configuration** in the new YAML files.
35
+ You can now manage your workspace and project settings in a modular, human-friendly format.
36
+
37
+ 5. **Regenerate `angular.json`** after making changes:
38
+
39
+ ```sh
40
+ ngx-ws -v
41
+ ```
42
+
43
+ This will update `angular.json` based on your YAML definitions.
44
+
45
+ ---
46
+
47
+ **Tip:**
48
+ Once set up, you can focus on editing `angular-workspace.yaml` and `angular-project.yaml`.
49
+ Let `ngx-ws` handle the generation of `angular.json` for you!
50
+
51
+ ## ✨ Features
52
+
53
+ - 📝 Supports [YAML](https://yaml.org/) and [JSON5](https://json5.org/) formats
54
+ - 🔗 Handles [JSON References](https://datatracker.ietf.org/doc/html/draft-pbryan-zyp-json-ref-03) for modular configuration
55
+ - 🔄 Recursive variable interpolation for flexible templating
56
+ - 🛠️ Simplifies configuration of [scripts, styles, and assets](https://angular.io/guide/workspace-config#styles-and-scripts-configuration)
57
+
58
+ ---
59
+
60
+ ## 📦 Installation
61
+
62
+ Install globally with npm:
15
63
 
16
64
  ```sh
17
- mpm install -g ngx-ws
65
+ npm install -g ngx-ws
18
66
  ```
19
67
 
20
- Or run with [npx](https://docs.npmjs.com/cli/v7/commands/npx):
68
+ Or use [npx](https://docs.npmjs.com/cli/v7/commands/npx) for one-off runs:
21
69
 
22
70
  ```sh
23
71
  npx ngx-ws
24
72
  ```
25
73
 
26
- ## Usage
74
+ ---
75
+
76
+ ## 🚦 Usage
27
77
 
28
- Run command in directory with `angular.json` file.
78
+ Run `ngx-ws` in a directory containing your `angular.json` file:
29
79
 
30
80
  ```sh
31
- rm angular.json ; ngx-ws -v
81
+ rm angular.json && ngx-ws -v
32
82
  ```
33
83
 
34
- See [example](https://github.com/saaivs/ng-multi-projects) and pay attention to [angular-workspace.yaml](https://github.com/saaivs/ng-multi-projects/blob/master/my-workspace/angular-workspace.yaml) and [angular-project.yaml](https://github.com/saaivs/ng-multi-projects/blob/master/my-workspace/projects/app1/angular-project.yaml) files.
84
+ - The tool will generate a new `angular.json` based on your modular workspace and project definitions.
35
85
 
36
- ## Options
86
+ **Example:**
87
+ See the [ngx-ws-example](https://github.com/art-ws/ngx-ws-example) repository.
88
+ Pay special attention to [angular-workspace.yaml](https://github.com/art-ws/ngx-ws-example/blob/master/angular-workspace.yaml) and [angular-project.yaml](https://github.com/art-ws/ngx-ws-example/blob/master/my-workspace/projects/app1/angular-project.yaml).
37
89
 
38
- ```text
39
- --deps Update package.json with project
40
- specific dependence's.
41
- --debug Debug mode (Don't delete temporary files).
42
- --dry-run Dry run.
43
- -v, --verbose Verbose output.
44
- --version Show version number.
45
- --help Show help.
46
- ```
90
+ ---
91
+
92
+ ## ⚙️ Options
93
+
94
+ | Option | Alias | Description |
95
+ | -------------- | ----- | ------------------------------------------------------------------ |
96
+ | `--build` | | Build files from `angular.json` |
97
+ | `--deps` | | Update `package.json` with project-specific dependencies |
98
+ | `--debug` | | Enable debug mode (retain temporary files) |
99
+ | `--dry-run` | | Preview changes without writing files |
100
+ | `--verbose` |`-v` | Enable verbose output |
101
+ | `--version` | | |
package/bin/index.js CHANGED
@@ -1,12 +1,18 @@
1
1
  #!/usr/bin/env node
2
- const path = require("path")
3
- const package = require(path.join(__dirname, "../package.json"))
4
- const { main } = require("../dist/index")
5
2
 
6
- const app = Object.keys(package.bin)[0]
3
+ import { join } from "path"
4
+ import { fileURLToPath } from 'url';
5
+ const dir = join(fileURLToPath(import.meta.url), '..');
6
+ import { readFileSync } from "fs";
7
+ const p = JSON.parse(readFileSync(join(dir, "../package.json"), "utf8"));
8
+ import { main } from "../dist/index.js";
9
+ import yargs from 'yargs';
10
+ import { hideBin } from 'yargs/helpers';
11
+
12
+ const app = Object.keys(p.bin)[0]
7
13
 
8
14
  // https://www.npmjs.com/package/yargs
9
- const { argv } = require("yargs")
15
+ const argv = yargs(hideBin(process.argv))
10
16
  .option("verbose", {
11
17
  alias: "v",
12
18
  type: "boolean",
@@ -16,13 +22,18 @@ const { argv } = require("yargs")
16
22
  type: "boolean",
17
23
  description: "Dry run",
18
24
  })
25
+ .option("build", {
26
+ alias: "b",
27
+ type: "boolean",
28
+ description: "Build the files from angular.json",
29
+ })
19
30
  .option("debug", {
20
31
  type: "boolean",
21
32
  description: "Debug mode",
22
33
  })
23
34
  .usage(`Usage: ${app}`)
24
35
  .epilog("https://art-ws.org, Copyright 2021")
25
- .example(app, package.description || "")
36
+ .example(app, p.description || "").parse();
26
37
 
27
38
  main({ argv, app }).catch((e) => {
28
39
  console.error(e)
@@ -0,0 +1,8 @@
1
+ export type WsFile = {
2
+ localPath: string;
3
+ content: string;
4
+ };
5
+ export declare function buildFiles(o: {
6
+ workingDir: string;
7
+ }): Promise<WsFile[]>;
8
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAsB,UAAU,CAAC,CAAC,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA8D7E"}
package/dist/build.js ADDED
@@ -0,0 +1,84 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import yaml from "js-yaml";
4
+ export async function buildFiles(o) {
5
+ // 1. Load angular.json
6
+ const angularJsonPath = path.join(o.workingDir, "angular.json");
7
+ if (!fs.existsSync(angularJsonPath))
8
+ throw new Error(`angular.json not found in ${o.workingDir}`);
9
+ const angularJson = JSON.parse(fs.readFileSync(angularJsonPath, "utf8"));
10
+ // 2. Prepare workspace YAML (angular-workspace.yaml)
11
+ const wsVars = {
12
+ projects: angularJson.newProjectRoot || "projects",
13
+ packageManager: angularJson.cli?.packageManager || "npm",
14
+ };
15
+ const wsYaml = {
16
+ vars: wsVars,
17
+ resources: {}, // Not available in angular.json, left empty
18
+ definitions: {}, // Not available in angular.json, left empty
19
+ angular: { ...angularJson, projects: undefined },
20
+ };
21
+ const wsFile = {
22
+ localPath: "angular-workspace.yaml",
23
+ content: yaml.dump(wsYaml, { lineWidth: 120 }),
24
+ };
25
+ // 3. Prepare per-project YAMLs
26
+ const projectFiles = [];
27
+ const projects = angularJson.projects || {};
28
+ for (const [name, project] of Object.entries(projects)) {
29
+ console.log(`Processing project: ${name}`);
30
+ // Guess vars for the project
31
+ const vars = {
32
+ name,
33
+ root: project.root || `projects/${name}`,
34
+ src: project.sourceRoot || `projects/${name}/src`,
35
+ };
36
+ if (project.projectType === "application") {
37
+ vars.environments = `${vars.src}/environments`;
38
+ vars.env = `${vars.environments}/environment`;
39
+ vars.styleExt =
40
+ project.architect?.build?.options?.inlineStyleLanguage || "scss";
41
+ }
42
+ // Compose project YAML
43
+ const projYaml = {
44
+ vars,
45
+ project,
46
+ };
47
+ const localPath = path.join(wsVars.projects, name, "angular-project.yaml");
48
+ let content = yaml.dump(projYaml, { lineWidth: 120 });
49
+ // Process variables in the content
50
+ content = processVars({
51
+ varsOrder: ["env", "environments", "styleExt", "root", "src", "name"],
52
+ vars,
53
+ content,
54
+ });
55
+ projectFiles.push({
56
+ localPath,
57
+ content,
58
+ });
59
+ }
60
+ return [wsFile, ...projectFiles];
61
+ }
62
+ function processVars(o) {
63
+ const { varsOrder, vars, content } = o;
64
+ let result = content;
65
+ for (const varName of varsOrder) {
66
+ const value = String(vars[varName]);
67
+ if (value) {
68
+ // Escape special regex characters in value
69
+ const escapedValue = value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
70
+ // Find all matches
71
+ const matches = [...result.matchAll(new RegExp(escapedValue, "g"))];
72
+ if (matches.length > 1) {
73
+ // Replace all except the first occurrence
74
+ let replaced = 0;
75
+ result = result.replace(new RegExp(escapedValue, "g"), (match) => {
76
+ replaced++;
77
+ return replaced === 1 ? match : `{{${varName}}}`;
78
+ });
79
+ }
80
+ }
81
+ }
82
+ return result;
83
+ }
84
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,SAAS,CAAC;AAO3B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,CAAyB;IACxD,uBAAuB;IACvB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAChE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAEzE,qDAAqD;IACrD,MAAM,MAAM,GAAwB;QAClC,QAAQ,EAAE,WAAW,CAAC,cAAc,IAAI,UAAU;QAClD,cAAc,EAAE,WAAW,CAAC,GAAG,EAAE,cAAc,IAAI,KAAK;KACzD,CAAC;IACF,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,EAAE,EAAE,4CAA4C;QAC3D,WAAW,EAAE,EAAE,EAAE,4CAA4C;QAC7D,OAAO,EAAE,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE;KACjD,CAAC;IACF,MAAM,MAAM,GAAW;QACrB,SAAS,EAAE,wBAAwB;QACnC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;KAC/C,CAAC;IAEF,+BAA+B;IAC/B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAM,QAAQ,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;QAC3C,6BAA6B;QAC7B,MAAM,IAAI,GAAwB;YAChC,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,YAAY,IAAI,EAAE;YACxC,GAAG,EAAE,OAAO,CAAC,UAAU,IAAI,YAAY,IAAI,MAAM;SAClD,CAAC;QACF,IAAI,OAAO,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,GAAG,eAAe,CAAC;YAC/C,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,cAAc,CAAC;YAC9C,IAAI,CAAC,QAAQ;gBACX,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,IAAI,MAAM,CAAC;QACrE,CAAC;QACD,uBAAuB;QACvB,MAAM,QAAQ,GAAwB;YACpC,IAAI;YACJ,OAAO;SACR,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAC3E,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAEtD,mCAAmC;QACnC,OAAO,GAAG,WAAW,CAAC;YACpB,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;YACrE,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;QAEH,YAAY,CAAC,IAAI,CAAC;YAChB,SAAS;YACT,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,WAAW,CAAC,CAIpB;IACC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,MAAM,GAAG,OAAO,CAAC;IACrB,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,CAAC;YACV,2CAA2C;YAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;YAClE,mBAAmB;YACnB,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,0CAA0C;gBAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/D,QAAQ,EAAE,CAAC;oBACX,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC;gBACnD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAEA,wBAAsB,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;;;CAAA,iBAIvC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAEA,wBAAsB,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;;;CAAA,iBAGvC"}
package/dist/cli.js CHANGED
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.main = void 0;
4
- const core_1 = require("./core");
5
- async function main({ argv, app }) {
1
+ import { WorkspaceBundler } from "./core.js";
2
+ export async function main({ argv, app }) {
6
3
  const cwd = process.cwd();
7
- await new core_1.WorkspaceBundler({ argv, cwd, app }).run();
4
+ await new WorkspaceBundler({ argv, cwd, app }).run();
8
5
  }
9
- exports.main = main;
10
6
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AAElC,KAAK,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEzB,MAAM,IAAI,uBAAgB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;AACtD,CAAC;AAJD,oBAIC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AACvD,CAAC"}
package/dist/core.d.ts CHANGED
@@ -4,6 +4,7 @@ declare class Options {
4
4
  verbose: boolean;
5
5
  dryRun: boolean;
6
6
  debug: boolean;
7
+ build: boolean;
7
8
  };
8
9
  cwd: string;
9
10
  app: string;
@@ -16,6 +17,7 @@ export declare class WorkspaceBundler {
16
17
  private log;
17
18
  private debug;
18
19
  init(): Promise<void>;
20
+ build(): Promise<void>;
19
21
  run(): Promise<void>;
20
22
  }
21
23
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAwCA,eAAO,MAAM,cAAc,QAAS,MAAM,aAAa,MAAM,EAAE,KAAG,MAWjE,CAAA;AA0OD,cAAM,OAAO;IACX,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAA;IAC3D,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,qBAAa,gBAAgB;IAGf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,WAAW,CAAQ;gBAEE,OAAO,EAAE,OAAO;YAE/B,cAAc;IAO5B,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,KAAK;IAIP,IAAI;IAWJ,GAAG;CAcV"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AA2CA,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,EAAE,WAAW,MAAM,EAAE,KAAG,MAWjE,CAAC;AA+OF,cAAM,OAAO;IACX,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,gBAAgB;IAGf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,WAAW,CAAS;gBAEC,OAAO,EAAE,OAAO;YAE/B,cAAc;IAO5B,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,KAAK;IAIP,IAAI;IAWJ,KAAK;IAWL,GAAG;CAkBV"}
package/dist/core.js CHANGED
@@ -1,56 +1,57 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WorkspaceBundler = exports.lookupFileName = void 0;
4
- const tslib_1 = require("tslib");
5
- const json_schema_ref_parser_1 = (0, tslib_1.__importDefault)(require("@apidevtools/json-schema-ref-parser"));
6
- const fs_1 = require("fs");
7
- const fs_extra_1 = (0, tslib_1.__importDefault)(require("fs-extra"));
8
- const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
9
- const path_1 = (0, tslib_1.__importDefault)(require("path"));
10
- const interpolate_1 = require("./interpolate");
1
+ import $RefParser from "@apidevtools/json-schema-ref-parser";
2
+ import { readdirSync, statSync } from "fs";
3
+ import fs from "fs";
4
+ import _ from "lodash";
5
+ import * as path from "path";
6
+ import { iterpolateJsonData, isYamlFile, iterpolateFile, loadJSONFromString, loadYamlFromString, yamlExt, } from "./interpolate.js";
7
+ import { buildFiles } from "./build.js";
11
8
  const getProjectNames = (projectsDirPath) => {
12
- const result = (0, fs_1.readdirSync)(projectsDirPath).filter((f) => (0, fs_1.statSync)(path_1.default.join(projectsDirPath, f)).isDirectory());
9
+ const result = readdirSync(projectsDirPath).filter((f) => statSync(path.join(projectsDirPath, f)).isDirectory());
13
10
  result.sort();
14
11
  return result;
15
12
  };
16
- const loadJSONFromFile = (fileName) => fs_extra_1.default.existsSync(fileName)
17
- ? (0, interpolate_1.loadJSONFromString)(fs_extra_1.default.readFileSync(fileName, "utf8"))
13
+ const loadJSONFromFile = (fileName) => fs.existsSync(fileName)
14
+ ? loadJSONFromString(fs.readFileSync(fileName, "utf8"))
18
15
  : null;
19
- const loadYamlFromFile = (fileName) => fs_extra_1.default.existsSync(fileName)
20
- ? (0, interpolate_1.loadYamlFromString)(fs_extra_1.default.readFileSync(fileName, "utf8"))
16
+ const loadYamlFromFile = (fileName) => fs.existsSync(fileName)
17
+ ? loadYamlFromString(fs.readFileSync(fileName, "utf8"))
21
18
  : null;
22
- const loadFromFile = (fileName) => (0, interpolate_1.isYamlFile)(fileName) ? loadYamlFromFile(fileName) : loadJSONFromFile(fileName);
19
+ const loadFromFile = (fileName) => isYamlFile(fileName)
20
+ ? loadYamlFromFile(fileName)
21
+ : loadJSONFromFile(fileName);
23
22
  const WS_CONFIG = ["angular-workspace", "ng-ws"];
24
23
  const PROJECT_CONFIG = ["ng-project", "angular-project"];
25
24
  const jsonExt = ["json", "json5"];
26
- const lookupFileName = (cwd, fileNames) => {
25
+ export const lookupFileName = (cwd, fileNames) => {
27
26
  const fileName = fileNames
28
27
  .map((fileName) => [
29
28
  fileName,
30
- ...[...jsonExt, ...interpolate_1.yamlExt].map((ext) => `${fileName}.${ext}`),
29
+ ...[...jsonExt, ...yamlExt].map((ext) => `${fileName}.${ext}`),
31
30
  ])
32
31
  .flat()
33
- .map((fileName) => path_1.default.join(cwd, fileName))
34
- .find((fileName) => fs_extra_1.default.existsSync(fileName));
32
+ .map((fileName) => path.join(cwd, fileName))
33
+ .find((fileName) => fs.existsSync(fileName));
35
34
  return fileName;
36
35
  };
37
- exports.lookupFileName = lookupFileName;
38
36
  async function loadFileAndExpand(args) {
39
37
  const { cwd, fileNames, isDebug } = args;
40
38
  let vars = args.vars || {};
41
- const fileName = (0, exports.lookupFileName)(cwd, fileNames);
42
- const fileNameInterpolated = `${fileName}.expanded${path_1.default.extname(fileName)}`;
39
+ const fileName = lookupFileName(cwd, fileNames);
40
+ if (!fileName) {
41
+ return { result: null, path: null };
42
+ }
43
+ const fileNameInterpolated = `${fileName}.expanded${path.extname(fileName)}`;
43
44
  let json = loadFromFile(fileName);
44
- vars = lodash_1.default.merge(vars, json.vars || {});
45
- (0, interpolate_1.iterpolateFile)(vars, fileName, fileNameInterpolated);
45
+ vars = _.merge(vars, json.vars || {});
46
+ iterpolateFile(vars, fileName, fileNameInterpolated);
46
47
  json = loadFromFile(fileNameInterpolated);
47
48
  // https://apitools.dev/json-schema-ref-parser/
48
49
  // https://apitools.dev/json-schema-ref-parser/docs/ref-parser.html#dereferenceschema-options-callback
49
- json = (await json_schema_ref_parser_1.default.dereference(json));
50
- vars = lodash_1.default.merge(vars, json.vars || {});
51
- json = (0, interpolate_1.iterpolateJsonData)(vars, json, fileNameInterpolated);
50
+ json = (await $RefParser.dereference(json));
51
+ vars = _.merge(vars, json.vars || {});
52
+ json = iterpolateJsonData(vars, json, fileNameInterpolated);
52
53
  if (!isDebug) {
53
- fs_extra_1.default.unlinkSync(fileNameInterpolated);
54
+ fs.unlinkSync(fileNameInterpolated);
54
55
  }
55
56
  return { result: json, path: fileName };
56
57
  }
@@ -65,15 +66,17 @@ const processProject = async ({ cwd, log, projectsDir, app, options }) => {
65
66
  const defaultVars = {
66
67
  name: app,
67
68
  wsPath: ngWSPath,
68
- wsName: path_1.default.basename(ngWSPath),
69
- wsDir: path_1.default.dirname(ngWSPath),
69
+ wsName: path.basename(ngWSPath),
70
+ wsDir: path.dirname(ngWSPath),
70
71
  };
71
72
  const { result: appJson } = await loadFileAndExpand({
72
73
  isDebug,
73
- vars: lodash_1.default.merge(ngWSJson.vars || {}, defaultVars),
74
- cwd: path_1.default.join(cwd, `${projectsDir}/${app}`),
74
+ vars: _.merge(ngWSJson.vars || {}, defaultVars),
75
+ cwd: path.join(cwd, `${projectsDir}/${app}`),
75
76
  fileNames: PROJECT_CONFIG,
76
77
  });
78
+ if (!appJson)
79
+ return;
77
80
  if (appJson.vars?.disabled) {
78
81
  log(`Skipping '${app}'`);
79
82
  return;
@@ -94,7 +97,7 @@ const processProject = async ({ cwd, log, projectsDir, app, options }) => {
94
97
  const old = build.options[prop] ?? [];
95
98
  const src = (res.options ?? {})[prop] ?? [];
96
99
  if (src.length) {
97
- const merged = lodash_1.default.union([...src], [...old]);
100
+ const merged = _.union([...src], [...old]);
98
101
  build.options[prop] = merged;
99
102
  }
100
103
  };
@@ -103,23 +106,22 @@ const processProject = async ({ cwd, log, projectsDir, app, options }) => {
103
106
  if (!res)
104
107
  throw new Error(`Resource '${resourceName}' not defined`);
105
108
  if (appJson.project?.architect?.build) {
106
- ;
107
109
  ["assets", "styles", "scripts"].forEach((prop) => tweakOptions(res, appJson.project.architect.build, prop));
108
110
  }
109
111
  };
110
112
  resources.reverse().forEach(mergeResource);
111
113
  log(`Merged resources for '${app}':`, resources);
112
114
  }
113
- const angularFileName = path_1.default.join(cwd, "angular.json");
115
+ const angularFileName = path.join(cwd, "angular.json");
114
116
  let angularJson = loadFromFile(angularFileName) || {};
115
- angularJson = lodash_1.default.merge(angularJson, lodash_1.default.omit(ngWSJson.angular, ["projects"]));
117
+ angularJson = _.merge(angularJson, _.omit(ngWSJson.angular, ["projects"]));
116
118
  if (appJson.project) {
117
119
  angularJson.projects = angularJson.projects || {};
118
- angularJson.projects[app] = lodash_1.default.merge(angularJson.projects[app] || {}, appJson.project);
120
+ angularJson.projects[app] = _.merge(angularJson.projects[app] || {}, appJson.project);
119
121
  }
120
122
  const jsonContent = JSON.stringify(angularJson, null, 2);
121
123
  if (!options.argv.dryRun) {
122
- fs_extra_1.default.writeFileSync(angularFileName, jsonContent);
124
+ fs.writeFileSync(angularFileName, jsonContent);
123
125
  log(`${angularFileName} for '${app}' updated.`);
124
126
  }
125
127
  else {
@@ -127,7 +129,7 @@ const processProject = async ({ cwd, log, projectsDir, app, options }) => {
127
129
  }
128
130
  if (isDeps && appJson.depends) {
129
131
  const requiredBy = app;
130
- const pckgFileName = path_1.default.join(cwd, "package.json");
132
+ const pckgFileName = path.join(cwd, "package.json");
131
133
  const pckg = require(pckgFileName);
132
134
  Object.keys(appJson.depends).forEach((depKey) => {
133
135
  const dep = pckg[depKey];
@@ -161,7 +163,7 @@ const processProject = async ({ cwd, log, projectsDir, app, options }) => {
161
163
  });
162
164
  pckg[depKey] = dep;
163
165
  });
164
- fs_extra_1.default.writeFileSync(pckgFileName, JSON.stringify(pckg, null, 2));
166
+ fs.writeFileSync(pckgFileName, JSON.stringify(pckg, null, 2));
165
167
  }
166
168
  };
167
169
  function getPackages({ ws, libName, proj, }) {
@@ -188,7 +190,7 @@ function ensureDependency({ depKey, dep, packageName, packageVersion, requiredBy
188
190
  }
189
191
  class Options {
190
192
  }
191
- class WorkspaceBundler {
193
+ export class WorkspaceBundler {
192
194
  constructor(options) {
193
195
  this.options = options;
194
196
  }
@@ -216,20 +218,34 @@ class WorkspaceBundler {
216
218
  this.projectsDir = ngWSJson.angular?.newProjectRoot || "projects";
217
219
  this.debug(`projectsDir: ${this.projectsDir}`);
218
220
  }
221
+ async build() {
222
+ const { cwd } = this.options;
223
+ console.log(`Building workspace at '${cwd}' ...`);
224
+ const files = await buildFiles({ workingDir: cwd });
225
+ files.forEach((file) => {
226
+ const filePath = path.join(cwd, file.localPath);
227
+ fs.writeFileSync(filePath, file.content);
228
+ console.log(`Created: ${filePath}`);
229
+ });
230
+ }
219
231
  async run() {
220
232
  const { cwd } = this.options;
221
233
  this.debug(`cwd: ${cwd}`);
222
- const projectsDir = await this.getProjectsDir();
223
- getProjectNames(`${cwd}/${projectsDir}`).forEach((app) => {
224
- processProject({
225
- cwd,
226
- app,
227
- projectsDir,
228
- options: this.options,
229
- log: this.log.bind(this),
234
+ if (this.options.argv.build) {
235
+ await this.build();
236
+ }
237
+ else {
238
+ const projectsDir = await this.getProjectsDir();
239
+ getProjectNames(`${cwd}/${projectsDir}`).forEach((app) => {
240
+ processProject({
241
+ cwd,
242
+ app,
243
+ projectsDir,
244
+ options: this.options,
245
+ log: this.log.bind(this),
246
+ });
230
247
  });
231
- });
248
+ }
232
249
  }
233
250
  }
234
- exports.WorkspaceBundler = WorkspaceBundler;
235
251
  //# sourceMappingURL=core.js.map
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./cli";
2
- export * from "./core";
1
+ export * from "./cli.js";
2
+ export * from "./core.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./cli"), exports);
5
- (0, tslib_1.__exportStar)(require("./core"), exports);
1
+ export * from "./cli.js";
2
+ export * from "./core.js";
6
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAqB;AACrB,sDAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"interpolate.d.ts","sourceRoot":"","sources":["../src/interpolate.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,UAAkB,CAAA;AAEtC,eAAO,MAAM,UAAU,MAAO,MAAM,WACU,CAAA;AAE9C,eAAO,MAAM,kBAAkB,SAAU,MAAM,QACd,CAAA;AAEjC,eAAO,MAAM,kBAAkB,SAAU,MAAM,YAChB,CAAA;AAQ/B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKjD;AAID,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB5D;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,IAAI,CAKN;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,MAAM,GACjB,CAAC,CAeH"}
1
+ {"version":3,"file":"interpolate.d.ts","sourceRoot":"","sources":["../src/interpolate.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,UAAkB,CAAC;AAEvC,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,WACU,CAAC;AAE/C,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,QACd,CAAC;AAElC,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,YAChB,CAAC;AAQhC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKjD;AAID,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB5D;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,IAAI,CAKN;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,MAAM,GACjB,CAAC,CAaH"}
@@ -1,33 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.iterpolateJsonData = exports.iterpolateFile = exports.iterpolate = exports.iterpolateVars = exports.loadYamlFromString = exports.loadJSONFromString = exports.isYamlFile = exports.yamlExt = void 0;
4
- const tslib_1 = require("tslib");
5
- const fs_extra_1 = (0, tslib_1.__importDefault)(require("fs-extra"));
6
- const js_yaml_1 = (0, tslib_1.__importDefault)(require("js-yaml"));
7
- const json5_1 = (0, tslib_1.__importDefault)(require("json5"));
8
- const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
9
- exports.yamlExt = ["yaml", "yml"];
10
- const isYamlFile = (s) => exports.yamlExt.find((ext) => s.includes(`.${ext}`));
11
- exports.isYamlFile = isYamlFile;
12
- const loadJSONFromString = (data) => data ? json5_1.default.parse(data) : null;
13
- exports.loadJSONFromString = loadJSONFromString;
14
- const loadYamlFromString = (data) => data ? js_yaml_1.default.load(data) : null;
15
- exports.loadYamlFromString = loadYamlFromString;
1
+ import fs from "fs";
2
+ import yaml from "js-yaml";
3
+ import JSON5 from "json5";
4
+ import _ from "lodash";
5
+ export const yamlExt = ["yaml", "yml"];
6
+ export const isYamlFile = (s) => yamlExt.find((ext) => s.includes(`.${ext}`));
7
+ export const loadJSONFromString = (data) => data ? JSON5.parse(data) : null;
8
+ export const loadYamlFromString = (data) => data ? yaml.load(data) : null;
16
9
  const e = {
17
10
  RE: /{{(\w|\.)+}}/gi,
18
11
  B: "{{",
19
12
  E: "}}",
20
13
  };
21
- function iterpolateVars(vars) {
14
+ export function iterpolateVars(vars) {
22
15
  Object.keys(vars).forEach((key) => {
23
16
  const value = `${vars[key]}`;
24
17
  if (value.includes(e.B))
25
18
  vars[key] = iterpolate(vars, value);
26
19
  });
27
20
  }
28
- exports.iterpolateVars = iterpolateVars;
29
21
  const isEmpty = (v) => v === undefined || v === null || Number.isNaN(v);
30
- function iterpolate(vars, tpl) {
22
+ export function iterpolate(vars, tpl) {
31
23
  const keys = {};
32
24
  let match;
33
25
  while ((match = e.RE.exec(tpl))) {
@@ -37,34 +29,29 @@ function iterpolate(vars, tpl) {
37
29
  }
38
30
  Object.keys(keys).forEach((key) => {
39
31
  const expr = e.B + key + e.E;
40
- const val = lodash_1.default.get(vars, key);
32
+ const val = _.get(vars, key);
41
33
  const value = isEmpty(val) ? expr : `${val}`;
42
34
  tpl = tpl.split(expr).join(value);
43
35
  });
44
36
  return tpl;
45
37
  }
46
- exports.iterpolate = iterpolate;
47
- function iterpolateFile(vars, sourcePath, targetPath) {
38
+ export function iterpolateFile(vars, sourcePath, targetPath) {
48
39
  iterpolateVars(vars);
49
- let contents = fs_extra_1.default.readFileSync(sourcePath, { encoding: "utf8" });
40
+ let contents = fs.readFileSync(sourcePath, { encoding: "utf8" });
50
41
  contents = iterpolate(vars, contents);
51
- fs_extra_1.default.writeFileSync(targetPath, contents);
42
+ fs.writeFileSync(targetPath, contents);
52
43
  }
53
- exports.iterpolateFile = iterpolateFile;
54
- function iterpolateJsonData(vars, data, targetPath) {
55
- const isYaml = (0, exports.isYamlFile)(targetPath);
56
- let contents = exports.isYamlFile
57
- ? js_yaml_1.default.dump(data)
58
- : json5_1.default.stringify(data, null, 2);
44
+ export function iterpolateJsonData(vars, data, targetPath) {
45
+ const isYaml = isYamlFile(targetPath);
46
+ let contents = isYamlFile ? yaml.dump(data) : JSON5.stringify(data, null, 2);
59
47
  const tmpFile = `${targetPath}.tmp`;
60
- fs_extra_1.default.writeFileSync(tmpFile, contents);
48
+ fs.writeFileSync(tmpFile, contents);
61
49
  iterpolateFile(vars, tmpFile, targetPath);
62
- contents = fs_extra_1.default.readFileSync(targetPath, { encoding: "utf8" });
50
+ contents = fs.readFileSync(targetPath, { encoding: "utf8" });
63
51
  const result = isYaml
64
- ? (0, exports.loadYamlFromString)(contents)
65
- : (0, exports.loadJSONFromString)(contents);
66
- fs_extra_1.default.unlink(tmpFile);
52
+ ? loadYamlFromString(contents)
53
+ : loadJSONFromString(contents);
54
+ fs.unlinkSync(tmpFile);
67
55
  return result;
68
56
  }
69
- exports.iterpolateJsonData = iterpolateJsonData;
70
57
  //# sourceMappingURL=interpolate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interpolate.js","sourceRoot":"","sources":["../src/interpolate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpolate.js","sourceRoot":"","sources":["../src/interpolate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,21 +1,29 @@
1
1
  {
2
2
  "name": "ngx-ws",
3
- "version": "1.0.3",
4
- "description": "Tool to generate angular.json from human readable definitions.",
3
+ "version": "1.1.0",
4
+ "description": "Decompose big angular.json to smaller parts",
5
+ "type": "module",
6
+ "keywords": [
7
+ "angular",
8
+ "tools"
9
+ ],
5
10
  "homepage": "https://github.com/art-ws/ngx-ws",
11
+ "bugs": {
12
+ "url": "https://github.com/art-ws/ngx-ws/issues",
13
+ "email": "art-ws@pm.me"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/art-ws/ngx-ws.git"
18
+ },
6
19
  "license": "MIT",
20
+ "author": {
21
+ "name": "art-ws Team",
22
+ "email": "art-ws@pm.me",
23
+ "url": "https://art-ws.org"
24
+ },
7
25
  "main": "dist/index.js",
8
26
  "types": "dist/index.d.ts",
9
- "scripts": {
10
- "build": "tsc",
11
- "watch": "tsc --watch",
12
- "clean": "rimraf dist coverage *.tgz *.tsbuildinfo *.log",
13
- "lint": "eslint --ext .ts .",
14
- "test": "jest",
15
- "fmt": "prettier --write .",
16
- "madge": "npx madge --circular --extensions ts .",
17
- "cti": "npx cti -n -b -v ./src"
18
- },
19
27
  "bin": {
20
28
  "ngx-ws": "./bin/index.js"
21
29
  },
@@ -23,66 +31,35 @@
23
31
  "bin",
24
32
  "dist"
25
33
  ],
26
- "engines": {
27
- "node": ">=12"
28
- },
29
- "author": {
30
- "email": "art-ws@pm.me",
31
- "name": "art-ws Team",
32
- "url": "https://art-ws.org"
33
- },
34
- "bugs": {
35
- "url": "https://github.com/art-ws/ngx-ws/issues",
36
- "email": "art-ws@pm.me"
37
- },
38
- "repository": {
39
- "type": "git",
40
- "url": "https://github.com/art-ws/ngx-ws.git"
41
- },
42
- "keywords": [
43
- "angular",
44
- "tools"
45
- ],
46
34
  "dependencies": {
47
- "@apidevtools/json-schema-ref-parser": "9.0.9",
48
- "fs-extra": "10.0.0",
35
+ "@apidevtools/json-schema-ref-parser": "13.0.5",
49
36
  "js-yaml": "4.1.0",
50
- "json-schema": "0.3.0",
51
- "json5": "2.2.0",
37
+ "json-schema": "0.4.0",
38
+ "json5": "2.2.3",
52
39
  "lodash": "4.17.21",
53
- "tslib": "2.3.1",
54
- "yargs": "17.2.1"
40
+ "tslib": "2.8.1",
41
+ "yargs": "18.0.0"
55
42
  },
56
43
  "devDependencies": {
57
- "@types/js-yaml": "4.0.4",
58
- "@types/json5": "0.0.30",
59
- "@types/lodash": "4.14.176",
60
- "@art-ws/eslint": "latest",
61
- "@art-ws/jest": "latest",
62
- "@art-ws/prettier": "latest",
63
- "@art-ws/tsc": "latest",
64
- "@types/chai": "4.2.22",
65
- "@types/jest": "27.0.2",
66
- "@types/node": "16.11.6",
67
- "@typescript-eslint/eslint-plugin": "4.0.1",
68
- "@typescript-eslint/parser": "4.0.0",
69
- "chai": "4.3.4",
70
- "create-ts-index": "^1.8.0",
71
- "eslint": "^7.32.0",
72
- "eslint-config-prettier": "8.3.0",
73
- "eslint-config-standard-with-typescript": "21.0.1",
74
- "eslint-plugin-import": "2.25.2",
75
- "eslint-plugin-jest": "25.2.4",
76
- "eslint-plugin-node": "11.1.0",
77
- "eslint-plugin-promise": "5.1.1",
78
- "eslint-plugin-standard": "4.1.0",
79
- "jest": "27.3.1",
80
- "jest-standard-reporter": "2.0.0",
81
- "madge": "5.0.1",
82
- "npm-check-updates": "12.0.0",
83
- "prettier": "2.4.1",
84
- "rimraf": "3.0.2",
85
- "ts-jest": "27.0.7",
86
- "typescript": "4.4.4"
44
+ "@types/js-yaml": "4.0.9",
45
+ "@types/lodash": "4.17.17",
46
+ "@types/node": "24.0.1",
47
+ "@typescript-eslint/eslint-plugin": "8.34.0",
48
+ "@typescript-eslint/parser": "8.34.0",
49
+ "npm-check-updates": "18.0.1",
50
+ "rimraf": "6.0.1",
51
+ "typescript": "5.8.3"
52
+ },
53
+ "engines": {
54
+ "node": ">=20"
55
+ },
56
+ "scripts": {
57
+ "build": "tsc",
58
+ "clean": "rimraf dist coverage *.tgz *.tsbuildinfo *.log",
59
+ "fmt": "exit 0",
60
+ "lint": "exit 0",
61
+ "ncu": "ncu",
62
+ "test": "exit 0",
63
+ "watch": "tsc --watch"
87
64
  }
88
- }
65
+ }