zova-vite 1.0.70

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2016-present Zova
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # zova-vite
@@ -0,0 +1,4 @@
1
+ import { CabloyConfigMeta } from '@cabloy/front-core';
2
+ import { CabloyViteConfigOptions, CabloyViteConfigResult } from './types.js';
3
+ export declare function generateCabloyViteMeta(configMeta: CabloyConfigMeta, configOptions: CabloyViteConfigOptions): Promise<CabloyViteConfigResult>;
4
+ //# sourceMappingURL=cabloy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cabloy.d.ts","sourceRoot":"","sources":["../src/cabloy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAQ7E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,uBAAuB,GACrC,OAAO,CAAC,sBAAsB,CAAC,CAqGjC"}
package/dist/cabloy.js ADDED
@@ -0,0 +1,104 @@
1
+ import { generateVitePlugins } from './vitePlugins.js';
2
+ import { createConfigUtils } from './configUtils.js';
3
+ import { generateEntryFiles } from './generateEntryFiles.js';
4
+ const __SvgIconPattern = /assets\/icons\/groups\/.*?\.svg/;
5
+ export async function generateCabloyViteMeta(configMeta, configOptions) {
6
+ // config utils
7
+ const configUtils = createConfigUtils(configMeta, configOptions);
8
+ // env
9
+ const env = configUtils.loadEnvs();
10
+ // define
11
+ const define = __getConfigDefine(env);
12
+ // server
13
+ const server = __getConfigServer();
14
+ // build
15
+ const build = __getConfigBuild();
16
+ // vitePlugins
17
+ const vitePlugins = generateVitePlugins(configOptions);
18
+ // alias
19
+ const alias = {
20
+ '@vue/runtime-core': '@cabloy/vue-runtime-core',
21
+ };
22
+ // viteConfig
23
+ const viteConfig = {
24
+ root: configOptions.appDir,
25
+ base: env.APP_PUBLIC_PATH,
26
+ mode: configMeta.mode,
27
+ define,
28
+ server,
29
+ build,
30
+ resolve: {
31
+ alias,
32
+ extensions: ['.js', '.json', '.jsx', '.mjs', '.ts', '.tsx', '.vue'],
33
+ },
34
+ };
35
+ // generateEntryFiles
36
+ await generateEntryFiles(configMeta, configOptions);
37
+ // ok
38
+ return {
39
+ env,
40
+ vitePlugins,
41
+ viteConfig,
42
+ };
43
+ //////////////////////////////
44
+ function __getConfigServer() {
45
+ // proxy
46
+ const proxy = {};
47
+ if (process.env.PROXY_API_ENABLED === 'true') {
48
+ proxy[process.env.PROXY_API_PREFIX] = {
49
+ target: process.env.PROXY_API_BASE_URL,
50
+ changeOrigin: true,
51
+ };
52
+ }
53
+ // server
54
+ const server = {
55
+ proxy,
56
+ };
57
+ // devServerHost
58
+ if (process.env.DEV_SERVER_HOST) {
59
+ if (process.env.DEV_SERVER_HOST === 'true') {
60
+ server.host = true;
61
+ }
62
+ else {
63
+ server.host = process.env.DEV_SERVER_HOST;
64
+ }
65
+ }
66
+ if (process.env.DEV_SERVER_PORT) {
67
+ server.port = Number(process.env.DEV_SERVER_PORT);
68
+ }
69
+ return server;
70
+ }
71
+ function __getConfigDefine(env) {
72
+ const acc = {};
73
+ for (const key in env) {
74
+ const val = env[key];
75
+ acc[`process.env.${key}`] =
76
+ val === 'true' || val === 'false'
77
+ ? val // let's keep it as boolean and not transform it to string
78
+ : JSON.stringify(env[key]);
79
+ }
80
+ return acc;
81
+ }
82
+ function __getConfigBuild() {
83
+ const build = {
84
+ rollupOptions: {
85
+ output: {
86
+ manualChunks: id => {
87
+ return configUtils.configManualChunk(id);
88
+ },
89
+ },
90
+ },
91
+ assetsInlineLimit: (filePath) => {
92
+ if (__SvgIconPattern.test(filePath)) {
93
+ return 0;
94
+ }
95
+ },
96
+ minify: 'terser',
97
+ terserOptions: {
98
+ keep_classnames: true,
99
+ },
100
+ };
101
+ return build;
102
+ }
103
+ }
104
+ //# sourceMappingURL=cabloy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cabloy.js","sourceRoot":"","sources":["../src/cabloy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { CabloyConfigMeta } from 'zova-core';
2
+ import { CabloyViteConfigOptions } from './types.js';
3
+ export declare function createConfigUtils(configMeta: CabloyConfigMeta, configOptions: CabloyViteConfigOptions): {
4
+ loadEnvs: () => {
5
+ [name: string]: string;
6
+ };
7
+ configManualChunk: (id: string) => string;
8
+ };
9
+ //# sourceMappingURL=configUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configUtils.d.ts","sourceRoot":"","sources":["../src/configUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAA+B,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA0BlF,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,uBAAuB,GACrC;IAAE,QAAQ,EAAE,MAAM;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,CAgE3F"}
@@ -0,0 +1,83 @@
1
+ import path from 'path';
2
+ import * as dotenv from '@cabloy/dotenv';
3
+ import { getEnvMeta } from './utils.js';
4
+ const __ModuleLibs = [
5
+ /src\/module\/([^\/]*?)\//,
6
+ /src\/module-vendor\/([^\/]*?)\//,
7
+ /src\/suite\/.*\/modules\/([^\/]*?)\//,
8
+ /src\/suite-vendor\/.*\/modules\/([^\/]*?)\//,
9
+ /node_modules\/zova-module-([^\/]*?)\//,
10
+ ];
11
+ const __CabloyManualChunkVendors = [
12
+ { match: ['@faker-js'], output: 'faker' },
13
+ {
14
+ match: [/zova\/config\.js/],
15
+ output: '-zova-config',
16
+ },
17
+ {
18
+ match: ['vue', '@vue', 'reflect-metadata', 'zova', 'packages-zova/core'],
19
+ output: 'zova',
20
+ },
21
+ { match: ['vue-router'], output: 'vue-router' },
22
+ ];
23
+ export function createConfigUtils(configMeta, configOptions) {
24
+ let __cabloyManualChunkVendors_runtime;
25
+ return {
26
+ loadEnvs: __loadEnvs,
27
+ configManualChunk: __configManualChunk,
28
+ };
29
+ //////////////////////////////
30
+ function __loadEnvs() {
31
+ const meta = getEnvMeta(configMeta);
32
+ const envDir = path.join(configOptions.appDir, 'env');
33
+ const envs = dotenv.loadEnvs(meta, envDir, '.env');
34
+ return Object.assign({
35
+ NODE_ENV: meta.mode,
36
+ }, envs, {
37
+ META_FLAVOR: meta.flavor,
38
+ META_MODE: meta.mode,
39
+ META_APP_MODE: meta.appMode,
40
+ });
41
+ }
42
+ function __configManualChunk(id) {
43
+ id = id.replace(/\\/gi, '/');
44
+ // modules
45
+ let output = _configManualChunk_modules(id);
46
+ if (output)
47
+ return output;
48
+ // vendors
49
+ output = _configManualChunk_vendors(id);
50
+ if (output)
51
+ return output;
52
+ // default
53
+ if (configOptions.cabloyManualChunk.debug) {
54
+ console.log(id);
55
+ }
56
+ return 'vendor';
57
+ }
58
+ function _configManualChunk_vendors(id) {
59
+ if (!__cabloyManualChunkVendors_runtime) {
60
+ __cabloyManualChunkVendors_runtime = configOptions.cabloyManualChunk.vendors.concat(__CabloyManualChunkVendors);
61
+ }
62
+ const matchItem = __cabloyManualChunkVendors_runtime.find(item => {
63
+ return item.match.some(item => {
64
+ if (typeof item === 'string') {
65
+ return id.indexOf(`/${item}/`) > -1;
66
+ }
67
+ return item.test(id);
68
+ });
69
+ });
70
+ if (matchItem)
71
+ return matchItem.output;
72
+ return null;
73
+ }
74
+ function _configManualChunk_modules(id) {
75
+ for (const moduleLib of __ModuleLibs) {
76
+ const matched = id.match(moduleLib);
77
+ if (matched)
78
+ return matched[1];
79
+ }
80
+ return null;
81
+ }
82
+ }
83
+ //# sourceMappingURL=configUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configUtils.js","sourceRoot":"","sources":["../src/configUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { CabloyConfigMeta } from 'zova-core';
2
+ import { CabloyViteConfigOptions } from './types.js';
3
+ export declare function generateEntryFiles(configMeta: CabloyConfigMeta, configOptions: CabloyViteConfigOptions): Promise<void>;
4
+ //# sourceMappingURL=generateEntryFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateEntryFiles.d.ts","sourceRoot":"","sources":["../src/generateEntryFiles.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,uBAAuB,iBAqG5G"}
@@ -0,0 +1,109 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import fse from 'fs-extra';
3
+ import compileTemplate from 'lodash/template.js';
4
+ import { glob } from '@cabloy/module-glob';
5
+ import tmp from 'tmp';
6
+ import { build as esBuild } from 'esbuild';
7
+ import chalk from 'chalk';
8
+ import { extend } from '@cabloy/extend';
9
+ import { pathToFileURL } from 'node:url';
10
+ import path, * as Path from 'node:path';
11
+ import { getEnvMeta } from './utils.js';
12
+ import { getEnvFiles } from '@cabloy/dotenv';
13
+ export async function generateEntryFiles(configMeta, configOptions) {
14
+ // config
15
+ await __generateConfig();
16
+ // modules meta
17
+ await __generateModulesMeta();
18
+ //////////////////////////////
19
+ async function __generateConfig() {
20
+ // check config
21
+ let configDir = path.join(configOptions.appDir, 'src/front/config');
22
+ if (!fse.existsSync(configDir)) {
23
+ console.log(chalk.red('Please copy directory: from _config to config\n'));
24
+ process.exit(0);
25
+ }
26
+ // meta
27
+ const meta = getEnvMeta(configMeta);
28
+ configDir = path.join(configOptions.appDir, 'src/front/config/config');
29
+ const files = getEnvFiles(meta, configDir, 'config', '.ts');
30
+ const targetMeta = { ...meta };
31
+ delete targetMeta.mine;
32
+ const target = {
33
+ meta: targetMeta,
34
+ env: {
35
+ appServer: process.env.APP_SERVER === 'true',
36
+ appRouterMode: process.env.APP_ROUTER_MODE,
37
+ appRouterBase: process.env.APP_ROUTER_BASE,
38
+ appPublicPath: process.env.APP_PUBLIC_PATH,
39
+ appName: process.env.APP_NAME,
40
+ appTitle: process.env.APP_TITLE,
41
+ appVersion: process.env.APP_VERSION,
42
+ },
43
+ };
44
+ for (const file of files) {
45
+ const config = await __loadConfig(file, targetMeta);
46
+ if (config) {
47
+ extend(true, target, config);
48
+ }
49
+ }
50
+ // output
51
+ const contentDest = `export default ${JSON.stringify(target, null, 2)};`;
52
+ const fileDest = path.join(configOptions.appDir, configOptions.runtimeDir, 'config.js');
53
+ fse.ensureFileSync(fileDest);
54
+ fse.writeFileSync(fileDest, contentDest, 'utf-8');
55
+ // ok
56
+ return target;
57
+ }
58
+ async function __loadConfig(fileName, meta) {
59
+ // temp
60
+ const fileTempObj = tmp.fileSync({ postfix: '.mjs' });
61
+ const fileTemp = fileTempObj.name;
62
+ // build
63
+ const esBuildConfig = __createEsbuildConfig(fileName, fileTemp);
64
+ await esBuild(esBuildConfig);
65
+ // load
66
+ const fnResult = await import(_pathToHref(fileTemp));
67
+ const configFn = fnResult.default || fnResult;
68
+ const config = await configFn(meta);
69
+ // delete temp
70
+ fileTempObj.removeCallback();
71
+ // ok
72
+ return config;
73
+ }
74
+ function __createEsbuildConfig(fileSrc, fileDest) {
75
+ return {
76
+ platform: 'node',
77
+ format: 'esm',
78
+ bundle: true,
79
+ packages: 'external',
80
+ resolveExtensions: ['.mjs', '.js', '.mts', '.ts', '.json'],
81
+ entryPoints: [fileSrc],
82
+ outfile: fileDest,
83
+ };
84
+ }
85
+ async function __generateModulesMeta() {
86
+ // modules
87
+ const { modules, modulesArray } = await glob({
88
+ projectMode: 'front',
89
+ projectPath: configOptions.appDir,
90
+ disabledModules: process.env.PROJECT_DISABLED_MODULES,
91
+ disabledSuites: process.env.PROJECT_DISABLED_SUITES,
92
+ log: true,
93
+ });
94
+ const moduleNames = modulesArray.map(item => item.info.relativeName);
95
+ // src
96
+ const fileSrc = new URL('../templates/zova-modules-meta.ejs', import.meta.url);
97
+ const contentSrc = readFileSync(fileSrc, 'utf8');
98
+ const template = compileTemplate(contentSrc);
99
+ // dest
100
+ const contentDest = template({ modules, moduleNames });
101
+ const fileDest = path.join(configOptions.appDir, configOptions.runtimeDir, 'modules-meta.js');
102
+ fse.ensureFileSync(fileDest);
103
+ fse.writeFileSync(fileDest, contentDest, 'utf-8');
104
+ }
105
+ function _pathToHref(fileName) {
106
+ return Path.sep === '\\' ? pathToFileURL(fileName).href : fileName;
107
+ }
108
+ }
109
+ //# sourceMappingURL=generateEntryFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateEntryFiles.js","sourceRoot":"","sources":["../src/generateEntryFiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './zova.js';
2
+ export * from './configUtils.js';
3
+ export * from './utils.js';
4
+ export * from './types.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from './zova.js';
2
+ export * from './configUtils.js';
3
+ export * from './utils.js';
4
+ export * from './types.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,29 @@
1
+ export interface CabloyViteConfigChunkVendor {
2
+ match: (string | RegExp)[];
3
+ output: string;
4
+ }
5
+ export interface CabloyViteConfigOptions {
6
+ appDir: string;
7
+ runtimeDir: string;
8
+ cabloyManualChunk: {
9
+ debug: boolean;
10
+ vendors: CabloyViteConfigChunkVendor[];
11
+ };
12
+ }
13
+ export interface CabloyViteConfigResult {
14
+ env: {
15
+ [name: string]: string;
16
+ };
17
+ vitePlugins: any[];
18
+ viteConfig: any;
19
+ }
20
+ export type CabloyVitePlugin = [
21
+ string,
22
+ (...args: any[]) => any,
23
+ any,
24
+ {
25
+ client?: boolean;
26
+ server?: boolean;
27
+ } | undefined
28
+ ];
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,2BAA2B,EAAE,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAChC,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,UAAU,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM;IACN,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG;IACvB,GAAG;IACH;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;CACnD,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { CabloyConfigMeta } from 'zova-core';
2
+ export declare function getFlavor(offset?: number): string;
3
+ export declare function getAppMode(offset?: number): string;
4
+ export declare function getEnvMeta(configMeta: CabloyConfigMeta): {
5
+ flavor: string;
6
+ mode: string;
7
+ appMode: string | undefined;
8
+ mine: string;
9
+ };
10
+ export declare function getEnvFromCli(cliEnvName: string, cliArgName: string, defaultValue: string, offset?: number): string;
11
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,wBAAgB,SAAS,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM,CAEpD;AAED,wBAAgB,UAAU,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM,CAErD;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,gBAAgB;;;;;EAEtD;AAED,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,MAAU,GACjB,MAAM,CAUR"}
package/dist/utils.js ADDED
@@ -0,0 +1,22 @@
1
+ import parseArgs from 'minimist';
2
+ export function getFlavor(offset = 2) {
3
+ return getEnvFromCli('FLAVOR', 'flavor', 'app', offset);
4
+ }
5
+ export function getAppMode(offset = 2) {
6
+ return getEnvFromCli('APPMODE', 'appMode', 'spa', offset);
7
+ }
8
+ export function getEnvMeta(configMeta) {
9
+ return { flavor: configMeta.flavor, mode: configMeta.mode, appMode: configMeta.appMode, mine: 'mine' };
10
+ }
11
+ export function getEnvFromCli(cliEnvName, cliArgName, defaultValue, offset = 2) {
12
+ let value = process.env[cliEnvName];
13
+ if (!value) {
14
+ const argv = parseArgs(process.argv.slice(offset));
15
+ value = argv[cliArgName];
16
+ }
17
+ if (!value) {
18
+ value = defaultValue;
19
+ }
20
+ return value;
21
+ }
22
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,UAAU,CAAC;AAEjC,MAAM,UAAU,SAAS,CAAC,SAAiB,CAAC;IAC1C,OAAO,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB,CAAC;IAC3C,OAAO,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,UAA4B;IACrD,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,UAAkB,EAClB,UAAkB,EAClB,YAAoB,EACpB,SAAiB,CAAC;IAElB,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,YAAY,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { CabloyViteConfigOptions, CabloyVitePlugin } from './types.js';
2
+ export declare function generateVitePlugins(_configOptions: CabloyViteConfigOptions): CabloyVitePlugin[];
3
+ //# sourceMappingURL=vitePlugins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitePlugins.d.ts","sourceRoot":"","sources":["../src/vitePlugins.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEvE,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,uBAAuB,sBAkG1E"}
@@ -0,0 +1,98 @@
1
+ import babel from '@cabloy/vite-plugin-babel';
2
+ // import vitePluginChecker from 'vite-plugin-checker';
3
+ import vueJsxPlugin from '@vitejs/plugin-vue-jsx';
4
+ import { vitePluginFakeServer } from '@zhennann/vite-plugin-fake-server';
5
+ export function generateVitePlugins(_configOptions) {
6
+ const vitePlugins = [];
7
+ vitePlugins.push(__getVitePluginTs());
8
+ vitePlugins.push(__getVitePluginTsx());
9
+ if (process.env.MOCK_ENABLED === 'true') {
10
+ vitePlugins.push(__getVitePluginMock());
11
+ }
12
+ // vitePlugins.push(__getVitePluginChecker(configOptions));
13
+ return vitePlugins;
14
+ //////////////////////////////
15
+ function __getVitePluginTs() {
16
+ return [
17
+ 'vite-plugin-babel',
18
+ babel,
19
+ {
20
+ filter: /\.ts$/,
21
+ babelConfig: {
22
+ babelrc: false,
23
+ configFile: false,
24
+ plugins: [
25
+ ['babel-plugin-zova-bean-module'],
26
+ ['babel-plugin-transform-typescript-metadata'],
27
+ ['@babel/plugin-proposal-decorators', { version: 'legacy' }],
28
+ ['@babel/plugin-transform-class-properties', { loose: true }],
29
+ ['@babel/plugin-transform-typescript'],
30
+ ],
31
+ },
32
+ },
33
+ undefined,
34
+ ];
35
+ }
36
+ function __getVitePluginTsx() {
37
+ return [
38
+ '@vitejs/plugin-vue-jsx',
39
+ vueJsxPlugin,
40
+ {
41
+ include: /\.[jt]sx$/,
42
+ babelPlugins: [
43
+ ['babel-plugin-zova-bean-module'],
44
+ ['babel-plugin-transform-typescript-metadata'],
45
+ ['@babel/plugin-proposal-decorators', { version: 'legacy' }],
46
+ ['@babel/plugin-transform-class-properties', { loose: true }],
47
+ ],
48
+ },
49
+ undefined,
50
+ ];
51
+ }
52
+ function __getVitePluginMock() {
53
+ const include = process.env.MOCK_PATH;
54
+ const logger = process.env.MOCK_LOGGER === 'true';
55
+ const basename = process.env.MOCK_BASE_NAME || '';
56
+ const build = process.env.MOCK_BUILD === 'true'
57
+ ? {
58
+ port: Number(process.env.MOCK_BUILD_PORT || 8888),
59
+ outDir: process.env.MOCK_BUILD_OUTPUT || 'distMockServer',
60
+ }
61
+ : false;
62
+ const cors = process.env.MOCK_BUILD_CORS === 'true';
63
+ return [
64
+ 'vite-plugin-fake-server',
65
+ vitePluginFakeServer,
66
+ {
67
+ include,
68
+ exclude: ['_*'],
69
+ infixName: 'fake',
70
+ watch: true,
71
+ logger,
72
+ basename,
73
+ enableDev: !build,
74
+ enableProd: !build,
75
+ build,
76
+ cors,
77
+ },
78
+ undefined,
79
+ ];
80
+ }
81
+ // function __getVitePluginChecker(configOptions: CabloyViteConfigOptions) {
82
+ // const tsconfigPath = path.join(configOptions.appDir, 'tsconfig.vue-tsc.json');
83
+ // return [
84
+ // 'vite-plugin-checker',
85
+ // vitePluginChecker,
86
+ // {
87
+ // vueTsc: {
88
+ // tsconfigPath,
89
+ // },
90
+ // eslint: {
91
+ // lintCommand: 'eslint "./**/*.{js,ts,tsx,mjs,mts,cjs,cts,vue}"',
92
+ // },
93
+ // },
94
+ // { server: false },
95
+ // ] as CabloyVitePlugin;
96
+ // }
97
+ }
98
+ //# sourceMappingURL=vitePlugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitePlugins.js","sourceRoot":"","sources":["../src/vitePlugins.ts"],"names":[],"mappings":"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"}
package/dist/zova.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import { CabloyConfigMeta } from 'zova-core';
2
+ import { CabloyViteConfigOptions, CabloyViteConfigResult } from './types.js';
3
+ export declare function generateCabloyViteMeta(configMeta: CabloyConfigMeta, configOptions: CabloyViteConfigOptions): Promise<CabloyViteConfigResult>;
4
+ //# sourceMappingURL=zova.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zova.d.ts","sourceRoot":"","sources":["../src/zova.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAQ7E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,uBAAuB,GACrC,OAAO,CAAC,sBAAsB,CAAC,CAqGjC"}
package/dist/zova.js ADDED
@@ -0,0 +1,104 @@
1
+ import { generateVitePlugins } from './vitePlugins.js';
2
+ import { createConfigUtils } from './configUtils.js';
3
+ import { generateEntryFiles } from './generateEntryFiles.js';
4
+ const __SvgIconPattern = /assets\/icons\/groups\/.*?\.svg/;
5
+ export async function generateCabloyViteMeta(configMeta, configOptions) {
6
+ // config utils
7
+ const configUtils = createConfigUtils(configMeta, configOptions);
8
+ // env
9
+ const env = configUtils.loadEnvs();
10
+ // define
11
+ const define = __getConfigDefine(env);
12
+ // server
13
+ const server = __getConfigServer();
14
+ // build
15
+ const build = __getConfigBuild();
16
+ // vitePlugins
17
+ const vitePlugins = generateVitePlugins(configOptions);
18
+ // alias
19
+ const alias = {
20
+ '@vue/runtime-core': '@cabloy/vue-runtime-core',
21
+ };
22
+ // viteConfig
23
+ const viteConfig = {
24
+ root: configOptions.appDir,
25
+ base: env.APP_PUBLIC_PATH,
26
+ mode: configMeta.mode,
27
+ define,
28
+ server,
29
+ build,
30
+ resolve: {
31
+ alias,
32
+ extensions: ['.js', '.json', '.jsx', '.mjs', '.ts', '.tsx', '.vue'],
33
+ },
34
+ };
35
+ // generateEntryFiles
36
+ await generateEntryFiles(configMeta, configOptions);
37
+ // ok
38
+ return {
39
+ env,
40
+ vitePlugins,
41
+ viteConfig,
42
+ };
43
+ //////////////////////////////
44
+ function __getConfigServer() {
45
+ // proxy
46
+ const proxy = {};
47
+ if (process.env.PROXY_API_ENABLED === 'true') {
48
+ proxy[process.env.PROXY_API_PREFIX] = {
49
+ target: process.env.PROXY_API_BASE_URL,
50
+ changeOrigin: true,
51
+ };
52
+ }
53
+ // server
54
+ const server = {
55
+ proxy,
56
+ };
57
+ // devServerHost
58
+ if (process.env.DEV_SERVER_HOST) {
59
+ if (process.env.DEV_SERVER_HOST === 'true') {
60
+ server.host = true;
61
+ }
62
+ else {
63
+ server.host = process.env.DEV_SERVER_HOST;
64
+ }
65
+ }
66
+ if (process.env.DEV_SERVER_PORT) {
67
+ server.port = Number(process.env.DEV_SERVER_PORT);
68
+ }
69
+ return server;
70
+ }
71
+ function __getConfigDefine(env) {
72
+ const acc = {};
73
+ for (const key in env) {
74
+ const val = env[key];
75
+ acc[`process.env.${key}`] =
76
+ val === 'true' || val === 'false'
77
+ ? val // let's keep it as boolean and not transform it to string
78
+ : JSON.stringify(env[key]);
79
+ }
80
+ return acc;
81
+ }
82
+ function __getConfigBuild() {
83
+ const build = {
84
+ rollupOptions: {
85
+ output: {
86
+ manualChunks: id => {
87
+ return configUtils.configManualChunk(id);
88
+ },
89
+ },
90
+ },
91
+ assetsInlineLimit: (filePath) => {
92
+ if (__SvgIconPattern.test(filePath)) {
93
+ return 0;
94
+ }
95
+ },
96
+ minify: 'terser',
97
+ terserOptions: {
98
+ keep_classnames: true,
99
+ },
100
+ };
101
+ return build;
102
+ }
103
+ }
104
+ //# sourceMappingURL=zova.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zova.js","sourceRoot":"","sources":["../src/zova.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "zova-vite",
3
+ "version": "1.0.70",
4
+ "description": "zova vite",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "type": "module",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "default": "./dist/index.js"
13
+ },
14
+ "./*": "./*"
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "templates"
19
+ ],
20
+ "keywords": [
21
+ "framework",
22
+ "zova"
23
+ ],
24
+ "author": "zhennann",
25
+ "license": "MIT",
26
+ "dependencies": {
27
+ "@babel/plugin-proposal-decorators": "^7.24.1",
28
+ "@babel/plugin-transform-class-properties": "^7.24.1",
29
+ "@cabloy/dotenv": "^1.0.1",
30
+ "@cabloy/extend": "^3.0.5",
31
+ "zova-core": "^5.0.63",
32
+ "@cabloy/module-glob": "^5.0.9",
33
+ "@cabloy/vite-plugin-babel": "^1.1.3",
34
+ "@cabloy/vue-runtime-core": "^3.4.31",
35
+ "@faker-js/faker": "^8.4.1",
36
+ "@types/node": "^20.12.12",
37
+ "@vitejs/plugin-vue-jsx": "^3.1.0",
38
+ "@zhennann/vite-plugin-fake-server": "^2.1.1",
39
+ "babel-plugin-zova-bean-module": "^1.0.15",
40
+ "babel-plugin-transform-typescript-metadata": "^0.3.2",
41
+ "chalk": "^3.0.0",
42
+ "esbuild": "^0.20.2",
43
+ "fs-extra": "^11.2.0",
44
+ "lodash": "^4.17.21",
45
+ "minimist": "^1.2.8",
46
+ "terser": "^5.31.0",
47
+ "tmp": "^0.2.3",
48
+ "vite": "^5.2.11"
49
+ },
50
+ "gitHead": "5d8e87bdb90a85153694892e3a11a08e7276241b",
51
+ "scripts": {
52
+ "lint": "eslint .",
53
+ "clean": "tsc -b --clean",
54
+ "tsc:publish": "npm run clean && tsc -b"
55
+ }
56
+ }
@@ -0,0 +1,26 @@
1
+ <%
2
+ function capitalizeFirstLetter(string) {
3
+ return string.charAt(0).toUpperCase() + string.slice(1);
4
+ }
5
+
6
+ function getPascalFromSnake(input){
7
+ return input.split("-").map(capitalizeFirstLetter).join("")
8
+ }
9
+
10
+ function getCamelFromSnake(input){
11
+ const toReturn = getPascalFromSnake(input);
12
+ return toReturn.charAt(0).toLowerCase() + toReturn.slice(1);
13
+ }
14
+ %>
15
+ const modules = {};
16
+
17
+ <% for (const relativeName in modules) {
18
+ const module=modules[relativeName];
19
+ const importName=getCamelFromSnake(relativeName);
20
+ const importClause=`modules['${module.info.relativeName}'] = { resource: () => import('${module.info.fullName}'), info: ${JSON.stringify(module.info,null,2)}};\n`;
21
+ print(importClause);
22
+ }%>
23
+ <%
24
+ const clause=`export const modulesMeta = { modules, moduleNames: ${JSON.stringify(moduleNames)} };`;
25
+ %>
26
+ <%=clause%>