@dcoder-x/vite 0.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/ClippyVitePlugin.d.ts +3 -0
- package/dist/ClippyVitePlugin.js +63 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +31 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { RouteExtractor } from '@clippy/plugin-shared/extractors/RouteExtractor';
|
|
2
|
+
import { ComponentExtractor } from '@clippy/plugin-shared/extractors/ComponentExtractor';
|
|
3
|
+
import { SelectorGenerator } from '@clippy/plugin-shared/extractors/SelectorGenerator';
|
|
4
|
+
import { FlowInferrer } from '@clippy/plugin-shared/extractors/FlowInferrer';
|
|
5
|
+
import { PackageBuilder } from '@clippy/plugin-shared/upload/PackageBuilder';
|
|
6
|
+
import { PackageWriter } from '@clippy/plugin-shared/upload/PackageWriter';
|
|
7
|
+
import { Uploader } from '@clippy/plugin-shared/upload/Uploader';
|
|
8
|
+
export function clippyVitePlugin(options) {
|
|
9
|
+
const moduleGraph = new Map();
|
|
10
|
+
return {
|
|
11
|
+
name: 'clippy-vite-plugin',
|
|
12
|
+
apply: 'build',
|
|
13
|
+
moduleParsed(moduleInfo) {
|
|
14
|
+
if (moduleInfo.id && !moduleInfo.id.includes('node_modules')) {
|
|
15
|
+
moduleGraph.set(moduleInfo.id, {
|
|
16
|
+
id: moduleInfo.id,
|
|
17
|
+
importedIds: moduleInfo.importedIds,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
async closeBundle() {
|
|
22
|
+
try {
|
|
23
|
+
const dir = process.cwd();
|
|
24
|
+
const buildId = `vite_${Date.now()}`;
|
|
25
|
+
const routes = await new RouteExtractor(dir).extract();
|
|
26
|
+
const components = await new ComponentExtractor({ type: 'rollup', moduleGraph }, routes).extract();
|
|
27
|
+
const selectors = new SelectorGenerator().generate(components);
|
|
28
|
+
const flows = new FlowInferrer(routes, components).infer();
|
|
29
|
+
const packageBuilder = new PackageBuilder();
|
|
30
|
+
const knowledgePackage = packageBuilder.buildPackage({
|
|
31
|
+
buildId,
|
|
32
|
+
bundler: 'vite',
|
|
33
|
+
routes,
|
|
34
|
+
components,
|
|
35
|
+
selectors,
|
|
36
|
+
flows,
|
|
37
|
+
});
|
|
38
|
+
if (options.localOutputDir) {
|
|
39
|
+
const written = new PackageWriter().write(options.localOutputDir, knowledgePackage);
|
|
40
|
+
console.log(`[Clippy] Knowledge package written: ${written.jsonPath}`);
|
|
41
|
+
}
|
|
42
|
+
const pkg = packageBuilder.build({
|
|
43
|
+
buildId: knowledgePackage.buildId,
|
|
44
|
+
bundler: knowledgePackage.bundler,
|
|
45
|
+
routes: knowledgePackage.routes,
|
|
46
|
+
components: knowledgePackage.components,
|
|
47
|
+
selectors: knowledgePackage.selectors,
|
|
48
|
+
flows: knowledgePackage.flows,
|
|
49
|
+
});
|
|
50
|
+
const uploaded = await new Uploader(options).upload(pkg);
|
|
51
|
+
if (uploaded) {
|
|
52
|
+
console.log('[Clippy] Knowledge package uploaded.');
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
console.log('[Clippy] Knowledge package upload skipped.');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
console.warn('[Clippy] Upload failed:', err);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { clippyVitePlugin } from './ClippyVitePlugin.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { clippyVitePlugin } from './ClippyVitePlugin.js';
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dcoder-x/vite",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"import": "./dist/index.js"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@dcoder-x/plugin-shared": "^0.1.0"
|
|
22
|
+
},
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"vite": ">=4.0.0",
|
|
25
|
+
"@babel/parser": "^7.0.0",
|
|
26
|
+
"@babel/traverse": "^7.0.0"
|
|
27
|
+
},
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsc -p tsconfig.json"
|
|
30
|
+
}
|
|
31
|
+
}
|