@vscode/component-explorer-webpack-plugin 0.3.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/dist/_virtual/_build-info.js +4 -0
- package/dist/_virtual/_build-info.js.map +1 -0
- package/dist/html.d.ts +2 -0
- package/dist/html.d.ts.map +1 -0
- package/dist/html.js +21 -0
- package/dist/html.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/loader.cjs +55 -0
- package/dist/loader.cjs.map +1 -0
- package/dist/loader.d.ts +8 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/plugin.d.ts +14 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +67 -0
- package/dist/plugin.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_build-info.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/html.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI,MAAM,CAiBxC"}
|
package/dist/html.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
function getExplorerHtml() {
|
|
2
|
+
return `<!DOCTYPE html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<title>Component Explorer</title>
|
|
8
|
+
<style>
|
|
9
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
10
|
+
html, body, #root { height: 100%; width: 100%; }
|
|
11
|
+
</style>
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
<div id="root"></div>
|
|
15
|
+
<script type="module" src="/bundled/___explorer.js"></script>
|
|
16
|
+
</body>
|
|
17
|
+
</html>`;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { getExplorerHtml };
|
|
21
|
+
//# sourceMappingURL=html.js.map
|
package/dist/html.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.js","sources":["../src/html.ts"],"sourcesContent":[null],"names":[],"mappings":"SAAgB,eAAe,GAAA;IAC9B,OAAO,CAAA;;;;;;;;;;;;;;;QAeA;AACR;;;;"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,8BAA8B,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/dist/loader.cjs
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var path = require('node:path');
|
|
4
|
+
var tinyglobby = require('tinyglobby');
|
|
5
|
+
|
|
6
|
+
const VIRTUAL_FIXTURES = 'virtual:component-explorer/fixtures';
|
|
7
|
+
/**
|
|
8
|
+
* Webpack/Rspack loader that generates virtual module content for the component explorer.
|
|
9
|
+
* Reads `id` from the resource query to decide which virtual module to produce:
|
|
10
|
+
* - `entry` → bootstrap code that creates the ExplorerApp
|
|
11
|
+
* - `fixtures` → module that discovers and re-exports all fixture files
|
|
12
|
+
*/
|
|
13
|
+
function componentExplorerLoader() {
|
|
14
|
+
const query = new URLSearchParams(this.resourceQuery.slice(1));
|
|
15
|
+
const id = query.get('id');
|
|
16
|
+
const { include } = this.getOptions();
|
|
17
|
+
if (id === 'entry') {
|
|
18
|
+
return generateEntryModule();
|
|
19
|
+
}
|
|
20
|
+
if (id === 'fixtures') {
|
|
21
|
+
return generateFixturesModule(String(include), this.rootContext);
|
|
22
|
+
}
|
|
23
|
+
throw new Error(`Unknown component-explorer virtual module: ${id}`);
|
|
24
|
+
}
|
|
25
|
+
function generateEntryModule() {
|
|
26
|
+
return `
|
|
27
|
+
import { ExplorerApp } from '@vscode/component-explorer/viewer';
|
|
28
|
+
|
|
29
|
+
const rootElement = document.getElementById('root');
|
|
30
|
+
new ExplorerApp(rootElement, { loadFixtures: async () => {
|
|
31
|
+
const m = await import('${VIRTUAL_FIXTURES}');
|
|
32
|
+
return m.default;
|
|
33
|
+
} });
|
|
34
|
+
`;
|
|
35
|
+
}
|
|
36
|
+
function generateFixturesModule(include, rootContext) {
|
|
37
|
+
const files = tinyglobby.globSync(include, { cwd: rootContext });
|
|
38
|
+
const imports = files.map((file, i) => {
|
|
39
|
+
const absolute = path.resolve(rootContext, file).split(path.sep).join('/');
|
|
40
|
+
return `import * as fixture_${i} from '${absolute}';`;
|
|
41
|
+
});
|
|
42
|
+
const entries = files.map((file, i) => {
|
|
43
|
+
const relative = './' + file.split(path.sep).join('/');
|
|
44
|
+
return ` '${relative}': fixture_${i},`;
|
|
45
|
+
});
|
|
46
|
+
return `${imports.join('\n')}
|
|
47
|
+
|
|
48
|
+
export default {
|
|
49
|
+
${entries.join('\n')}
|
|
50
|
+
};
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
module.exports = componentExplorerLoader;
|
|
55
|
+
//# sourceMappingURL=loader.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.cjs","sources":["../src/loader.ts"],"sourcesContent":[null],"names":["globSync"],"mappings":";;;;;AAGA,MAAM,gBAAgB,GAAG,qCAAqC;AAE9D;;;;;AAKG;AACW,SAAU,uBAAuB,GAAA;AAC9C,IAAA,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;AAErC,IAAA,IAAI,EAAE,KAAK,OAAO,EAAE;QACnB,OAAO,mBAAmB,EAAE;IAC7B;AACA,IAAA,IAAI,EAAE,KAAK,UAAU,EAAE;QACtB,OAAO,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;IACjE;AACA,IAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,EAAE,CAAA,CAAE,CAAC;AACpE;AAEA,SAAS,mBAAmB,GAAA;IAC3B,OAAO;;;;;2BAKmB,gBAAgB,CAAA;;;CAG1C;AACD;AAEA,SAAS,sBAAsB,CAAC,OAAe,EAAE,WAAmB,EAAA;AACnE,IAAA,MAAM,KAAK,GAAGA,mBAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;IAErD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1E,QAAA,OAAO,CAAA,oBAAA,EAAuB,CAAC,CAAA,OAAA,EAAU,QAAQ,IAAI;AACtD,IAAA,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AACrC,QAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACtD,QAAA,OAAO,CAAA,GAAA,EAAM,QAAQ,CAAA,WAAA,EAAc,CAAC,GAAG;AACxC,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;AAG3B,EAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEnB;AACD;;;;"}
|
package/dist/loader.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webpack/Rspack loader that generates virtual module content for the component explorer.
|
|
3
|
+
* Reads `id` from the resource query to decide which virtual module to produce:
|
|
4
|
+
* - `entry` → bootstrap code that creates the ExplorerApp
|
|
5
|
+
* - `fixtures` → module that discovers and re-exports all fixture files
|
|
6
|
+
*/
|
|
7
|
+
export default function componentExplorerLoader(this: any): string;
|
|
8
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,IAAI,EAAE,GAAG,UAYxD"}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Compiler } from 'webpack';
|
|
2
|
+
export interface ComponentExplorerPluginOptions {
|
|
3
|
+
/** Glob pattern for fixture files (relative to the compiler context). */
|
|
4
|
+
include: string;
|
|
5
|
+
/** Explorer route path. Default: '/___explorer' */
|
|
6
|
+
route?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class ComponentExplorerPlugin {
|
|
9
|
+
private readonly _include;
|
|
10
|
+
private readonly _route;
|
|
11
|
+
constructor(options: ComponentExplorerPluginOptions);
|
|
12
|
+
apply(compiler: Compiler): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAC;AAUrD,MAAM,WAAW,8BAA8B;IAC9C,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,uBAAuB;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,EAAE,8BAA8B;IAKnD,KAAK,CAAC,QAAQ,EAAE,QAAQ;CAyDxB"}
|
package/dist/plugin.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { fileURLToPath } from 'node:url';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { getExplorerHtml } from './html.js';
|
|
4
|
+
|
|
5
|
+
const EXPLORER_ROUTE = '/___explorer';
|
|
6
|
+
const VIRTUAL_PREFIX = 'virtual:component-explorer/';
|
|
7
|
+
const VIRTUAL_ENTRY = VIRTUAL_PREFIX + 'entry';
|
|
8
|
+
const LOADER_PATH = path.resolve(path.dirname(fileURLToPath(import.meta.url)), 'loader.cjs');
|
|
9
|
+
class ComponentExplorerPlugin {
|
|
10
|
+
_include;
|
|
11
|
+
_route;
|
|
12
|
+
constructor(options) {
|
|
13
|
+
this._include = options.include;
|
|
14
|
+
this._route = options.route ?? EXPLORER_ROUTE;
|
|
15
|
+
}
|
|
16
|
+
apply(compiler) {
|
|
17
|
+
const include = this._include;
|
|
18
|
+
const route = this._route;
|
|
19
|
+
const loaderPath = LOADER_PATH;
|
|
20
|
+
// Add a loader rule for virtual modules identified by `?component-explorer&` query.
|
|
21
|
+
// The loader reads `id` from the query string and generates the appropriate module content.
|
|
22
|
+
// `type: 'javascript/auto'` ensures webpack parses the loader output as ESM (it contains
|
|
23
|
+
// import statements) regardless of the physical file's extension (.cjs).
|
|
24
|
+
compiler.options.module.rules.push({
|
|
25
|
+
resourceQuery: /\?component-explorer&/,
|
|
26
|
+
type: 'javascript/auto',
|
|
27
|
+
use: [{ loader: loaderPath, options: { include } }],
|
|
28
|
+
});
|
|
29
|
+
// Rewrite virtual module requests to the loader file with a query parameter,
|
|
30
|
+
// so webpack/rspack can resolve them as real files handled by the loader above.
|
|
31
|
+
new compiler.webpack.NormalModuleReplacementPlugin(new RegExp('^' + VIRTUAL_PREFIX.replace(/[/.]/g, '\\$&')), (resource) => {
|
|
32
|
+
const id = resource.request.slice(VIRTUAL_PREFIX.length);
|
|
33
|
+
resource.request = `${loaderPath}?component-explorer&id=${id}`;
|
|
34
|
+
}).apply(compiler);
|
|
35
|
+
// Register the explorer entry point as an additional entry chunk.
|
|
36
|
+
new compiler.webpack.EntryPlugin(compiler.context, VIRTUAL_ENTRY, {
|
|
37
|
+
name: '___explorer',
|
|
38
|
+
}).apply(compiler);
|
|
39
|
+
// Serve explorer HTML page in dev server.
|
|
40
|
+
if (compiler.options.devServer) {
|
|
41
|
+
const originalSetupMiddlewares = compiler.options.devServer.setupMiddlewares;
|
|
42
|
+
compiler.options.devServer.setupMiddlewares = (middlewares, devServer) => {
|
|
43
|
+
middlewares.unshift({
|
|
44
|
+
name: 'component-explorer',
|
|
45
|
+
middleware: (req, res, next) => {
|
|
46
|
+
const url = req.url ?? '';
|
|
47
|
+
const parsedUrl = new URL(url, 'http://localhost');
|
|
48
|
+
if (parsedUrl.pathname === route) {
|
|
49
|
+
res.setHeader('Content-Type', 'text/html');
|
|
50
|
+
res.end(getExplorerHtml());
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
next();
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
if (originalSetupMiddlewares) {
|
|
58
|
+
return originalSetupMiddlewares(middlewares, devServer);
|
|
59
|
+
}
|
|
60
|
+
return middlewares;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { ComponentExplorerPlugin };
|
|
67
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../src/plugin.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA,MAAM,cAAc,GAAG,cAAc;AACrC,MAAM,cAAc,GAAG,6BAA6B;AACpD,MAAM,aAAa,GAAG,cAAc,GAAG,OAAO;AAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;MAS/E,uBAAuB,CAAA;AAClB,IAAA,QAAQ;AACR,IAAA,MAAM;AAEvB,IAAA,WAAA,CAAY,OAAuC,EAAA;AAClD,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,cAAc;IAC9C;AAEA,IAAA,KAAK,CAAC,QAAkB,EAAA;AACvB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;AAC7B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM;QACzB,MAAM,UAAU,GAAG,WAAW;;;;;QAM9B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AAClC,YAAA,aAAa,EAAE,uBAAuB;AACtC,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;AACvB,SAAA,CAAC;;;QAI9B,IAAI,QAAQ,CAAC,OAAO,CAAC,6BAA6B,CACjD,IAAI,MAAM,CAAC,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EACzD,CAAC,QAAQ,KAAI;AACZ,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;YACxD,QAAQ,CAAC,OAAO,GAAG,CAAA,EAAG,UAAU,CAAA,uBAAA,EAA0B,EAAE,EAAE;AAC/D,QAAA,CAAC,CACD,CAAC,KAAK,CAAC,QAAQ,CAAC;;QAGjB,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE;AACjE,YAAA,IAAI,EAAE,aAAa;AACnB,SAAA,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;;AAGlB,QAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE;YAC/B,MAAM,wBAAwB,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB;AAC5E,YAAA,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,GAAG,CAC7C,WAAkB,EAClB,SAAc,KACX;gBACH,WAAW,CAAC,OAAO,CAAC;AACnB,oBAAA,IAAI,EAAE,oBAAoB;oBAC1B,UAAU,EAAE,CAAC,GAAQ,EAAE,GAAQ,EAAE,IAAS,KAAI;AAC3B,wBAAA,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE;wBACzB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC;AAClD,wBAAA,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC9B,4BAAA,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC;AAC1C,4BAAA,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;wBAC9B;6BAAO;AACH,4BAAA,IAAI,EAAE;wBACV;oBACnB,CAAC;AACD,iBAAA,CAAC;gBACF,IAAI,wBAAwB,EAAE;AAC7B,oBAAA,OAAO,wBAAwB,CAAC,WAAW,EAAE,SAAS,CAAC;gBACxD;AACA,gBAAA,OAAO,WAAW;AACnB,YAAA,CAAC;QACF;IACD;AACA;;;;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@vscode/component-explorer-webpack-plugin",
|
|
3
|
+
"version": "0.3.1-0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/microsoft/vscode-packages.git",
|
|
8
|
+
"directory": "js-component-explorer/packages/webpack-plugin"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/microsoft/vscode-packages/tree/main/js-component-explorer/packages/webpack-plugin",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/microsoft/vscode-packages/issues"
|
|
13
|
+
},
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"main": "./dist/index.js",
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"import": "./dist/index.js",
|
|
20
|
+
"types": "./dist/index.d.ts"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"README.md",
|
|
26
|
+
"LICENSE",
|
|
27
|
+
"SECURITY.md"
|
|
28
|
+
],
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "rollup -c",
|
|
31
|
+
"dev": "rollup -c -w",
|
|
32
|
+
"test": "vitest --run",
|
|
33
|
+
"test:update": "vitest --run --update"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"tinyglobby": "^0.2.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@rollup/plugin-typescript": "^12.3.0",
|
|
40
|
+
"@rspack/core": "^1.3.0",
|
|
41
|
+
"@rspack/dev-server": "^1.1.0",
|
|
42
|
+
"@types/node": "^22.0.0",
|
|
43
|
+
"@vscode/component-explorer": "workspace:*",
|
|
44
|
+
"html-webpack-plugin": "^5.6.0",
|
|
45
|
+
"playwright": "^1.40.0",
|
|
46
|
+
"react": "^18.3.0",
|
|
47
|
+
"react-dom": "^18.3.0",
|
|
48
|
+
"css-loader": "^7.0.0",
|
|
49
|
+
"rollup": "^4.0.0",
|
|
50
|
+
"style-loader": "^4.0.0",
|
|
51
|
+
"ts-loader": "^9.5.0",
|
|
52
|
+
"typescript": "^5.4.0",
|
|
53
|
+
"vitest": "^1.3.0",
|
|
54
|
+
"webpack": "^5.90.0",
|
|
55
|
+
"webpack-dev-server": "^5.0.0"
|
|
56
|
+
},
|
|
57
|
+
"peerDependencies": {
|
|
58
|
+
"@vscode/component-explorer": "*"
|
|
59
|
+
}
|
|
60
|
+
}
|