@storm-software/workspace-tools 1.295.39 → 1.295.40
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/CHANGELOG.md +18 -0
- package/README.md +1 -1
- package/dist/chunk-2SRFINBN.mjs +32 -0
- package/dist/chunk-4RQ25E7U.js +32 -0
- package/dist/chunk-FJJD4XQQ.js +41 -0
- package/dist/chunk-FYWTWKA5.mjs +116 -0
- package/dist/chunk-GVNAKGP4.mjs +31 -0
- package/dist/chunk-H4MADHCO.js +32 -0
- package/dist/chunk-LWYN4MTV.js +79 -0
- package/dist/chunk-MCQCIP4X.mjs +548 -0
- package/dist/chunk-NNQPSEZU.js +31 -0
- package/dist/chunk-NQHO4D7T.js +250 -0
- package/dist/chunk-OTKWSGS5.mjs +32 -0
- package/dist/chunk-OZQ7BMMQ.js +93 -0
- package/dist/chunk-P5KUQQTV.mjs +93 -0
- package/dist/chunk-QWOCJPHV.mjs +82 -0
- package/dist/chunk-QYWP6FSH.js +548 -0
- package/dist/chunk-RVMTVA24.mjs +253 -0
- package/dist/chunk-SGNQWNB4.js +116 -0
- package/dist/chunk-T7O5BE2A.mjs +32 -0
- package/dist/chunk-UTIKWDU3.mjs +41 -0
- package/dist/chunk-WLCY3GMY.js +32 -0
- package/dist/executors.js +4 -4
- package/dist/executors.mjs +6 -6
- package/dist/index.js +4 -4
- package/dist/index.mjs +6 -6
- package/package.json +9 -9
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
2
|
+
|
|
3
|
+
var _chunkFR2SIPZVjs = require('./chunk-FR2SIPZV.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkSZWM7COVjs = require('./chunk-SZWM7COV.js');
|
|
8
|
+
|
|
9
|
+
// src/generators/preset/generator.ts
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
var _devkit = require('@nx/devkit');
|
|
18
|
+
var _path = require('path'); var path = _interopRequireWildcard(_path);
|
|
19
|
+
async function presetGeneratorFn(tree, options) {
|
|
20
|
+
const projectRoot = ".";
|
|
21
|
+
options.description ??= `\u26A1The ${options.namespace ? options.namespace : options.name} monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.`;
|
|
22
|
+
options.namespace ??= options.organization;
|
|
23
|
+
_devkit.addProjectConfiguration.call(void 0, tree, `@${options.namespace}/${options.name}`, {
|
|
24
|
+
root: projectRoot,
|
|
25
|
+
projectType: "application",
|
|
26
|
+
targets: {
|
|
27
|
+
"local-registry": {
|
|
28
|
+
executor: "@nx/js:verdaccio",
|
|
29
|
+
options: {
|
|
30
|
+
port: 4873,
|
|
31
|
+
config: ".verdaccio/config.yml",
|
|
32
|
+
storage: "tmp/local-registry/storage"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
_devkit.updateJson.call(void 0, tree, "package.json", (json) => {
|
|
38
|
+
json.scripts = json.scripts || {};
|
|
39
|
+
json.version = "0.0.0";
|
|
40
|
+
json.triggerEmptyDevReleaseByIncrementingThisNumber = 0;
|
|
41
|
+
json.private = true;
|
|
42
|
+
json.keywords ??= [
|
|
43
|
+
options.name,
|
|
44
|
+
options.namespace,
|
|
45
|
+
"storm",
|
|
46
|
+
"storm-stack",
|
|
47
|
+
"storm-ops",
|
|
48
|
+
"rust",
|
|
49
|
+
"nx",
|
|
50
|
+
"graphql",
|
|
51
|
+
"sullivanpj",
|
|
52
|
+
"monorepo"
|
|
53
|
+
];
|
|
54
|
+
json.homepage ??= "https://stormsoftware.com";
|
|
55
|
+
json.bugs ??= {
|
|
56
|
+
url: `https://github.com/${options.organization}/${options.name}/issues`,
|
|
57
|
+
email: "support@stormsoftware.com"
|
|
58
|
+
};
|
|
59
|
+
json.license = "Apache-2.0";
|
|
60
|
+
json.author ??= {
|
|
61
|
+
name: "Storm Software",
|
|
62
|
+
email: "contact@stormsoftware.com",
|
|
63
|
+
url: "https://stormsoftware.com"
|
|
64
|
+
};
|
|
65
|
+
json.maintainers ??= [
|
|
66
|
+
{
|
|
67
|
+
name: "Storm Software",
|
|
68
|
+
email: "contact@stormsoftware.com",
|
|
69
|
+
url: "https://stormsoftware.com"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: "Pat Sullivan",
|
|
73
|
+
email: "admin@stormsoftware.com",
|
|
74
|
+
url: "https://patsullivan.org"
|
|
75
|
+
}
|
|
76
|
+
];
|
|
77
|
+
json.funding ??= {
|
|
78
|
+
type: "github",
|
|
79
|
+
url: "https://github.com/sponsors/storm-software"
|
|
80
|
+
};
|
|
81
|
+
json.namespace ??= `@${options.namespace}`;
|
|
82
|
+
json.description ??= options.description;
|
|
83
|
+
options.repositoryUrl ??= `https://github.com/${options.organization}/${options.name}`;
|
|
84
|
+
json.repository ??= {
|
|
85
|
+
type: "github",
|
|
86
|
+
url: `${options.repositoryUrl}.git`
|
|
87
|
+
};
|
|
88
|
+
json.packageManager ??= "pnpm@10.3.0";
|
|
89
|
+
json.engines ??= {
|
|
90
|
+
node: ">=20.11.0",
|
|
91
|
+
pnpm: ">=10.3.0"
|
|
92
|
+
};
|
|
93
|
+
json.prettier = "@storm-software/prettier/config.json";
|
|
94
|
+
json.nx ??= {
|
|
95
|
+
includedScripts: [
|
|
96
|
+
"lint-sherif",
|
|
97
|
+
"lint-knip",
|
|
98
|
+
"lint-ls",
|
|
99
|
+
"lint",
|
|
100
|
+
"format",
|
|
101
|
+
"format-sherif",
|
|
102
|
+
"format-readme",
|
|
103
|
+
"format-prettier",
|
|
104
|
+
"format-toml",
|
|
105
|
+
"commit",
|
|
106
|
+
"release"
|
|
107
|
+
]
|
|
108
|
+
};
|
|
109
|
+
json.scripts.adr = "pnpm log4brains adr new";
|
|
110
|
+
json.scripts["adr-preview"] = "pnpm log4brains preview";
|
|
111
|
+
json.scripts.prepare = "pnpm add lefthook -w && pnpm lefthook install";
|
|
112
|
+
json.scripts.preinstall = "npx -y only-allow pnpm";
|
|
113
|
+
json.scripts["install-csb"] = "corepack enable && pnpm install --no-frozen-lockfile";
|
|
114
|
+
json.scripts.clean = "rimraf dist && rimraf --glob packages/**/dist && rimraf --glob tools/**/dist && rimraf --glob docs/**/dist && rimraf --glob apps/**/dist && rimraf --glob libs/**/dist";
|
|
115
|
+
json.scripts.nuke = "nx clear-cache && rimraf .nx/cache && rimraf .nx/workspace-data && pnpm clean && rimraf pnpm-lock.yaml && rimraf --glob packages/**/node_modules && rimraf --glob tools/**/node_modules && rimraf node_modules";
|
|
116
|
+
json.scripts.prebuild = "pnpm clean";
|
|
117
|
+
json.scripts.build = "nx affected -t build --parallel=5";
|
|
118
|
+
json.scripts["build-all"] = "nx run-many -t build --all --parallel=5";
|
|
119
|
+
json.scripts["build-prod"] = "nx run-many -t build --all --prod --parallel=5";
|
|
120
|
+
json.scripts["build-tools"] = "nx run-many -t build --projects=tools/* --parallel=5";
|
|
121
|
+
json.scripts["build-docs"] = "nx run-many -t build --projects=docs/* --parallel=5";
|
|
122
|
+
if (!options.includeApps) {
|
|
123
|
+
json.scripts["build-packages"] = "nx run-many -t build --projects=packages/* --parallel=5";
|
|
124
|
+
} else {
|
|
125
|
+
json.scripts["build-apps"] = "nx run-many -t build --projects=apps/* --parallel=5";
|
|
126
|
+
json.scripts["build-libs"] = "nx run-many -t build --projects=libs/* --parallel=5";
|
|
127
|
+
json.scripts["build-storybook"] = "storybook build -s public";
|
|
128
|
+
}
|
|
129
|
+
json.scripts.nx = "nx";
|
|
130
|
+
json.scripts.graph = "nx graph";
|
|
131
|
+
json.scripts.lint = "pnpm storm-lint all --skip-cspell --skip-alex";
|
|
132
|
+
if (options.includeApps) {
|
|
133
|
+
json.scripts.start = "nx serve";
|
|
134
|
+
json.scripts.storybook = "pnpm storybook dev -p 6006";
|
|
135
|
+
}
|
|
136
|
+
json.scripts.help = "nx help";
|
|
137
|
+
json.scripts["dep-graph"] = "nx dep-graph";
|
|
138
|
+
json.scripts["local-registry"] = `nx local-registry @${options.namespace}/${options.name}`;
|
|
139
|
+
json.scripts.e2e = "nx e2e";
|
|
140
|
+
if (options.includeApps) {
|
|
141
|
+
json.scripts.test = "nx test && pnpm test-storybook";
|
|
142
|
+
json.scripts["test-storybook"] = "pnpm test-storybook";
|
|
143
|
+
} else {
|
|
144
|
+
json.scripts.test = "nx test";
|
|
145
|
+
}
|
|
146
|
+
json.scripts.lint = "pnpm storm-lint all --skip-cspell --skip-alex";
|
|
147
|
+
json.scripts.commit = "pnpm storm-git commit";
|
|
148
|
+
json.scripts["api-extractor"] = 'pnpm storm-docs api-extractor --outputPath="docs/api-reference" --clean';
|
|
149
|
+
json.scripts.release = "pnpm storm-git release";
|
|
150
|
+
json.scripts.format = "nx format:write";
|
|
151
|
+
json.scripts["format-sherif"] = "pnpm exec sherif -f -i typescript -i react -i react-dom";
|
|
152
|
+
json.scripts["format-toml"] = 'pnpm exec taplo format --config="./node_modules/@storm-software/linting-tools/taplo/config.toml" --cache-path="./node_modules/.cache/storm/taplo"';
|
|
153
|
+
json.scripts["format-readme"] = 'pnpm storm-git readme --templates="tools/readme-templates"';
|
|
154
|
+
json.scripts["format-prettier"] = "pnpm exec prettier --write --ignore-unknown --no-error-on-unmatched-pattern --cache && git update-index";
|
|
155
|
+
json.scripts.lint = "pnpm storm-lint all --skip-cspell";
|
|
156
|
+
json.scripts["lint-knip"] = "pnpm exec knip";
|
|
157
|
+
json.scripts["lint-sherif"] = "pnpm exec sherif -i typescript -i react -i react-dom";
|
|
158
|
+
json.scripts["lint-ls"] = 'pnpm exec ls-lint --config="./node_modules/@storm-software/linting-tools/ls-lint/ls-lint.yml"';
|
|
159
|
+
json.packageManager ??= `pnpm@${_chunkSZWM7COVjs.pnpmVersion}`;
|
|
160
|
+
json.engines = {
|
|
161
|
+
node: `>=${_chunkSZWM7COVjs.nodeVersion}`,
|
|
162
|
+
pnpm: `>=${_chunkSZWM7COVjs.pnpmVersion}`
|
|
163
|
+
};
|
|
164
|
+
return json;
|
|
165
|
+
});
|
|
166
|
+
_devkit.generateFiles.call(void 0, tree, path.join(__dirname, "files"), projectRoot, {
|
|
167
|
+
...options,
|
|
168
|
+
pnpmVersion: _chunkSZWM7COVjs.pnpmVersion,
|
|
169
|
+
nodeVersion: _chunkSZWM7COVjs.nodeVersion
|
|
170
|
+
});
|
|
171
|
+
await _devkit.formatFiles.call(void 0, tree);
|
|
172
|
+
let dependencies = {
|
|
173
|
+
"@ls-lint/ls-lint": "2.2.3",
|
|
174
|
+
"@ltd/j-toml": "1.38.0",
|
|
175
|
+
"@nx/devkit": "^20.2.2",
|
|
176
|
+
"@nx/eslint-plugin": "^20.2.2",
|
|
177
|
+
"@nx/js": "^20.2.2",
|
|
178
|
+
"@nx/workspace": "^20.2.2",
|
|
179
|
+
"@storm-software/config": "latest",
|
|
180
|
+
"@storm-software/git-tools": "latest",
|
|
181
|
+
"@storm-software/linting-tools": "latest",
|
|
182
|
+
"@storm-software/testing-tools": "latest",
|
|
183
|
+
"@storm-software/workspace-tools": "latest",
|
|
184
|
+
"@storm-software/eslint": "latest",
|
|
185
|
+
"@storm-software/cspell": "latest",
|
|
186
|
+
"@storm-software/prettier": "latest",
|
|
187
|
+
"@taplo/cli": "0.7.0",
|
|
188
|
+
"@types/node": "^25.3.0",
|
|
189
|
+
copyfiles: "2.4.1",
|
|
190
|
+
eslint: "9.5.0",
|
|
191
|
+
jest: "29.7.0",
|
|
192
|
+
"jest-environment-node": "29.7.0",
|
|
193
|
+
knip: "5.25.2",
|
|
194
|
+
lefthook: "1.6.18",
|
|
195
|
+
nx: "^20.2.2",
|
|
196
|
+
prettier: "3.3.2",
|
|
197
|
+
"prettier-plugin-prisma": "5.0.0",
|
|
198
|
+
rimraf: "5.0.7",
|
|
199
|
+
sherif: "0.10.0",
|
|
200
|
+
"ts-jest": "29.1.5",
|
|
201
|
+
"ts-node": "10.9.2",
|
|
202
|
+
tslib: "2.6.3",
|
|
203
|
+
typescript: "5.5.3",
|
|
204
|
+
verdaccio: "5.31.1"
|
|
205
|
+
};
|
|
206
|
+
if (options.includeApps) {
|
|
207
|
+
dependencies = {
|
|
208
|
+
...dependencies,
|
|
209
|
+
react: "latest",
|
|
210
|
+
"react-dom": "latest",
|
|
211
|
+
storybook: "latest",
|
|
212
|
+
"@storybook/addons": "latest",
|
|
213
|
+
"@nx/react": "latest",
|
|
214
|
+
"@nx/next": "latest",
|
|
215
|
+
"@nx/node": "latest",
|
|
216
|
+
"@nx/storybook": "latest",
|
|
217
|
+
"jest-environment-jsdom": "29.7.0"
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
if (options.includeRust) {
|
|
221
|
+
dependencies = {
|
|
222
|
+
...dependencies,
|
|
223
|
+
"@monodon/rust": "1.4.0"
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
if (options.nxCloud) {
|
|
227
|
+
dependencies = {
|
|
228
|
+
...dependencies,
|
|
229
|
+
"nx-cloud": "latest"
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
await Promise.resolve(
|
|
233
|
+
_devkit.addDependenciesToPackageJson.call(void 0,
|
|
234
|
+
tree,
|
|
235
|
+
dependencies,
|
|
236
|
+
{},
|
|
237
|
+
_devkit.joinPathFragments.call(void 0, projectRoot, "package.json")
|
|
238
|
+
)
|
|
239
|
+
);
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
var generator_default = _chunkFR2SIPZVjs.withRunGenerator.call(void 0,
|
|
243
|
+
"Storm Workspace Preset Generator",
|
|
244
|
+
presetGeneratorFn
|
|
245
|
+
);
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
exports.presetGeneratorFn = presetGeneratorFn; exports.generator_default = generator_default;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
withRunExecutor
|
|
3
|
+
} from "./chunk-QOQ7ZZDR.mjs";
|
|
4
|
+
import {
|
|
5
|
+
buildCargoCommand,
|
|
6
|
+
cargoCommand
|
|
7
|
+
} from "./chunk-ZTN2676G.mjs";
|
|
8
|
+
|
|
9
|
+
// src/executors/cargo-build/executor.ts
|
|
10
|
+
async function cargoBuildExecutor(options, context) {
|
|
11
|
+
const command = buildCargoCommand("build", options, context);
|
|
12
|
+
return await cargoCommand(context.root, ...command);
|
|
13
|
+
}
|
|
14
|
+
var executor_default = withRunExecutor(
|
|
15
|
+
"Cargo - Build",
|
|
16
|
+
cargoBuildExecutor,
|
|
17
|
+
{
|
|
18
|
+
skipReadingConfig: false,
|
|
19
|
+
hooks: {
|
|
20
|
+
applyDefaultOptions: (options) => {
|
|
21
|
+
options.outputPath ??= "dist/{projectRoot}/target";
|
|
22
|
+
options.toolchain ??= "stable";
|
|
23
|
+
return options;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
cargoBuildExecutor,
|
|
31
|
+
executor_default
|
|
32
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkUHTWNVEZjs = require('./chunk-UHTWNVEZ.js');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkHTGUYSQTjs = require('./chunk-HTGUYSQT.js');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _chunkCQDBLKPFjs = require('./chunk-CQDBLKPF.js');
|
|
11
|
+
|
|
12
|
+
// src/utils/package-helpers.ts
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
var _devkit = require('@nx/devkit');
|
|
17
|
+
var _child_process = require('child_process');
|
|
18
|
+
var _fs = require('fs');
|
|
19
|
+
var _promises = require('fs/promises');
|
|
20
|
+
var _path = require('path');
|
|
21
|
+
var _prettier = require('prettier');
|
|
22
|
+
var PackageManagerTypes = {
|
|
23
|
+
PackageJson: "package.json",
|
|
24
|
+
CargoToml: "Cargo.toml"
|
|
25
|
+
};
|
|
26
|
+
var getPackageInfo = (project) => {
|
|
27
|
+
if (_chunkUHTWNVEZjs.isEqualProjectTag.call(void 0,
|
|
28
|
+
project,
|
|
29
|
+
_chunkUHTWNVEZjs.ProjectTagConstants.Language.TAG_ID,
|
|
30
|
+
_chunkUHTWNVEZjs.ProjectTagConstants.Language.RUST
|
|
31
|
+
) && _fs.existsSync.call(void 0, _devkit.joinPathFragments.call(void 0, project.root, "Cargo.toml"))) {
|
|
32
|
+
return {
|
|
33
|
+
type: "Cargo.toml",
|
|
34
|
+
content: _chunkHTGUYSQTjs.parseCargoToml.call(void 0, _devkit.joinPathFragments.call(void 0, project.root, "Cargo.toml"))
|
|
35
|
+
};
|
|
36
|
+
} else if (_chunkUHTWNVEZjs.isEqualProjectTag.call(void 0,
|
|
37
|
+
project,
|
|
38
|
+
_chunkUHTWNVEZjs.ProjectTagConstants.Language.TAG_ID,
|
|
39
|
+
_chunkUHTWNVEZjs.ProjectTagConstants.Language.TYPESCRIPT
|
|
40
|
+
) && _fs.existsSync.call(void 0, _devkit.joinPathFragments.call(void 0, project.root, "package.json"))) {
|
|
41
|
+
return {
|
|
42
|
+
type: "package.json",
|
|
43
|
+
content: _devkit.readJsonFile.call(void 0,
|
|
44
|
+
_devkit.joinPathFragments.call(void 0, project.root, "package.json")
|
|
45
|
+
)
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
};
|
|
50
|
+
async function addPackageJsonGitHead(packageRoot) {
|
|
51
|
+
const packageJsonPath = _chunkCQDBLKPFjs.joinPaths.call(void 0, packageRoot, "package.json");
|
|
52
|
+
if (!packageJsonPath) {
|
|
53
|
+
throw new Error(
|
|
54
|
+
"No file path provided. Please provide a valid path to the package.json file."
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
const packageJsonValue = JSON.parse(await _promises.readFile.call(void 0, packageJsonPath, "utf8"));
|
|
58
|
+
if (!packageJsonValue || typeof packageJsonValue !== "object") {
|
|
59
|
+
throw new Error(
|
|
60
|
+
`Invalid package.json file at ${packageJsonPath}. Please ensure it is a valid JSON file.`
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
const gitHead = _child_process.execFileSync.call(void 0, "git", ["rev-parse", "HEAD"], {
|
|
64
|
+
cwd: _path.dirname.call(void 0, _path.resolve.call(void 0, packageJsonPath)),
|
|
65
|
+
encoding: "utf8"
|
|
66
|
+
}).trim();
|
|
67
|
+
packageJsonValue.gitHead = gitHead;
|
|
68
|
+
return _promises.writeFile.call(void 0,
|
|
69
|
+
packageJsonPath,
|
|
70
|
+
await _prettier.format.call(void 0, JSON.stringify(packageJsonValue), {
|
|
71
|
+
parser: "json",
|
|
72
|
+
proseWrap: "preserve",
|
|
73
|
+
trailingComma: "none",
|
|
74
|
+
tabWidth: 2,
|
|
75
|
+
semi: true,
|
|
76
|
+
singleQuote: false,
|
|
77
|
+
quoteProps: "as-needed",
|
|
78
|
+
insertPragma: false,
|
|
79
|
+
bracketSameLine: true,
|
|
80
|
+
printWidth: 80,
|
|
81
|
+
bracketSpacing: true,
|
|
82
|
+
arrowParens: "avoid",
|
|
83
|
+
endOfLine: "lf",
|
|
84
|
+
plugins: ["prettier-plugin-packagejson"]
|
|
85
|
+
})
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
exports.PackageManagerTypes = PackageManagerTypes; exports.getPackageInfo = getPackageInfo; exports.addPackageJsonGitHead = addPackageJsonGitHead;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ProjectTagConstants,
|
|
3
|
+
isEqualProjectTag
|
|
4
|
+
} from "./chunk-AQ7B26V3.mjs";
|
|
5
|
+
import {
|
|
6
|
+
parseCargoToml
|
|
7
|
+
} from "./chunk-GEN563U4.mjs";
|
|
8
|
+
import {
|
|
9
|
+
joinPaths
|
|
10
|
+
} from "./chunk-TBW5MCN6.mjs";
|
|
11
|
+
|
|
12
|
+
// src/utils/package-helpers.ts
|
|
13
|
+
import {
|
|
14
|
+
joinPathFragments,
|
|
15
|
+
readJsonFile
|
|
16
|
+
} from "@nx/devkit";
|
|
17
|
+
import { execFileSync } from "child_process";
|
|
18
|
+
import { existsSync } from "node:fs";
|
|
19
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
20
|
+
import { dirname, resolve } from "path";
|
|
21
|
+
import { format } from "prettier";
|
|
22
|
+
var PackageManagerTypes = {
|
|
23
|
+
PackageJson: "package.json",
|
|
24
|
+
CargoToml: "Cargo.toml"
|
|
25
|
+
};
|
|
26
|
+
var getPackageInfo = (project) => {
|
|
27
|
+
if (isEqualProjectTag(
|
|
28
|
+
project,
|
|
29
|
+
ProjectTagConstants.Language.TAG_ID,
|
|
30
|
+
ProjectTagConstants.Language.RUST
|
|
31
|
+
) && existsSync(joinPathFragments(project.root, "Cargo.toml"))) {
|
|
32
|
+
return {
|
|
33
|
+
type: "Cargo.toml",
|
|
34
|
+
content: parseCargoToml(joinPathFragments(project.root, "Cargo.toml"))
|
|
35
|
+
};
|
|
36
|
+
} else if (isEqualProjectTag(
|
|
37
|
+
project,
|
|
38
|
+
ProjectTagConstants.Language.TAG_ID,
|
|
39
|
+
ProjectTagConstants.Language.TYPESCRIPT
|
|
40
|
+
) && existsSync(joinPathFragments(project.root, "package.json"))) {
|
|
41
|
+
return {
|
|
42
|
+
type: "package.json",
|
|
43
|
+
content: readJsonFile(
|
|
44
|
+
joinPathFragments(project.root, "package.json")
|
|
45
|
+
)
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
};
|
|
50
|
+
async function addPackageJsonGitHead(packageRoot) {
|
|
51
|
+
const packageJsonPath = joinPaths(packageRoot, "package.json");
|
|
52
|
+
if (!packageJsonPath) {
|
|
53
|
+
throw new Error(
|
|
54
|
+
"No file path provided. Please provide a valid path to the package.json file."
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
const packageJsonValue = JSON.parse(await readFile(packageJsonPath, "utf8"));
|
|
58
|
+
if (!packageJsonValue || typeof packageJsonValue !== "object") {
|
|
59
|
+
throw new Error(
|
|
60
|
+
`Invalid package.json file at ${packageJsonPath}. Please ensure it is a valid JSON file.`
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
const gitHead = execFileSync("git", ["rev-parse", "HEAD"], {
|
|
64
|
+
cwd: dirname(resolve(packageJsonPath)),
|
|
65
|
+
encoding: "utf8"
|
|
66
|
+
}).trim();
|
|
67
|
+
packageJsonValue.gitHead = gitHead;
|
|
68
|
+
return writeFile(
|
|
69
|
+
packageJsonPath,
|
|
70
|
+
await format(JSON.stringify(packageJsonValue), {
|
|
71
|
+
parser: "json",
|
|
72
|
+
proseWrap: "preserve",
|
|
73
|
+
trailingComma: "none",
|
|
74
|
+
tabWidth: 2,
|
|
75
|
+
semi: true,
|
|
76
|
+
singleQuote: false,
|
|
77
|
+
quoteProps: "as-needed",
|
|
78
|
+
insertPragma: false,
|
|
79
|
+
bracketSameLine: true,
|
|
80
|
+
printWidth: 80,
|
|
81
|
+
bracketSpacing: true,
|
|
82
|
+
arrowParens: "avoid",
|
|
83
|
+
endOfLine: "lf",
|
|
84
|
+
plugins: ["prettier-plugin-packagejson"]
|
|
85
|
+
})
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export {
|
|
90
|
+
PackageManagerTypes,
|
|
91
|
+
getPackageInfo,
|
|
92
|
+
addPackageJsonGitHead
|
|
93
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import {
|
|
2
|
+
normalizeOptions,
|
|
3
|
+
typeScriptLibraryGeneratorFn
|
|
4
|
+
} from "./chunk-M3YWCYUX.mjs";
|
|
5
|
+
import {
|
|
6
|
+
withRunGenerator
|
|
7
|
+
} from "./chunk-SYPFDT7A.mjs";
|
|
8
|
+
import {
|
|
9
|
+
typesNodeVersion
|
|
10
|
+
} from "./chunk-QC5ON3X4.mjs";
|
|
11
|
+
import {
|
|
12
|
+
joinPaths
|
|
13
|
+
} from "./chunk-TBW5MCN6.mjs";
|
|
14
|
+
import {
|
|
15
|
+
__dirname
|
|
16
|
+
} from "./chunk-J7T3ACE5.mjs";
|
|
17
|
+
|
|
18
|
+
// src/generators/node-library/generator.ts
|
|
19
|
+
import {
|
|
20
|
+
formatFiles,
|
|
21
|
+
generateFiles,
|
|
22
|
+
names,
|
|
23
|
+
offsetFromRoot
|
|
24
|
+
} from "@nx/devkit";
|
|
25
|
+
async function nodeLibraryGeneratorFn(tree, schema, config) {
|
|
26
|
+
const filesDir = joinPaths(
|
|
27
|
+
__dirname,
|
|
28
|
+
"src",
|
|
29
|
+
"generators",
|
|
30
|
+
"node-library",
|
|
31
|
+
"files"
|
|
32
|
+
);
|
|
33
|
+
const tsLibraryGeneratorOptions = {
|
|
34
|
+
platform: "node",
|
|
35
|
+
devDependencies: {
|
|
36
|
+
"@types/node": typesNodeVersion
|
|
37
|
+
},
|
|
38
|
+
buildExecutor: "@storm-software/workspace-tools:unbuild",
|
|
39
|
+
...schema,
|
|
40
|
+
directory: schema.directory,
|
|
41
|
+
description: schema.description
|
|
42
|
+
};
|
|
43
|
+
const options = await normalizeOptions(tree, tsLibraryGeneratorOptions);
|
|
44
|
+
const { className, name, propertyName } = names(options.name);
|
|
45
|
+
generateFiles(tree, filesDir, options.projectRoot, {
|
|
46
|
+
...schema,
|
|
47
|
+
dot: ".",
|
|
48
|
+
className,
|
|
49
|
+
name,
|
|
50
|
+
namespace: process.env.STORM_NAMESPACE ?? "storm-software",
|
|
51
|
+
description: schema.description ?? "",
|
|
52
|
+
propertyName,
|
|
53
|
+
js: !!options.js,
|
|
54
|
+
cliCommand: "nx",
|
|
55
|
+
strict: void 0,
|
|
56
|
+
tmpl: "",
|
|
57
|
+
offsetFromRoot: offsetFromRoot(options.projectRoot),
|
|
58
|
+
buildable: options.bundler && options.bundler !== "none",
|
|
59
|
+
hasUnitTestRunner: options.unitTestRunner !== "none"
|
|
60
|
+
});
|
|
61
|
+
await typeScriptLibraryGeneratorFn(tree, tsLibraryGeneratorOptions, config);
|
|
62
|
+
await formatFiles(tree);
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
var generator_default = withRunGenerator(
|
|
66
|
+
"TypeScript Library Creator (NodeJs Platform)",
|
|
67
|
+
nodeLibraryGeneratorFn,
|
|
68
|
+
{
|
|
69
|
+
hooks: {
|
|
70
|
+
applyDefaultOptions: (options) => {
|
|
71
|
+
options.description ??= "A library used by Storm Software to support NodeJs applications";
|
|
72
|
+
options.platform ??= "node";
|
|
73
|
+
return options;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
export {
|
|
80
|
+
nodeLibraryGeneratorFn,
|
|
81
|
+
generator_default
|
|
82
|
+
};
|