@camera.ui/cli 0.0.20 → 0.0.22
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/dist/commands/bundle.js +30 -11
- package/dist/commands/bundle.js.map +1 -1
- package/dist/types.d.ts +6 -3
- package/dist/utils/parser.d.ts +2 -2
- package/dist/utils/parser.js +159 -84
- package/dist/utils/parser.js.map +1 -1
- package/package.json +15 -10
package/dist/commands/bundle.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import AdmZip from 'adm-zip';
|
|
2
2
|
import { cp, mkdir, readdir, readFile, rm, stat, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
|
-
import
|
|
4
|
+
import webpack from 'webpack';
|
|
5
5
|
import { logger } from '../utils/logger.js';
|
|
6
6
|
import { parseConfig } from '../utils/parser.js';
|
|
7
7
|
import { copyPath, detectLanguage, ensureDir, findFile } from '../utils/utils.js';
|
|
@@ -47,7 +47,12 @@ async function copyStandardFiles(rootDir, outDir) {
|
|
|
47
47
|
async function copyAdditionalFiles(rootDir, paths, outDir) {
|
|
48
48
|
logger.info('Copying additional files...');
|
|
49
49
|
for (const path of paths) {
|
|
50
|
-
|
|
50
|
+
if (typeof path === 'string') {
|
|
51
|
+
await copyPath(rootDir, path, resolve(outDir, 'dist'), path.split('/').pop());
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
await copyPath(rootDir, path.source, resolve(outDir, 'dist'), path.target);
|
|
55
|
+
}
|
|
51
56
|
}
|
|
52
57
|
}
|
|
53
58
|
async function processPackageJson(rootDir, outDir, external, pluginLanguage) {
|
|
@@ -58,17 +63,19 @@ async function processPackageJson(rootDir, outDir, external, pluginLanguage) {
|
|
|
58
63
|
const packageJson = JSON.parse(packageJsonContent);
|
|
59
64
|
const mainFile = pluginLanguage === 'python' ? 'main.py' : 'index.js';
|
|
60
65
|
packageJson.main = `./dist/${mainFile}`;
|
|
66
|
+
packageJson.type = 'commonjs';
|
|
61
67
|
delete packageJson.devDependencies;
|
|
62
68
|
// delete packageJson.scripts;
|
|
63
69
|
if (packageJson.dependencies) {
|
|
64
70
|
const newDependencies = {};
|
|
65
71
|
for (const [dep, version] of Object.entries(packageJson.dependencies)) {
|
|
66
|
-
|
|
72
|
+
const requiredDependency = external.some((ext) => {
|
|
67
73
|
if (typeof ext === 'string') {
|
|
68
74
|
return dep === ext || dep.startsWith(`${ext}/`);
|
|
69
75
|
}
|
|
70
76
|
return ext.test(dep);
|
|
71
|
-
})
|
|
77
|
+
});
|
|
78
|
+
if (requiredDependency) {
|
|
72
79
|
newDependencies[dep] = version;
|
|
73
80
|
}
|
|
74
81
|
}
|
|
@@ -121,10 +128,26 @@ async function createBundleZip(bundleDir) {
|
|
|
121
128
|
throw error;
|
|
122
129
|
}
|
|
123
130
|
}
|
|
131
|
+
async function webpackBuild(config) {
|
|
132
|
+
return new Promise((resolve, reject) => {
|
|
133
|
+
webpack(config).run((err, stats) => {
|
|
134
|
+
if (err) {
|
|
135
|
+
reject(err);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (stats?.hasErrors()) {
|
|
139
|
+
const info = stats.toJson();
|
|
140
|
+
reject(new Error(info.errors?.map((error) => error.message).join('\n')));
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
resolve();
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
}
|
|
124
147
|
export async function buildProject() {
|
|
125
148
|
logger.startBuild();
|
|
126
|
-
const {
|
|
127
|
-
const outDir = resolve(
|
|
149
|
+
const { webpackConfig, userConfig } = await parseConfig();
|
|
150
|
+
const outDir = resolve(webpackConfig.output.path, '..');
|
|
128
151
|
const rootDir = userConfig.rootDir ? resolve(process.cwd(), userConfig.rootDir) : process.cwd();
|
|
129
152
|
const pluginLanguage = userConfig.language ?? (await detectLanguage(rootDir));
|
|
130
153
|
await rm(outDir, { recursive: true, force: true });
|
|
@@ -135,13 +158,9 @@ export async function buildProject() {
|
|
|
135
158
|
}
|
|
136
159
|
else {
|
|
137
160
|
logger.startBundle();
|
|
138
|
-
|
|
161
|
+
await webpackBuild(webpackConfig);
|
|
139
162
|
logger.bundleCreated();
|
|
140
|
-
logger.startWrite();
|
|
141
|
-
const output = await bundle.write(rollupOptions.output);
|
|
142
163
|
logger.writeSuccess();
|
|
143
|
-
logger.outputFiles(output.output.map((o) => o.fileName));
|
|
144
|
-
await bundle.close();
|
|
145
164
|
}
|
|
146
165
|
await copyStandardFiles(rootDir, outDir);
|
|
147
166
|
if (userConfig.additionalFiles?.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/commands/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/commands/bundle.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { CameraExtension, PythonVersion } from '@camera.ui/types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Configuration } from 'webpack';
|
|
3
3
|
export type PluginLanguage = 'python' | 'typescript' | 'javascript';
|
|
4
4
|
export interface CameraUiBuildOptions {
|
|
5
5
|
rootDir?: string;
|
|
6
|
-
input?:
|
|
6
|
+
input?: Configuration['entry'];
|
|
7
7
|
mode?: 'development' | 'production';
|
|
8
|
-
additionalFiles?: string[]
|
|
8
|
+
additionalFiles?: string[] | {
|
|
9
|
+
source: string;
|
|
10
|
+
target: string;
|
|
11
|
+
}[];
|
|
9
12
|
external?: (string | RegExp)[];
|
|
10
13
|
language?: PluginLanguage;
|
|
11
14
|
}
|
package/dist/utils/parser.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Configuration } from 'webpack';
|
|
2
2
|
import type { CameraUiBuildOptions } from '../types.js';
|
|
3
3
|
export declare function parseConfig(): Promise<{
|
|
4
|
-
|
|
4
|
+
webpackConfig: Configuration;
|
|
5
5
|
userConfig: CameraUiBuildOptions;
|
|
6
6
|
}>;
|
package/dist/utils/parser.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import commonjs from '@rollup/plugin-commonjs';
|
|
2
|
-
import json from '@rollup/plugin-json';
|
|
3
|
-
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
|
4
|
-
import terser from '@rollup/plugin-terser';
|
|
5
|
-
import typescript from '@rollup/plugin-typescript';
|
|
6
1
|
import { pathExists } from 'fs-extra/esm';
|
|
7
2
|
import { readFile, rm } from 'node:fs/promises';
|
|
8
3
|
import { builtinModules } from 'node:module';
|
|
9
|
-
import { isAbsolute, resolve } from 'node:path';
|
|
4
|
+
import { dirname, isAbsolute, resolve } from 'node:path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
import TerserPlugin from 'terser-webpack-plugin';
|
|
10
7
|
import * as tsImport from 'ts-import';
|
|
8
|
+
import webpack from 'webpack';
|
|
9
|
+
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
|
|
11
10
|
import { logger } from './logger.js';
|
|
12
11
|
import { detectLanguage } from './utils.js';
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = dirname(__filename);
|
|
13
14
|
async function detectJsProjectType(rootDir) {
|
|
14
15
|
try {
|
|
15
16
|
const pluginLanguage = await detectLanguage(rootDir);
|
|
@@ -19,13 +20,81 @@ async function detectJsProjectType(rootDir) {
|
|
|
19
20
|
const packageJson = JSON.parse(await readFile(resolve(rootDir, 'package.json'), 'utf-8'));
|
|
20
21
|
const hasTypeScript = await fileExists(resolve(rootDir, 'tsconfig.json'));
|
|
21
22
|
const isESM = packageJson.type === 'module';
|
|
22
|
-
|
|
23
|
-
return projectType;
|
|
23
|
+
return hasTypeScript ? (isESM ? 'typescript-esm' : 'typescript-cjs') : isESM ? 'javascript-esm' : 'javascript-cjs';
|
|
24
24
|
}
|
|
25
25
|
catch {
|
|
26
26
|
return 'javascript-cjs';
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
+
function getModuleRules(projectType, targetRootDir, cliPackageRoot) {
|
|
30
|
+
const rules = [];
|
|
31
|
+
const isTypeScript = projectType.startsWith('typescript');
|
|
32
|
+
// TypeScript Regeln
|
|
33
|
+
if (isTypeScript) {
|
|
34
|
+
const tsRule = {
|
|
35
|
+
test: /\.ts$/,
|
|
36
|
+
exclude: /node_modules/,
|
|
37
|
+
use: [],
|
|
38
|
+
};
|
|
39
|
+
// TypeScript Loader zuerst
|
|
40
|
+
tsRule.use.push({
|
|
41
|
+
loader: 'ts-loader',
|
|
42
|
+
options: {
|
|
43
|
+
configFile: resolve(targetRootDir, 'tsconfig.json'),
|
|
44
|
+
transpileOnly: true,
|
|
45
|
+
compilerOptions: {
|
|
46
|
+
module: 'esnext', // Immer ESNext für Top-Level-Await
|
|
47
|
+
moduleResolution: 'node',
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
// Dann Babel für finale Transformation
|
|
52
|
+
tsRule.use.push({
|
|
53
|
+
loader: 'babel-loader',
|
|
54
|
+
options: {
|
|
55
|
+
presets: [
|
|
56
|
+
[
|
|
57
|
+
resolve(cliPackageRoot, 'node_modules/@babel/preset-env'),
|
|
58
|
+
{
|
|
59
|
+
targets: { node: '20' },
|
|
60
|
+
modules: false, // Wichtig: Behalte ESM bei
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
resolve(cliPackageRoot, 'node_modules/@babel/preset-typescript'),
|
|
64
|
+
],
|
|
65
|
+
plugins: [[resolve(cliPackageRoot, 'node_modules/@babel/plugin-transform-typescript'), { allowDeclareFields: true }]],
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
rules.push(tsRule);
|
|
69
|
+
}
|
|
70
|
+
// JavaScript Regeln
|
|
71
|
+
const jsRule = {
|
|
72
|
+
test: /\.js$/,
|
|
73
|
+
exclude: /node_modules/,
|
|
74
|
+
type: 'javascript/esm', // Wichtig: Markiere als ESM
|
|
75
|
+
use: {
|
|
76
|
+
loader: 'babel-loader',
|
|
77
|
+
options: {
|
|
78
|
+
presets: [
|
|
79
|
+
[
|
|
80
|
+
resolve(cliPackageRoot, 'node_modules/@babel/preset-env'),
|
|
81
|
+
{
|
|
82
|
+
targets: { node: '20' },
|
|
83
|
+
modules: false, // Behalte ESM bei
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
],
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
rules.push(jsRule);
|
|
91
|
+
// JSON Regel
|
|
92
|
+
rules.push({
|
|
93
|
+
test: /\.json$/,
|
|
94
|
+
type: 'json',
|
|
95
|
+
});
|
|
96
|
+
return rules;
|
|
97
|
+
}
|
|
29
98
|
async function fileExists(path) {
|
|
30
99
|
try {
|
|
31
100
|
await readFile(path);
|
|
@@ -43,8 +112,7 @@ async function loadConfig() {
|
|
|
43
112
|
const asyncResult = await tsImport.load(tsConfigPath, { useCache: false });
|
|
44
113
|
const cacheDir = resolve(process.cwd(), '.cache');
|
|
45
114
|
await rm(cacheDir, { force: true, recursive: true });
|
|
46
|
-
|
|
47
|
-
return config;
|
|
115
|
+
return asyncResult.default || asyncResult;
|
|
48
116
|
}
|
|
49
117
|
if (await pathExists(jsConfigPath)) {
|
|
50
118
|
const config = await import(jsConfigPath);
|
|
@@ -62,92 +130,99 @@ export async function parseConfig() {
|
|
|
62
130
|
const cliRootDir = process.cwd();
|
|
63
131
|
const targetRootDir = userConfig.rootDir ? (isAbsolute(userConfig.rootDir) ? userConfig.rootDir : resolve(cliRootDir, userConfig.rootDir)) : cliRootDir;
|
|
64
132
|
const projectType = await detectJsProjectType(targetRootDir);
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
else if (typeof userConfig.input === 'object') {
|
|
72
|
-
input = Object.fromEntries(Object.entries(userConfig.input).map(([key, value]) => {
|
|
73
|
-
return [key, resolve(targetRootDir, value)];
|
|
74
|
-
}));
|
|
75
|
-
}
|
|
76
|
-
else if (typeof userConfig.input === 'string') {
|
|
77
|
-
input = resolve(targetRootDir, userConfig.input);
|
|
133
|
+
const outputDir = resolve(targetRootDir, 'bundle', 'dist');
|
|
134
|
+
const cliPackageRoot = resolve(__dirname, '../..');
|
|
135
|
+
let entry;
|
|
136
|
+
if (typeof userConfig.input === 'string') {
|
|
137
|
+
entry = resolve(targetRootDir, userConfig.input);
|
|
78
138
|
}
|
|
79
139
|
else {
|
|
80
|
-
|
|
140
|
+
entry = resolve(targetRootDir, projectType.startsWith('typescript') ? 'src/index.ts' : 'src/index.js');
|
|
81
141
|
}
|
|
82
|
-
const
|
|
142
|
+
const nodeModules = builtinModules.flatMap((m) => [m, `node:${m}`]);
|
|
83
143
|
const plugins = [
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
rootDir: targetRootDir,
|
|
88
|
-
browser: false,
|
|
89
|
-
exportConditions: ['node'],
|
|
144
|
+
new webpack.ProgressPlugin(),
|
|
145
|
+
new webpack.optimize.LimitChunkCountPlugin({
|
|
146
|
+
maxChunks: 1,
|
|
90
147
|
}),
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
extensions: ['.js', '.ts'],
|
|
94
|
-
}),
|
|
95
|
-
json({
|
|
96
|
-
preferConst: true,
|
|
97
|
-
compact: true,
|
|
148
|
+
new webpack.DefinePlugin({
|
|
149
|
+
'process.env.NODE_ENV': JSON.stringify(userConfig.mode === 'development' ? 'development' : 'production'),
|
|
98
150
|
}),
|
|
99
151
|
];
|
|
100
|
-
if (
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
tsconfig: tsconfigPath,
|
|
104
|
-
rootDir: targetRootDir,
|
|
105
|
-
outDir: outputDir,
|
|
106
|
-
declaration: false,
|
|
107
|
-
exclude: ['**/*.d.ts'],
|
|
152
|
+
if (userConfig.mode === 'development') {
|
|
153
|
+
plugins.push(new BundleAnalyzerPlugin({
|
|
154
|
+
generateStatsFile: true,
|
|
108
155
|
}));
|
|
109
156
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
157
|
+
const webpackConfig = {
|
|
158
|
+
mode: userConfig.mode === 'development' ? 'development' : 'production',
|
|
159
|
+
target: 'node',
|
|
160
|
+
entry,
|
|
161
|
+
output: {
|
|
162
|
+
path: outputDir,
|
|
163
|
+
filename: 'index.js',
|
|
164
|
+
libraryTarget: 'commonjs2',
|
|
165
|
+
assetModuleFilename: '[path][name][ext]',
|
|
166
|
+
},
|
|
167
|
+
resolve: {
|
|
168
|
+
extensions: ['.ts', '.js', '.mjs', '.json'],
|
|
169
|
+
symlinks: true,
|
|
170
|
+
modules: [resolve(cliPackageRoot, 'node_modules'), 'node_modules'],
|
|
171
|
+
mainFields: ['node', 'main', 'module'],
|
|
172
|
+
extensionAlias: {
|
|
173
|
+
'.js': projectType.startsWith('typescript') ? ['.ts', '.js'] : ['.js'],
|
|
174
|
+
'.mjs': projectType.startsWith('typescript') ? ['.mts', '.mjs'] : ['.mjs'],
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
resolveLoader: {
|
|
178
|
+
modules: [resolve(cliPackageRoot, 'node_modules')],
|
|
179
|
+
},
|
|
180
|
+
module: {
|
|
181
|
+
rules: getModuleRules(projectType, targetRootDir, cliPackageRoot),
|
|
182
|
+
},
|
|
183
|
+
experiments: {
|
|
184
|
+
topLevelAwait: true,
|
|
185
|
+
},
|
|
186
|
+
externals: [
|
|
187
|
+
...nodeModules,
|
|
188
|
+
function ({ request }, callback) {
|
|
189
|
+
if (request &&
|
|
190
|
+
userConfig.external?.some((ext) => {
|
|
191
|
+
if (typeof ext === 'string') {
|
|
192
|
+
return request === ext || request.startsWith(`${ext}/`);
|
|
193
|
+
}
|
|
194
|
+
return ext instanceof RegExp && ext.test(request);
|
|
195
|
+
})) {
|
|
196
|
+
return callback(null, `commonjs ${request}`);
|
|
134
197
|
}
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
198
|
+
callback();
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
optimization: {
|
|
202
|
+
minimize: userConfig.mode !== 'development',
|
|
203
|
+
minimizer: [
|
|
204
|
+
new TerserPlugin({
|
|
205
|
+
terserOptions: {
|
|
206
|
+
compress: {
|
|
207
|
+
typeofs: false,
|
|
208
|
+
},
|
|
209
|
+
module: true,
|
|
210
|
+
keep_classnames: true,
|
|
211
|
+
keep_fnames: true,
|
|
212
|
+
},
|
|
213
|
+
}),
|
|
214
|
+
],
|
|
146
215
|
},
|
|
147
216
|
plugins,
|
|
148
|
-
|
|
149
|
-
|
|
217
|
+
stats: {
|
|
218
|
+
colors: true,
|
|
219
|
+
errorDetails: true,
|
|
220
|
+
},
|
|
221
|
+
node: {
|
|
222
|
+
__dirname: false,
|
|
223
|
+
__filename: false,
|
|
224
|
+
},
|
|
150
225
|
};
|
|
151
|
-
return {
|
|
226
|
+
return { webpackConfig, userConfig };
|
|
152
227
|
}
|
|
153
228
|
//# sourceMappingURL=parser.js.map
|
package/dist/utils/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/utils/parser.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/utils/parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camera.ui/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.22",
|
|
4
4
|
"description": "camera.ui cli",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -22,32 +22,37 @@
|
|
|
22
22
|
"prepublishOnly": "npm i --package-lock-only && npm run lint && npm run format && npm run build"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@
|
|
26
|
-
"@
|
|
27
|
-
"@
|
|
28
|
-
"@
|
|
29
|
-
"@rollup/plugin-typescript": "^12.1.1",
|
|
25
|
+
"@babel/core": "^7.26.0",
|
|
26
|
+
"@babel/plugin-transform-typescript": "^7.25.9",
|
|
27
|
+
"@babel/preset-env": "^7.26.0",
|
|
28
|
+
"@babel/preset-typescript": "^7.26.0",
|
|
30
29
|
"adm-zip": "^0.5.16",
|
|
30
|
+
"babel-loader": "^9.2.1",
|
|
31
31
|
"chalk": "^5.3.0",
|
|
32
32
|
"commander": "^12.1.0",
|
|
33
33
|
"fs-extra": "^11.2.0",
|
|
34
34
|
"gradient-string": "^3.0.0",
|
|
35
|
-
"inquirer": "^12.0.
|
|
35
|
+
"inquirer": "^12.0.1",
|
|
36
|
+
"json-loader": "^0.5.7",
|
|
36
37
|
"ora": "^8.1.0",
|
|
37
38
|
"prompts": "^2.4.2",
|
|
38
|
-
"rollup": "^4.24.0",
|
|
39
39
|
"semver": "^7.6.3",
|
|
40
|
+
"terser-webpack-plugin": "^5.3.10",
|
|
40
41
|
"ts-import": "^5.0.0-beta.0",
|
|
41
|
-
"ts-
|
|
42
|
+
"ts-loader": "^9.5.1",
|
|
43
|
+
"webpack": "^5.95.0",
|
|
44
|
+
"webpack-bundle-analyzer": "^4.10.2",
|
|
45
|
+
"webpack-cli": "^5.1.4"
|
|
42
46
|
},
|
|
43
47
|
"devDependencies": {
|
|
44
48
|
"@camera.ui/types": "^0.0.78",
|
|
45
49
|
"@stylistic/eslint-plugin": "^2.9.0",
|
|
46
50
|
"@types/adm-zip": "^0.5.5",
|
|
47
51
|
"@types/fs-extra": "^11.0.4",
|
|
48
|
-
"@types/node": "^22.8.
|
|
52
|
+
"@types/node": "^22.8.1",
|
|
49
53
|
"@types/prompts": "^2.4.9",
|
|
50
54
|
"@types/semver": "^7.5.8",
|
|
55
|
+
"@types/webpack-bundle-analyzer": "^4.7.0",
|
|
51
56
|
"@typescript-eslint/parser": "^8.11.0",
|
|
52
57
|
"eslint": "^9.13.0",
|
|
53
58
|
"globals": "^15.11.0",
|