@farris/cli 2.0.0 → 2.0.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/index.js +2 -2
- package/lib/commands/build-components.js +40 -0
- package/lib/commands/build-components.js.map +1 -0
- package/lib/commands/build-css.js +39 -0
- package/lib/commands/build-css.js.map +1 -0
- package/lib/commands/build-lib.js +26 -0
- package/lib/commands/build-lib.js.map +1 -0
- package/lib/commands/build.js +16 -0
- package/lib/commands/build.js.map +1 -0
- package/lib/commands/create-app.js +55 -0
- package/lib/commands/create-app.js.map +1 -0
- package/lib/commands/dev-serve.js +19 -0
- package/lib/commands/dev-serve.js.map +1 -0
- package/lib/commands/extract-i18n.js +75 -0
- package/lib/commands/extract-i18n.js.map +1 -0
- package/lib/commands/preview-serve.js +17 -0
- package/lib/commands/preview-serve.js.map +1 -0
- package/lib/common/constant.js +23 -0
- package/lib/common/constant.js.map +1 -0
- package/lib/common/generate-app.js +45 -0
- package/lib/common/generate-app.js.map +1 -0
- package/lib/common/get-dependencies.js +10 -0
- package/lib/common/get-dependencies.js.map +1 -0
- package/lib/common/get-farris-config.js +12 -0
- package/lib/common/get-farris-config.js.map +1 -0
- package/lib/common/get-version.js +7 -0
- package/lib/common/get-version.js.map +1 -0
- package/lib/common/get-vite-config.js +49 -0
- package/lib/common/get-vite-config.js.map +1 -0
- package/lib/config/vite-app.js +14 -0
- package/lib/config/vite-app.js.map +1 -0
- package/lib/config/vite-common.js +21 -0
- package/lib/config/vite-common.js.map +1 -0
- package/lib/config/vite-component.js +31 -0
- package/lib/config/vite-component.js.map +1 -0
- package/lib/config/vite-lib.js +27 -0
- package/lib/config/vite-lib.js.map +1 -0
- package/lib/index.js +84 -0
- package/lib/index.js.map +1 -0
- package/lib/plugins/create-component-style.js +46 -0
- package/lib/plugins/create-component-style.js.map +1 -0
- package/lib/plugins/create-package-json.js +34 -0
- package/lib/plugins/create-package-json.js.map +1 -0
- package/lib/plugins/dts.js +9 -0
- package/lib/plugins/dts.js.map +1 -0
- package/lib/plugins/html-system.js +12 -0
- package/lib/plugins/html-system.js.map +1 -0
- package/lib/plugins/replace.js +18 -0
- package/lib/plugins/replace.js.map +1 -0
- package/lib/plugins/systemjs-bundle.js +16 -0
- package/lib/plugins/systemjs-bundle.js.map +1 -0
- package/package.json +42 -40
- package/templates/mobile/.eslintrc.cjs +15 -15
- package/templates/mobile/.prettierrc.json +7 -7
- package/templates/mobile/farris.config.mjs +24 -24
- package/templates/mobile/index.html +12 -12
- package/templates/mobile/package.json +28 -28
- package/templates/mobile/src/App.vue +80 -80
- package/templates/mobile/src/components/TheButton.vue +3 -3
- package/templates/mobile/src/main.ts +12 -12
- package/templates/mobile/src/router/index.ts +23 -23
- package/templates/mobile/src/views/AboutView.vue +15 -15
- package/templates/mobile/src/views/HomeView.vue +9 -9
- package/templates/mobile/tsconfig.json +17 -17
- package/templates/web/.eslintrc.cjs +15 -15
- package/templates/web/.prettierrc.json +7 -7
- package/templates/web/farris.config.mjs +24 -24
- package/templates/web/index.html +12 -12
- package/templates/web/package.json +28 -28
- package/templates/web/src/App.vue +80 -80
- package/templates/web/src/components/TheButton.vue +3 -3
- package/templates/web/src/main.ts +10 -10
- package/templates/web/src/router/index.ts +23 -23
- package/templates/web/src/views/AboutView.vue +15 -15
- package/templates/web/src/views/HomeView.vue +9 -9
- package/templates/web/tsconfig.json +17 -17
@@ -0,0 +1,27 @@
|
|
1
|
+
import { mergeConfig } from 'vite';
|
2
|
+
import { resolve } from "node:path";
|
3
|
+
import { CWD, getPackageName } from '../common/constant.js';
|
4
|
+
import { systemjsBundle } from '../plugins/systemjs-bundle.js';
|
5
|
+
import CommonConfig from "./vite-common.js";
|
6
|
+
export default mergeConfig(CommonConfig, {
|
7
|
+
logLevel: 'silent',
|
8
|
+
plugins: [systemjsBundle()],
|
9
|
+
build: {
|
10
|
+
lib: {
|
11
|
+
entry: resolve(CWD, `./src/main.ts`),
|
12
|
+
fileName: "index",
|
13
|
+
},
|
14
|
+
target: 'es2019',
|
15
|
+
outDir: resolve(CWD, `./lib`),
|
16
|
+
rollupOptions: {
|
17
|
+
output: {
|
18
|
+
exports: "named",
|
19
|
+
globals: {
|
20
|
+
vue: "Vue",
|
21
|
+
[getPackageName()]: getPackageName()
|
22
|
+
}
|
23
|
+
}
|
24
|
+
},
|
25
|
+
}
|
26
|
+
});
|
27
|
+
//# sourceMappingURL=vite-lib.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"vite-lib.js","sourceRoot":"","sources":["../../src/config/vite-lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAE5C,eAAe,WAAW,CAAC,YAAY,EAAE;IACvC,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC,cAAc,EAAE,CAAC;IAC3B,KAAK,EAAC;QACJ,GAAG,EAAE;YACH,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;YACpC,QAAQ,EAAE,OAAO;SAClB;QACD,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;QAC7B,aAAa,EAAE;YACb,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE;oBACP,GAAG,EAAE,KAAK;oBACV,CAAC,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE;iBACrC;aACF;SACF;KACF;CACF,CAAC,CAAC"}
|
package/lib/index.js
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
import { Command } from 'commander';
|
3
|
+
import { getVersion } from "./common/get-version.js";
|
4
|
+
const program = new Command();
|
5
|
+
program.version(`@farris/cli ${getVersion()}`);
|
6
|
+
program
|
7
|
+
.command('build')
|
8
|
+
.description('构建')
|
9
|
+
.option('-c --configFile [configFile]', 'config file path')
|
10
|
+
.option('-vc --viteConfigFile [viteConfigFile]', 'vite config file path')
|
11
|
+
.action(async (options) => {
|
12
|
+
process.env.BUILD_TYPE = 'app';
|
13
|
+
const { buildCommon } = await import('./commands/build.js');
|
14
|
+
buildCommon(options);
|
15
|
+
});
|
16
|
+
program
|
17
|
+
.command('build-lib')
|
18
|
+
.description('构建')
|
19
|
+
.option('-c --configFile [configFile]', 'config file path')
|
20
|
+
.option('-vc --viteConfigFile [viteConfigFile]', 'vite config file path')
|
21
|
+
.option('-f --format [format]', 'lib format')
|
22
|
+
.option('-d --dts', 'dts')
|
23
|
+
.option('-ep --emitPackage', 'createPackage')
|
24
|
+
.action(async (options) => {
|
25
|
+
process.env.BUILD_TYPE = 'lib';
|
26
|
+
const { buildLib } = await import('./commands/build-lib.js');
|
27
|
+
return buildLib(options);
|
28
|
+
});
|
29
|
+
program
|
30
|
+
.command('build-components')
|
31
|
+
.description('构建')
|
32
|
+
.option('-c --configFile [configFile]', 'config file path')
|
33
|
+
.option('-vc --viteConfigFile [viteConfigFile]', 'vite config file path')
|
34
|
+
.action(async (options) => {
|
35
|
+
process.env.BUILD_TYPE = 'components';
|
36
|
+
const { buildComponents } = await import('./commands/build-components.js');
|
37
|
+
return buildComponents(options);
|
38
|
+
});
|
39
|
+
program
|
40
|
+
.command('build-css')
|
41
|
+
.description('构建')
|
42
|
+
.option('-e --entry [entry]', 'entry file')
|
43
|
+
.option('-o --outfile [outfile]', 'outfile')
|
44
|
+
.option('-m --minify [minify]', 'minify')
|
45
|
+
.action(async (options) => {
|
46
|
+
process.env.BUILD_TYPE = 'css';
|
47
|
+
const { buildCss } = await import('./commands/build-css.js');
|
48
|
+
return buildCss(options);
|
49
|
+
});
|
50
|
+
program
|
51
|
+
.command('create-app')
|
52
|
+
.description('新建 App 模板')
|
53
|
+
.action(async () => {
|
54
|
+
const { createApp } = await import('./commands/create-app.js');
|
55
|
+
return createApp();
|
56
|
+
});
|
57
|
+
program
|
58
|
+
.command('dev')
|
59
|
+
.description('创建 Dev Server')
|
60
|
+
.option('-p --port [port]', 'Server Port')
|
61
|
+
.action(async (options) => {
|
62
|
+
process.env.BUILD_TYPE = 'app';
|
63
|
+
const { devServe } = await import('./commands/dev-serve.js');
|
64
|
+
return devServe(options);
|
65
|
+
});
|
66
|
+
program
|
67
|
+
.command('preview')
|
68
|
+
.description('创建 Preview Server')
|
69
|
+
.option('-p --port [port]', 'Server Port')
|
70
|
+
.action(async (options) => {
|
71
|
+
process.env.BUILD_TYPE = 'app';
|
72
|
+
const { previewServe } = await import('./commands/preview-serve.js');
|
73
|
+
return previewServe(options);
|
74
|
+
});
|
75
|
+
program
|
76
|
+
.command('extract-i18n')
|
77
|
+
.description('抽取国际化资源到JSON文件')
|
78
|
+
.option('-c --configFile [configFile]', 'config file path')
|
79
|
+
.action(async (options) => {
|
80
|
+
const { extractI18n } = await import('./commands/extract-i18n.js');
|
81
|
+
return extractI18n(options);
|
82
|
+
});
|
83
|
+
program.parse();
|
84
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { getPackageName } from "../common/constant.js";
|
2
|
+
const NotStyleComponents = ['designer-canvas', 'dynamic-view', 'dynamic-resolver', 'common'];
|
3
|
+
const getComponentStyle = (imports) => {
|
4
|
+
const components = imports
|
5
|
+
.filter(path => {
|
6
|
+
return path.startsWith(`${getPackageName()}/`) && !NotStyleComponents.find(notStylecomponent => path.includes(notStylecomponent));
|
7
|
+
})
|
8
|
+
.filter((item, index, array) => {
|
9
|
+
const targetIndex = array.filter(e => e !== item).findIndex(e => item.includes(e));
|
10
|
+
return targetIndex < 0;
|
11
|
+
})
|
12
|
+
.map(name => {
|
13
|
+
const component = name.split('/').pop();
|
14
|
+
return {
|
15
|
+
name: component,
|
16
|
+
path: `../${component}/style.js`
|
17
|
+
};
|
18
|
+
});
|
19
|
+
components.push({
|
20
|
+
name: 'components',
|
21
|
+
path: `./index.css`
|
22
|
+
});
|
23
|
+
const template = `${components.map(component => {
|
24
|
+
const { path } = component;
|
25
|
+
return `import '${path}';`;
|
26
|
+
}).join('\n')}
|
27
|
+
`;
|
28
|
+
return template;
|
29
|
+
};
|
30
|
+
export function createComponentStyle() {
|
31
|
+
return {
|
32
|
+
name: 'farris-gen-component-style',
|
33
|
+
renderChunk(code, chunk) {
|
34
|
+
const { imports } = chunk;
|
35
|
+
const template = getComponentStyle(imports);
|
36
|
+
template && this.emitFile({
|
37
|
+
type: 'asset',
|
38
|
+
fileName: 'style.js',
|
39
|
+
source: template
|
40
|
+
});
|
41
|
+
return code;
|
42
|
+
}
|
43
|
+
};
|
44
|
+
}
|
45
|
+
;
|
46
|
+
//# sourceMappingURL=create-component-style.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"create-component-style.js","sourceRoot":"","sources":["../../src/plugins/create-component-style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;AAE7F,MAAM,iBAAiB,GAAG,CAAC,OAAiB,EAAE,EAAE;IAE9C,MAAM,UAAU,GAAG,OAAO;SACvB,MAAM,CAAC,IAAI,CAAC,EAAE;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpI,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAC,CAAC,KAAG,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO,WAAW,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC;SACD,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACxC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM,SAAS,WAAW;SACjC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,UAAU,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,WAAW,IAAI,IAAI,CAAC;IAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACd,CAAC;IAEA,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,WAAW,CAAC,IAAY,EAAE,KAAU;YAClC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;YAE1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAE5C,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;gBACxB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAAA,CAAC"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { readFileSync } from "node:fs";
|
2
|
+
import { resolve } from "node:path";
|
3
|
+
import { CWD } from "../common/constant.js";
|
4
|
+
export const createPackageJson = () => {
|
5
|
+
return {
|
6
|
+
name: 'create-package-json',
|
7
|
+
generateBundle() {
|
8
|
+
const pkg = readFileSync(resolve(CWD, 'package.json'), 'utf-8');
|
9
|
+
const packageJson = JSON.parse(pkg);
|
10
|
+
const result = {
|
11
|
+
name: '',
|
12
|
+
version: '',
|
13
|
+
private: false,
|
14
|
+
main: './index.umd.js',
|
15
|
+
module: './index.esm.js',
|
16
|
+
types: './types/index.d.ts',
|
17
|
+
style: './index.css',
|
18
|
+
};
|
19
|
+
const exclude = ['scripts', 'devDependencies', 'private'];
|
20
|
+
Object.keys(packageJson).forEach(key => {
|
21
|
+
if (exclude.includes(key)) {
|
22
|
+
return;
|
23
|
+
}
|
24
|
+
result[key] = packageJson[key];
|
25
|
+
});
|
26
|
+
this.emitFile({
|
27
|
+
type: 'asset',
|
28
|
+
fileName: 'package.json',
|
29
|
+
source: JSON.stringify(result, null, 2)
|
30
|
+
});
|
31
|
+
}
|
32
|
+
};
|
33
|
+
};
|
34
|
+
//# sourceMappingURL=create-package-json.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"create-package-json.js","sourceRoot":"","sources":["../../src/plugins/create-package-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAQ,EAAE;IACzC,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,cAAc;YACZ,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,MAAM,GAAwB;gBAClC,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,oBAAoB;gBAC3B,KAAK,EAAE,aAAa;aACrB,CAAC;YACF,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACrC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACzB,OAAO;iBACR;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dts.js","sourceRoot":"","sources":["../../src/plugins/dts.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAElC,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,MAAc;IACzD,OAAO,GAAG,CAAC;QACT,SAAS,EAAE,KAAK;QAChB,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAAA,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export const htmlSystemPlugin = () => {
|
2
|
+
return {
|
3
|
+
name: 'html-transform-system',
|
4
|
+
transformIndexHtml(html) {
|
5
|
+
const regexp = /<script.*type="module".*src="(.*?)"><\/script>/;
|
6
|
+
return html.replace(regexp, (str, p1) => `
|
7
|
+
<script src="https://cdn.bootcdn.net/ajax/libs/systemjs/6.15.1/system.js"></script>
|
8
|
+
<script >System.import("${p1}");</script>`);
|
9
|
+
}
|
10
|
+
};
|
11
|
+
};
|
12
|
+
//# sourceMappingURL=html-system.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"html-system.js","sourceRoot":"","sources":["../../src/plugins/html-system.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,kBAAkB,CAAC,IAAY;YAC7B,MAAM,MAAM,GAAG,gDAAgD,CAAC;YAChE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAW,EAAE,EAAU,EAAC,EAAE,CAAC;;8BAEhC,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { getPackageName } from '../common/constant.js';
|
2
|
+
export function replace(path) {
|
3
|
+
return {
|
4
|
+
name: 'farris-replace-path',
|
5
|
+
renderChunk(code, chunk) {
|
6
|
+
const fileNames = chunk.fileName.split('.');
|
7
|
+
const format = fileNames[fileNames.length - 2];
|
8
|
+
// const regExpress = new RegExp(/@farris\/mobile-ui-vue\/([\w-]+)/g);
|
9
|
+
const dynamicRegExp = new RegExp(`${getPackageName().replace(/\//g, '\\/')}\\/([\\w-]+)`, // 自动转义斜杠
|
10
|
+
'g');
|
11
|
+
return code.replace(dynamicRegExp, (match, captureGroup) => {
|
12
|
+
return path(format, [captureGroup]);
|
13
|
+
});
|
14
|
+
}
|
15
|
+
};
|
16
|
+
}
|
17
|
+
;
|
18
|
+
//# sourceMappingURL=replace.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"replace.js","sourceRoot":"","sources":["../../src/plugins/replace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,UAAU,OAAO,CAAC,IAAgD;IACtE,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,CAAC,IAAY,EAAE,KAAU;YAClC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;YAC7C,sEAAsE;YACtE,MAAM,aAAa,GAAG,IAAI,MAAM,CAC9B,GAAG,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS;YAClE,GAAG,CACJ,CAAC;YACF,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,EAAC,EAAE;gBACxD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAAA,CAAC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
export function systemjsBundle() {
|
2
|
+
return {
|
3
|
+
name: 'systemjs-bundle',
|
4
|
+
outputOptions(options) {
|
5
|
+
if (options.format === 'systemjs') {
|
6
|
+
return {
|
7
|
+
...options,
|
8
|
+
name: undefined
|
9
|
+
};
|
10
|
+
}
|
11
|
+
return options;
|
12
|
+
}
|
13
|
+
};
|
14
|
+
}
|
15
|
+
;
|
16
|
+
//# sourceMappingURL=systemjs-bundle.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"systemjs-bundle.js","sourceRoot":"","sources":["../../src/plugins/systemjs-bundle.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,aAAa,CAAC,OAAY;YACxB,IAAG,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE;gBAChC,OAAO;oBACL,GAAG,OAAO;oBACV,IAAI,EAAE,SAAS;iBAChB,CAAC;aACH;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAAA,CAAC"}
|
package/package.json
CHANGED
@@ -1,40 +1,42 @@
|
|
1
|
-
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
"
|
38
|
-
|
39
|
-
|
40
|
-
|
1
|
+
{
|
2
|
+
"name": "@farris/cli",
|
3
|
+
"private": false,
|
4
|
+
"version": "2.0.2",
|
5
|
+
"type": "module",
|
6
|
+
"typings": "lib/index.d.ts",
|
7
|
+
"bin": {
|
8
|
+
"farris-cli": "./bin/index.js"
|
9
|
+
},
|
10
|
+
"engines": {
|
11
|
+
"node": ">=16.0.0"
|
12
|
+
},
|
13
|
+
"scripts": {
|
14
|
+
"build": "rimraf ./lib && tsc"
|
15
|
+
},
|
16
|
+
"files": [
|
17
|
+
"lib",
|
18
|
+
"templates",
|
19
|
+
"bin.js"
|
20
|
+
],
|
21
|
+
"license": "MIT",
|
22
|
+
"dependencies": {
|
23
|
+
"@types/inquirer": "^9.0.7",
|
24
|
+
"@vitejs/plugin-vue": "^4.0.0",
|
25
|
+
"@vitejs/plugin-vue-jsx": "^3.0.0",
|
26
|
+
"commander": "^9.4.0",
|
27
|
+
"esbuild": "^0.23.0",
|
28
|
+
"esbuild-sass-plugin": "^3.3.1",
|
29
|
+
"inquirer": "^9.3.0",
|
30
|
+
"ora": "^8.0.1",
|
31
|
+
"typescript": "^4.6.4",
|
32
|
+
"vite": "^4.4.1",
|
33
|
+
"vite-plugin-css-injected-by-js": "^3.5.2",
|
34
|
+
"vite-plugin-dts": "^3.9.1",
|
35
|
+
"glob": "11.0.3"
|
36
|
+
},
|
37
|
+
"devDependencies": {
|
38
|
+
"@types/inquirer": "^9.0.7",
|
39
|
+
"rimraf": "^5.0.7",
|
40
|
+
"vue": "^3.2.37"
|
41
|
+
}
|
42
|
+
}
|
@@ -1,15 +1,15 @@
|
|
1
|
-
/* eslint-env node */
|
2
|
-
require('@rushstack/eslint-patch/modern-module-resolution')
|
3
|
-
|
4
|
-
module.exports = {
|
5
|
-
root: true,
|
6
|
-
'extends': [
|
7
|
-
'plugin:vue/vue3-essential',
|
8
|
-
'eslint:recommended',
|
9
|
-
'@vue/eslint-config-typescript',
|
10
|
-
'@vue/eslint-config-prettier/skip-formatting'
|
11
|
-
],
|
12
|
-
parserOptions: {
|
13
|
-
ecmaVersion: 'latest'
|
14
|
-
}
|
15
|
-
}
|
1
|
+
/* eslint-env node */
|
2
|
+
require('@rushstack/eslint-patch/modern-module-resolution');
|
3
|
+
|
4
|
+
module.exports = {
|
5
|
+
root: true,
|
6
|
+
'extends': [
|
7
|
+
'plugin:vue/vue3-essential',
|
8
|
+
'eslint:recommended',
|
9
|
+
'@vue/eslint-config-typescript',
|
10
|
+
'@vue/eslint-config-prettier/skip-formatting'
|
11
|
+
],
|
12
|
+
parserOptions: {
|
13
|
+
ecmaVersion: 'latest'
|
14
|
+
}
|
15
|
+
};
|
@@ -1,8 +1,8 @@
|
|
1
|
-
{
|
2
|
-
"$schema": "https://json.schemastore.org/prettierrc",
|
3
|
-
"semi": false,
|
4
|
-
"tabWidth": 2,
|
5
|
-
"singleQuote": true,
|
6
|
-
"printWidth": 100,
|
7
|
-
"trailingComma": "none"
|
1
|
+
{
|
2
|
+
"$schema": "https://json.schemastore.org/prettierrc",
|
3
|
+
"semi": false,
|
4
|
+
"tabWidth": 2,
|
5
|
+
"singleQuote": true,
|
6
|
+
"printWidth": 100,
|
7
|
+
"trailingComma": "none"
|
8
8
|
}
|
@@ -1,24 +1,24 @@
|
|
1
|
-
import { fileURLToPath, URL } from 'node:url';
|
2
|
-
|
3
|
-
export default {
|
4
|
-
format: "<%= format %>",
|
5
|
-
// 输出目录 App模式默认值 './dist' Lib模式 './lib'
|
6
|
-
// outDir: fileURLToPath(new URL('./dist', import.meta.url)),
|
7
|
-
// 最小化 默认值 true
|
8
|
-
minify: true,
|
9
|
-
// 外部依赖排除项 默认值 { include: [], exclude: [] }
|
10
|
-
// externals: {
|
11
|
-
// include: [],
|
12
|
-
// exclude: []
|
13
|
-
// },
|
14
|
-
// 是否排除 package.json 中 dependencies和 peerDependencies 依赖的包; App模式默认值 false Lib模式默认值 true
|
15
|
-
externalDependencies: false,
|
16
|
-
// 路径别名 默认值 null
|
17
|
-
alias: [
|
18
|
-
{ find: '@', replacement: fileURLToPath(new URL('./src', import.meta.url)) }
|
19
|
-
],
|
20
|
-
// 插件 默认值 [vue(), vueJsx()] 不要重复添加
|
21
|
-
// plugins: [],
|
22
|
-
// viteConfig 配置项
|
23
|
-
viteConfig: {}
|
24
|
-
}
|
1
|
+
import { fileURLToPath, URL } from 'node:url';
|
2
|
+
|
3
|
+
export default {
|
4
|
+
format: "<%= format %>",
|
5
|
+
// 输出目录 App模式默认值 './dist' Lib模式 './lib'
|
6
|
+
// outDir: fileURLToPath(new URL('./dist', import.meta.url)),
|
7
|
+
// 最小化 默认值 true
|
8
|
+
minify: true,
|
9
|
+
// 外部依赖排除项 默认值 { include: [], exclude: [] }
|
10
|
+
// externals: {
|
11
|
+
// include: [],
|
12
|
+
// exclude: []
|
13
|
+
// },
|
14
|
+
// 是否排除 package.json 中 dependencies和 peerDependencies 依赖的包; App模式默认值 false Lib模式默认值 true
|
15
|
+
externalDependencies: false,
|
16
|
+
// 路径别名 默认值 null
|
17
|
+
alias: [
|
18
|
+
{ find: '@', replacement: fileURLToPath(new URL('./src', import.meta.url)) }
|
19
|
+
],
|
20
|
+
// 插件 默认值 [vue(), vueJsx()] 不要重复添加
|
21
|
+
// plugins: [],
|
22
|
+
// viteConfig 配置项
|
23
|
+
viteConfig: {}
|
24
|
+
};
|
@@ -1,12 +1,12 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="UTF-8">
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
-
<title>Vite App</title>
|
7
|
-
</head>
|
8
|
-
<body>
|
9
|
-
<div id="app"></div>
|
10
|
-
<script type="module" src="/src/main.ts"></script>
|
11
|
-
</body>
|
12
|
-
</html>
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>Vite App</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<div id="app"></div>
|
10
|
+
<script type="module" src="/src/main.ts"></script>
|
11
|
+
</body>
|
12
|
+
</html>
|
@@ -1,29 +1,29 @@
|
|
1
|
-
{
|
2
|
-
"name": "<%= name %>",
|
3
|
-
"version": "0.0.0",
|
4
|
-
"private": true,
|
5
|
-
"type": "module",
|
6
|
-
"scripts": {
|
7
|
-
"dev": "farris-cli dev",
|
8
|
-
"build": "farris-cli build",
|
9
|
-
"preview": "farris-cli preview",
|
10
|
-
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
11
|
-
"format": "prettier --write src/"
|
12
|
-
},
|
13
|
-
"dependencies": {
|
14
|
-
"@farris/mobile-ui-vue": "latest",
|
15
|
-
"vue": "^3.4.29",
|
16
|
-
"vue-router": "^4.3.0"
|
17
|
-
},
|
18
|
-
"devDependencies": {
|
19
|
-
"@farris/cli": "<%= cliVersion %>",
|
20
|
-
"@rushstack/eslint-patch": "^1.8.0",
|
21
|
-
"@vue/eslint-config-prettier": "^9.0.0",
|
22
|
-
"@vue/eslint-config-typescript": "^13.0.0",
|
23
|
-
"@vue/tsconfig": "^0.5.1",
|
24
|
-
"eslint": "^8.57.0",
|
25
|
-
"eslint-plugin-vue": "^9.23.0",
|
26
|
-
"prettier": "^3.2.5",
|
27
|
-
"typescript": "~5.4.0"
|
28
|
-
}
|
1
|
+
{
|
2
|
+
"name": "<%= name %>",
|
3
|
+
"version": "0.0.0",
|
4
|
+
"private": true,
|
5
|
+
"type": "module",
|
6
|
+
"scripts": {
|
7
|
+
"dev": "farris-cli dev",
|
8
|
+
"build": "farris-cli build",
|
9
|
+
"preview": "farris-cli preview",
|
10
|
+
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
11
|
+
"format": "prettier --write src/"
|
12
|
+
},
|
13
|
+
"dependencies": {
|
14
|
+
"@farris/mobile-ui-vue": "latest",
|
15
|
+
"vue": "^3.4.29",
|
16
|
+
"vue-router": "^4.3.0"
|
17
|
+
},
|
18
|
+
"devDependencies": {
|
19
|
+
"@farris/cli": "<%= cliVersion %>",
|
20
|
+
"@rushstack/eslint-patch": "^1.8.0",
|
21
|
+
"@vue/eslint-config-prettier": "^9.0.0",
|
22
|
+
"@vue/eslint-config-typescript": "^13.0.0",
|
23
|
+
"@vue/tsconfig": "^0.5.1",
|
24
|
+
"eslint": "^8.57.0",
|
25
|
+
"eslint-plugin-vue": "^9.23.0",
|
26
|
+
"prettier": "^3.2.5",
|
27
|
+
"typescript": "~5.4.0"
|
28
|
+
}
|
29
29
|
}
|