@common-stack/common-tools 8.5.1-alpha.0 → 8.5.1-alpha.2
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/bin/common-tools.js +3 -1
- package/lib/cli/prepWebConfig.d.ts +23 -0
- package/lib/cli/prepWebConfig.d.ts.map +1 -0
- package/lib/cli/prepWebConfig.js +212 -0
- package/lib/cli/prepWebConfig.js.map +1 -0
- package/lib/index.d.ts +25 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +5 -3
package/bin/common-tools.js
CHANGED
|
@@ -11,16 +11,18 @@ import { createGenerateResolutionsCommand } from '../lib/cli/generateResolutions
|
|
|
11
11
|
import { createUpdateDependenciesCommand } from '../lib/cli/updateDependencies.js';
|
|
12
12
|
import { createSortPackageJsonCommand } from '../lib/cli/sortPackageJson.js';
|
|
13
13
|
import { createUpdateDependencyVersionCommand } from '../lib/cli/updateDependencyVersion.js';
|
|
14
|
+
import { createPrepWebConfigCommand } from '../lib/cli/prepWebConfig.js';
|
|
14
15
|
|
|
15
16
|
const program = new Command();
|
|
16
17
|
|
|
17
|
-
program.name('
|
|
18
|
+
program.name('cdecodecli').description('Common CLI tools for monorepo management').version('8.2.4-alpha.5');
|
|
18
19
|
|
|
19
20
|
// Add all subcommands
|
|
20
21
|
program.addCommand(createGenerateResolutionsCommand());
|
|
21
22
|
program.addCommand(createUpdateDependenciesCommand());
|
|
22
23
|
program.addCommand(createSortPackageJsonCommand());
|
|
23
24
|
program.addCommand(createUpdateDependencyVersionCommand());
|
|
25
|
+
program.addCommand(createPrepWebConfigCommand());
|
|
24
26
|
|
|
25
27
|
// Parse and execute
|
|
26
28
|
program.parse();
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI command: prepWebConfig
|
|
3
|
+
*
|
|
4
|
+
* Generates the merged configuration (cde-webconfig.json) for a frontend server
|
|
5
|
+
* by resolving default-config.json + project config.json + environment variables.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* cdecodecli prepWebConfig [options]
|
|
9
|
+
*
|
|
10
|
+
* Options:
|
|
11
|
+
* --config Path to project config.json (default: ./config.json)
|
|
12
|
+
* --out Output directory for the generated config (default: ./app)
|
|
13
|
+
* --env-file Path to a .env file to load (falls back to ENV_FILE env var)
|
|
14
|
+
*/
|
|
15
|
+
import { Command } from 'commander';
|
|
16
|
+
export declare function createPrepWebConfigCommand(): Command;
|
|
17
|
+
export interface PrepWebConfigOptions {
|
|
18
|
+
configPath: string;
|
|
19
|
+
outputDir: string;
|
|
20
|
+
envFile?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function runPrepWebConfig(options: PrepWebConfigOptions): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=prepWebConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepWebConfig.d.ts","sourceRoot":"","sources":["../../src/cli/prepWebConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgJpC,wBAAgB,0BAA0B,IAAI,OAAO,CAiBpD;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CnF"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { setupConfig, updateFromConfig } from '@common-stack/rollup-vite-utils';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* CLI command: prepWebConfig
|
|
8
|
+
*
|
|
9
|
+
* Generates the merged configuration (cde-webconfig.json) for a frontend server
|
|
10
|
+
* by resolving default-config.json + project config.json + environment variables.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* cdecodecli prepWebConfig [options]
|
|
14
|
+
*
|
|
15
|
+
* Options:
|
|
16
|
+
* --config Path to project config.json (default: ./config.json)
|
|
17
|
+
* --out Output directory for the generated config (default: ./app)
|
|
18
|
+
* --env-file Path to a .env file to load (falls back to ENV_FILE env var)
|
|
19
|
+
*/
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Value helpers
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
function coerceType(value) {
|
|
24
|
+
if (value === undefined)
|
|
25
|
+
return undefined;
|
|
26
|
+
if (value === 'true')
|
|
27
|
+
return true;
|
|
28
|
+
if (value === 'false')
|
|
29
|
+
return false;
|
|
30
|
+
if (value === 'null')
|
|
31
|
+
return null;
|
|
32
|
+
if (value === 'undefined')
|
|
33
|
+
return undefined;
|
|
34
|
+
if (/^-?\d+(\.\d+)?$/.test(value)) {
|
|
35
|
+
return parseFloat(value);
|
|
36
|
+
}
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Resolves a single $ expression segment (e.g. $.env.CLIENT_URL.url.port)
|
|
41
|
+
*/
|
|
42
|
+
function resolveSegment(config, expr) {
|
|
43
|
+
if (typeof expr !== 'string' || !expr.startsWith('$.')) {
|
|
44
|
+
const literal = expr.replace(/^['"]|['"]$/g, '');
|
|
45
|
+
return { value: coerceType(literal), resolved: true };
|
|
46
|
+
}
|
|
47
|
+
const parts = expr.split('.').slice(1); // Remove leading '$.'
|
|
48
|
+
if (parts[0] === 'env') {
|
|
49
|
+
const envVar = parts[1];
|
|
50
|
+
const envValue = process.env[envVar];
|
|
51
|
+
if (!envValue && envValue !== '') {
|
|
52
|
+
return { value: undefined, resolved: false };
|
|
53
|
+
}
|
|
54
|
+
if (parts[2] === 'url') {
|
|
55
|
+
try {
|
|
56
|
+
const url = new URL(envValue);
|
|
57
|
+
if (parts[3] === 'pathname')
|
|
58
|
+
return { value: url.pathname, resolved: true };
|
|
59
|
+
if (parts[3] === 'port') {
|
|
60
|
+
if (!url.port)
|
|
61
|
+
return { value: undefined, resolved: false };
|
|
62
|
+
return { value: parseInt(url.port, 10), resolved: true };
|
|
63
|
+
}
|
|
64
|
+
if (parts[3] === 'hostname')
|
|
65
|
+
return { value: url.hostname, resolved: true };
|
|
66
|
+
return { value: envValue, resolved: true };
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
console.warn(`Invalid URL in ${envVar}: ${envValue}`);
|
|
70
|
+
return { value: undefined, resolved: false };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return { value: coerceType(envValue), resolved: true };
|
|
74
|
+
}
|
|
75
|
+
// Regular config path resolution
|
|
76
|
+
const result = parts.reduce((o, p) => {
|
|
77
|
+
if (o === undefined || o === null || typeof o !== 'object')
|
|
78
|
+
return undefined;
|
|
79
|
+
return o[p];
|
|
80
|
+
}, config);
|
|
81
|
+
return { value: result, resolved: result !== undefined };
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Resolves path expressions with chained '|' fallbacks.
|
|
85
|
+
* E.g. $.env.CLIENT_URL.url.port|$.env.LOCAL_CLIENT_URL.url.port|'3000'
|
|
86
|
+
*/
|
|
87
|
+
function resolvePath(config, pathExpr) {
|
|
88
|
+
if (typeof pathExpr !== 'string')
|
|
89
|
+
return pathExpr;
|
|
90
|
+
const segments = pathExpr.split('|');
|
|
91
|
+
for (let i = 0; i < segments.length; i++) {
|
|
92
|
+
const segment = segments[i].trim();
|
|
93
|
+
const { value, resolved } = resolveSegment(config, segment);
|
|
94
|
+
if (resolved && value !== undefined)
|
|
95
|
+
return value;
|
|
96
|
+
if (i === segments.length - 1) {
|
|
97
|
+
if (!segment.startsWith('$.')) {
|
|
98
|
+
return coerceType(segment.replace(/^['"]|['"]$/g, ''));
|
|
99
|
+
}
|
|
100
|
+
console.warn(`Warning: Could not resolve any fallback in expression: ${pathExpr}`);
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return pathExpr;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Resolves all buildConfig values that use $.env expressions
|
|
108
|
+
*/
|
|
109
|
+
function resolveBuildConfig(config) {
|
|
110
|
+
const buildConfig = config.buildConfig;
|
|
111
|
+
if (!buildConfig)
|
|
112
|
+
return config;
|
|
113
|
+
const resolvedBuildConfig = {};
|
|
114
|
+
for (const [key, value] of Object.entries(buildConfig)) {
|
|
115
|
+
resolvedBuildConfig[key] = resolvePath(config, value);
|
|
116
|
+
}
|
|
117
|
+
return { ...config, buildConfig: resolvedBuildConfig };
|
|
118
|
+
}
|
|
119
|
+
// ---------------------------------------------------------------------------
|
|
120
|
+
// Env loader
|
|
121
|
+
// ---------------------------------------------------------------------------
|
|
122
|
+
function loadEnv(envFilePath) {
|
|
123
|
+
let dotenv;
|
|
124
|
+
try {
|
|
125
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
126
|
+
dotenv = require('dotenv');
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
// dotenv not available – env must be set externally
|
|
130
|
+
}
|
|
131
|
+
if (!dotenv)
|
|
132
|
+
return;
|
|
133
|
+
if (envFilePath) {
|
|
134
|
+
const resolved = path.resolve(envFilePath);
|
|
135
|
+
if (fs.existsSync(resolved)) {
|
|
136
|
+
dotenv.config({ path: resolved });
|
|
137
|
+
console.log(`Loaded environment from ${resolved}`);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.warn(`Warning: Specified env file not found at ${resolved}`);
|
|
141
|
+
}
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
// Fallback: try the conventional dev.env path
|
|
145
|
+
const defaultEnvPath = path.resolve('../../config/development/dev.env');
|
|
146
|
+
if (fs.existsSync(defaultEnvPath)) {
|
|
147
|
+
dotenv.config({ path: defaultEnvPath });
|
|
148
|
+
console.log(`Loaded environment from ${defaultEnvPath}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// ---------------------------------------------------------------------------
|
|
152
|
+
// Command factory
|
|
153
|
+
// ---------------------------------------------------------------------------
|
|
154
|
+
function createPrepWebConfigCommand() {
|
|
155
|
+
const command = new Command('prepWebConfig')
|
|
156
|
+
.description('Generate merged frontend configuration (cde-webconfig.json) by resolving config.json + environment variables')
|
|
157
|
+
.option('-c, --config <path>', 'Path to project config.json', './config.json')
|
|
158
|
+
.option('-o, --out <dir>', 'Output directory for the generated config', './app')
|
|
159
|
+
.option('-e, --env-file <path>', 'Path to .env file to load (defaults to ENV_FILE env var)')
|
|
160
|
+
.action(async (options) => {
|
|
161
|
+
await runPrepWebConfig({
|
|
162
|
+
configPath: options.config,
|
|
163
|
+
outputDir: options.out,
|
|
164
|
+
envFile: options.envFile || process.env.ENV_FILE,
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
return command;
|
|
168
|
+
}
|
|
169
|
+
async function runPrepWebConfig(options) {
|
|
170
|
+
const projectConfigPath = path.resolve(options.configPath);
|
|
171
|
+
const outputDir = path.resolve(options.outputDir);
|
|
172
|
+
// 1. Load environment
|
|
173
|
+
loadEnv(options.envFile);
|
|
174
|
+
// 2. Verify config exists
|
|
175
|
+
if (!fs.existsSync(projectConfigPath)) {
|
|
176
|
+
console.error(`Error: Config file not found at ${projectConfigPath}`);
|
|
177
|
+
process.exit(1);
|
|
178
|
+
}
|
|
179
|
+
// 3. Merge and resolve config
|
|
180
|
+
const mergedConfig = setupConfig(projectConfigPath);
|
|
181
|
+
const resolvedConfig = resolveBuildConfig(mergedConfig);
|
|
182
|
+
// 4. Ensure output directory exists
|
|
183
|
+
if (!fs.existsSync(outputDir)) {
|
|
184
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
185
|
+
console.log(`Created directory: ${outputDir}`);
|
|
186
|
+
}
|
|
187
|
+
// 5. Write the merged configuration
|
|
188
|
+
const finalConfigPath = path.resolve(outputDir, 'cde-webconfig.json');
|
|
189
|
+
fs.writeFileSync(finalConfigPath, JSON.stringify(resolvedConfig, null, 2));
|
|
190
|
+
console.log(`Merged configuration written to ${finalConfigPath}`);
|
|
191
|
+
// 6. Add output directory to .gitignore if not already present
|
|
192
|
+
const outDirName = path.basename(outputDir);
|
|
193
|
+
const gitignorePath = path.resolve('.gitignore');
|
|
194
|
+
let gitignoreContent = '';
|
|
195
|
+
if (fs.existsSync(gitignorePath)) {
|
|
196
|
+
gitignoreContent = fs.readFileSync(gitignorePath, 'utf8');
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
fs.writeFileSync(gitignorePath, '');
|
|
200
|
+
console.log('Created .gitignore file');
|
|
201
|
+
}
|
|
202
|
+
if (!gitignoreContent.includes(outDirName)) {
|
|
203
|
+
fs.appendFileSync(gitignorePath, `\n${outDirName}\n`);
|
|
204
|
+
console.log(`Added "${outDirName}" to .gitignore`);
|
|
205
|
+
}
|
|
206
|
+
// 7. Update package.json from config (modules, devModules, etc.)
|
|
207
|
+
await updateFromConfig(finalConfigPath);
|
|
208
|
+
console.log('Web config preparation complete.');
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export { createPrepWebConfigCommand, runPrepWebConfig };
|
|
212
|
+
//# sourceMappingURL=prepWebConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepWebConfig.js","sources":["../../src/cli/prepWebConfig.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -372,5 +372,28 @@ declare function runUpdateDependencyVersion(rootDir: string, options: UpdateDepe
|
|
|
372
372
|
*/
|
|
373
373
|
declare function runUpdateDependencyVersionCLI(args?: string[]): Promise<void>;
|
|
374
374
|
|
|
375
|
-
|
|
376
|
-
|
|
375
|
+
/**
|
|
376
|
+
* CLI command: prepWebConfig
|
|
377
|
+
*
|
|
378
|
+
* Generates the merged configuration (cde-webconfig.json) for a frontend server
|
|
379
|
+
* by resolving default-config.json + project config.json + environment variables.
|
|
380
|
+
*
|
|
381
|
+
* Usage:
|
|
382
|
+
* cdecodecli prepWebConfig [options]
|
|
383
|
+
*
|
|
384
|
+
* Options:
|
|
385
|
+
* --config Path to project config.json (default: ./config.json)
|
|
386
|
+
* --out Output directory for the generated config (default: ./app)
|
|
387
|
+
* --env-file Path to a .env file to load (falls back to ENV_FILE env var)
|
|
388
|
+
*/
|
|
389
|
+
|
|
390
|
+
declare function createPrepWebConfigCommand(): Command;
|
|
391
|
+
interface PrepWebConfigOptions {
|
|
392
|
+
configPath: string;
|
|
393
|
+
outputDir: string;
|
|
394
|
+
envFile?: string;
|
|
395
|
+
}
|
|
396
|
+
declare function runPrepWebConfig(options: PrepWebConfigOptions): Promise<void>;
|
|
397
|
+
|
|
398
|
+
export { ADD_END_NEWLINE, DEFAULT_COMMON_STACK_PACKAGES, DEFAULT_CONFIG, JSON_SPACING, buildPackageMap, createGenerateResolutionsCommand, createPrepWebConfigCommand, createSortPackageJsonCommand, createUpdateDependenciesCommand, createUpdateDependencyVersionCommand, execCommand, fileExists, fileExistsSync, findConfigFile, findPackageDirectories, findPackageJsonFiles, getTargetPathsForPackage, getWorkspacePackages, loadConfig, loadConfigWithDefaults, mergeDependencies, readCDecodeConfigFile, readPackageJson, readPackageJsonSync, resolveConfigPaths, runGenerateResolutions, runGenerateResolutionsCLI, runNcuUpdate, runPrepWebConfig, runSortPackageJson, runSortPackageJsonCLI, runUpdateDependenciesCLI, runUpdateDependenciesCLIAction, runUpdateDependenciesWorkflow, runUpdateDependencyVersion, runUpdateDependencyVersionCLI, runYarnInstall, sortAllPackageJsonFiles, sortObjectKeys, sortPackageJsonFile, updateDependencies, updateDependencyVersions, writePackageJson, writePackageJsonSync };
|
|
399
|
+
export type { CDecodeConfig, CodegenConfig, DependencyUpdateConfig, DeployVersionUpdateConfig, GenerateResolutionsOptions, PackageJson, PrepWebConfigOptions, ProjectPathsConfig, ServiceSchemasConfig, SortPackageJsonConfig, SortPackageJsonOptions, UpdateDependenciesConfig, UpdateDependenciesOptions, UpdateDependencyVersionConfig, UpdateDependencyVersionOptions };
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACH,yBAAyB,EACzB,oCAAoC,EACpC,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,IAAI,2BAA2B,EAChD,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,aAAa,IAAI,mBAAmB,GAC5C,MAAM,iCAAiC,CAAC;AAGzC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACH,yBAAyB,EACzB,oCAAoC,EACpC,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,IAAI,2BAA2B,EAChD,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,aAAa,IAAI,mBAAmB,GAC5C,MAAM,iCAAiC,CAAC;AAGzC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -8,4 +8,5 @@ export { createGenerateResolutionsCommand, runGenerateResolutions, runGenerateRe
|
|
|
8
8
|
export { createUpdateDependenciesCommand, runUpdateDependenciesCLI, runUpdateDependenciesCLIAction } from './cli/updateDependencies.js';
|
|
9
9
|
export { createSortPackageJsonCommand, runSortPackageJson, runSortPackageJsonCLI, sortAllPackageJsonFiles, sortPackageJsonFile } from './cli/sortPackageJson.js';
|
|
10
10
|
export { createUpdateDependencyVersionCommand, runUpdateDependencyVersion, runUpdateDependencyVersionCLI, updateDependencyVersions } from './cli/updateDependencyVersion.js';
|
|
11
|
+
export { createPrepWebConfigCommand, runPrepWebConfig } from './cli/prepWebConfig.js';
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@common-stack/common-tools",
|
|
3
|
-
"version": "8.5.1-alpha.
|
|
3
|
+
"version": "8.5.1-alpha.2",
|
|
4
4
|
"description": "Common CLI tools for monorepo management - resolution generation, dependency updates, and package.json utilities",
|
|
5
5
|
"homepage": "https://github.com/cdmbase/fullstack-pro#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"module": "lib/index.js",
|
|
18
18
|
"typings": "lib/index.d.ts",
|
|
19
19
|
"bin": {
|
|
20
|
+
"cdecodecli": "bin/common-tools.js",
|
|
20
21
|
"common-tools": "bin/common-tools.js",
|
|
21
22
|
"generate-resolutions": "bin/generate-resolutions.js",
|
|
22
23
|
"sort-package-json": "bin/sort-package-json.js",
|
|
@@ -38,8 +39,9 @@
|
|
|
38
39
|
"watch": "npm run build:lib:watch"
|
|
39
40
|
},
|
|
40
41
|
"dependencies": {
|
|
41
|
-
"@common-stack/rollup-vite-utils": "8.5.1-alpha.
|
|
42
|
+
"@common-stack/rollup-vite-utils": "8.5.1-alpha.2",
|
|
42
43
|
"commander": "^12.1.0",
|
|
44
|
+
"dotenv": "^16.4.0",
|
|
43
45
|
"glob": "^11.0.0",
|
|
44
46
|
"sort-package-json": "^2.10.0"
|
|
45
47
|
},
|
|
@@ -62,7 +64,7 @@
|
|
|
62
64
|
"publishConfig": {
|
|
63
65
|
"access": "public"
|
|
64
66
|
},
|
|
65
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "f163a83bf637a424d5891c4d1dbf007e9ec86a72",
|
|
66
68
|
"typescript": {
|
|
67
69
|
"definition": "lib/index.d.ts"
|
|
68
70
|
}
|