ngx-ws 1.1.0 → 1.1.4

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,13 +1,13 @@
1
1
  # 🚀 ngx-ws
2
2
 
3
- **Generate [angular.json](https://angular.io/guide/workspace-config) from modular, human-friendly definitions.**
3
+ **Generate [angular.json](https://angular.dev/reference/configs/workspace-config) from modular, human-friendly definitions.**
4
4
 
5
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
7
  ---
8
8
  ## 🛠️ How It Works
9
9
 
10
- 1. **Install `ngx-ws` globally** (using your preferred package manager):
10
+ 1. **Install [ngx-ws](https://www.npmjs.com/package/ngx-ws) globally** (using your preferred package manager):
11
11
 
12
12
  ```sh
13
13
  npm install -g ngx-ws
@@ -53,39 +53,14 @@ Let `ngx-ws` handle the generation of `angular.json` for you!
53
53
  - 📝 Supports [YAML](https://yaml.org/) and [JSON5](https://json5.org/) formats
54
54
  - 🔗 Handles [JSON References](https://datatracker.ietf.org/doc/html/draft-pbryan-zyp-json-ref-03) for modular configuration
55
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)
56
+ - 🛠️ Simplifies configuration of [scripts, styles, and assets](https://angular.dev/reference/configs/workspace-config#styles-and-scripts-configuration)
57
57
 
58
58
  ---
59
59
 
60
- ## 📦 Installation
60
+ ## 🧩 Example
61
61
 
62
- Install globally with npm:
63
-
64
- ```sh
65
- npm install -g ngx-ws
66
- ```
67
-
68
- Or use [npx](https://docs.npmjs.com/cli/v7/commands/npx) for one-off runs:
69
-
70
- ```sh
71
- npx ngx-ws
72
- ```
73
-
74
- ---
75
-
76
- ## 🚦 Usage
77
-
78
- Run `ngx-ws` in a directory containing your `angular.json` file:
79
-
80
- ```sh
81
- rm angular.json && ngx-ws -v
82
- ```
83
-
84
- - The tool will generate a new `angular.json` based on your modular workspace and project definitions.
85
-
86
- **Example:**
87
62
  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).
63
+ Pay special attention to [angular-workspace.yaml](https://github.com/art-ws/ngx-ws-example/blob/main/angular-workspace.yaml) and [angular-project.yaml](https://github.com/art-ws/ngx-ws-example/blob/main/projects/app1/angular-project.yaml).
89
64
 
90
65
  ---
91
66
 
@@ -97,5 +72,5 @@ Pay special attention to [angular-workspace.yaml](https://github.com/art-ws/ngx-
97
72
  | `--deps` | | Update `package.json` with project-specific dependencies |
98
73
  | `--debug` | | Enable debug mode (retain temporary files) |
99
74
  | `--dry-run` | | Preview changes without writing files |
100
- | `--verbose` |`-v` | Enable verbose output |
101
- | `--version` | | |
75
+ | `--verbose` |`-v` | Enable verbose output |
76
+ | `--version` | | Print version |
@@ -1 +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"}
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,CAiE7E"}
package/dist/build.js CHANGED
@@ -45,12 +45,14 @@ export async function buildFiles(o) {
45
45
  project,
46
46
  };
47
47
  const localPath = path.join(wsVars.projects, name, "angular-project.yaml");
48
- let content = yaml.dump(projYaml, { lineWidth: 120 });
49
48
  // Process variables in the content
50
- content = processVars({
49
+ const jsonContent = processVars({
51
50
  varsOrder: ["env", "environments", "styleExt", "root", "src", "name"],
52
51
  vars,
53
- content,
52
+ content: JSON.stringify(projYaml, null, 2),
53
+ });
54
+ const content = yaml.dump(JSON.parse(jsonContent), {
55
+ lineWidth: 120,
54
56
  });
55
57
  projectFiles.push({
56
58
  localPath,
package/dist/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "ngx-ws",
3
- "version": "1.1.0",
4
- "description": "Decompose big angular.json to smaller parts",
5
- "type": "module",
3
+ "version": "1.1.4",
4
+ "description": "Easily split a large angular.json into modular and smaller project-local files",
6
5
  "keywords": [
7
6
  "angular",
8
7
  "tools"
@@ -22,6 +21,7 @@
22
21
  "email": "art-ws@pm.me",
23
22
  "url": "https://art-ws.org"
24
23
  },
24
+ "type": "module",
25
25
  "main": "dist/index.js",
26
26
  "types": "dist/index.d.ts",
27
27
  "bin": {