zmp-cli 3.15.6 → 3.15.7
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/README.md +1 -0
- package/build/index.js +1 -184
- package/config/index.js +1 -44
- package/create/index.js +1 -230
- package/create/init-zmp-ui.js +1 -216
- package/create/templates/app-parameters.js +9 -25
- package/create/templates/common/webpack/build.js +2 -40
- package/create/templates/copy-assets.js +1 -158
- package/create/templates/core/copy-assets.js +14 -82
- package/create/templates/core/generate-home-page.js +16 -38
- package/create/templates/core/generate-root.js +28 -63
- package/create/templates/core/generate-routes.js +12 -38
- package/create/templates/core/generate-scripts.js +16 -65
- package/create/templates/create-folders.js +1 -30
- package/create/templates/generate-config-xml.js +2 -9
- package/create/templates/generate-index.js +10 -35
- package/create/templates/generate-manifest.js +1 -49
- package/create/templates/generate-recoil.js +4 -16
- package/create/templates/generate-routes.js +1 -16
- package/create/templates/generate-scripts.js +1 -16
- package/create/templates/generate-service-worker.js +4 -10
- package/create/templates/generate-store.js +4 -15
- package/create/templates/generate-styles.js +10 -64
- package/create/templates/generate-webpack-config.js +43 -125
- package/create/templates/generate-zmp-custom.js +14 -72
- package/create/templates/react/copy-assets.js +1 -85
- package/create/templates/react/generate-home-page.js +20 -50
- package/create/templates/react/generate-root.js +15 -44
- package/create/templates/react/generate-routes.js +1 -16
- package/create/templates/react/generate-scripts.js +12 -38
- package/create/templates/react/pages/404.js +2 -10
- package/create/templates/react/pages/about.js +2 -10
- package/create/templates/react/pages/catalog.js +3 -17
- package/create/templates/react/pages/dynamic-route.js +2 -10
- package/create/templates/react/pages/form.js +6 -26
- package/create/templates/react/pages/index copy.js +1 -17
- package/create/templates/react/pages/index.js +1 -17
- package/create/templates/react/pages/settings.js +3 -17
- package/create/templates/react/pages/user.js +8 -27
- package/create/templates/react-typescript/components/app-items.js +2 -9
- package/create/templates/react-typescript/components/index.js +1 -9
- package/create/templates/react-typescript/components/navbar-back.js +2 -9
- package/create/templates/react-typescript/components/user-card.js +2 -9
- package/create/templates/react-typescript/copy-assets.js +1 -94
- package/create/templates/react-typescript/generate-home-page.js +20 -52
- package/create/templates/react-typescript/generate-root.js +14 -45
- package/create/templates/react-typescript/generate-routes.js +1 -12
- package/create/templates/react-typescript/generate-scripts.js +12 -37
- package/create/templates/react-typescript/pages/404.js +2 -10
- package/create/templates/react-typescript/pages/about.js +2 -10
- package/create/templates/react-typescript/pages/catalog.js +3 -17
- package/create/templates/react-typescript/pages/dynamic-route.js +2 -10
- package/create/templates/react-typescript/pages/form.js +6 -26
- package/create/templates/react-typescript/pages/index.js +1 -17
- package/create/templates/react-typescript/pages/settings.js +3 -17
- package/create/templates/react-typescript/pages/user.js +8 -27
- package/create/templates/svelte/copy-assets.js +1 -47
- package/create/templates/svelte/generate-home-page.js +20 -56
- package/create/templates/svelte/generate-root.js +22 -80
- package/create/templates/svelte/generate-routes.js +7 -22
- package/create/templates/svelte/generate-scripts.js +7 -23
- package/create/templates/vue/copy-assets.js +1 -67
- package/create/templates/vue/generate-home-page.js +2 -8
- package/create/templates/vue/generate-root.js +3 -13
- package/create/templates/vue/generate-routes.js +1 -7
- package/create/templates/vue/generate-scripts.js +9 -26
- package/create/templates/vue/global-components.d.js +1 -0
- package/create/templates/zaui/copy-assets.js +1 -90
- package/create/templates/zaui/generate-home-page.js +27 -53
- package/create/templates/zaui/generate-root.js +14 -34
- package/create/templates/zaui/generate-routes.js +1 -10
- package/create/templates/zaui/generate-scripts.js +6 -20
- package/create/templates/zaui/generate-user-card.js +3 -18
- package/create/templates/zaui/pages/about.js +3 -20
- package/create/templates/zaui/pages/form.js +3 -20
- package/create/templates/zaui/pages/index.js +1 -9
- package/create/templates/zaui/pages/user.js +3 -20
- package/create/utils/colors.js +1 -94
- package/create/utils/generate-app-config.js +1 -34
- package/create/utils/generate-gitignore.js +1 -43
- package/create/utils/generate-npm-scripts.js +1 -26
- package/create/utils/generate-package-json.js +1 -132
- package/create/utils/generate-readme.js +1 -28
- package/create/utils/get-options.js +1 -204
- package/create/utils/indent.js +1 -31
- package/create/utils/npm-scripts.js +1 -62
- package/create/utils/string.js +1 -13
- package/create/utils/styles-extension.js +1 -9
- package/create/utils/template-if.js +1 -9
- package/deploy/index.js +1 -149
- package/deploy/utils/get-options.js +1 -69
- package/deploy/utils/request-upload.js +1 -34
- package/deploy/utils/upload-app.js +1 -82
- package/index.js +1 -319
- package/login/index.js +1 -169
- package/login/utils/get-options.js +1 -58
- package/login/utils/zalo-login.js +1 -32
- package/migrate/icons/update-icon-v3.js +1 -19
- package/migrate/index.js +1 -60
- package/migrate/utils/get-options.js +1 -46
- package/migrate/utils/migrate-react.js +1 -33
- package/package.json +11 -39
- package/start/generate-hr-config.js +1 -59
- package/start/index.js +1 -382
- package/sync/index-to-app-config.js +1 -146
- package/sync/index.js +1 -55
- package/utils/axios.js +1 -15
- package/utils/check-update.js +1 -53
- package/utils/constants.js +1 -20
- package/utils/env.js +1 -39
- package/utils/error.js +1 -16
- package/utils/find-files-by-ext.js +1 -27
- package/utils/find-free-port.js +1 -11
- package/utils/fs-extra.js +1 -90
- package/utils/generate-pages-map.js +1 -17
- package/utils/get-app-info.js +1 -22
- package/utils/get-current-project.js +1 -25
- package/utils/get-ip.js +1 -19
- package/utils/log.js +1 -19
- package/utils/node-blob.js +1 -106
- package/utils/resumable.d.js +1 -0
- package/utils/resumable.js +1 -1204
- package/utils/spinner.js +1 -25
- package/utils/tunnel.js +1 -36
- package/.editorconfig +0 -15
- package/.eslintignore +0 -8
- package/.eslintrc.js +0 -10
- package/.vscode/launch.json +0 -23
- package/LICENSE +0 -21
- package/README.git.md +0 -37
- package/assets/index.js +0 -147
- package/build/dist/index.dev.js +0 -217
- package/config/dist/index.dev.js +0 -48
- package/create/templates/dist/generate-styles.dev.js +0 -46
- package/create/templates/react/dist/generate-scripts.dev.js +0 -23
- package/create/templates/react-typescript/dist/generate-scripts.dev.js +0 -23
- package/create/utils/dist/get-options.dev.js +0 -277
- package/deploy/dist/index.dev.js +0 -227
- package/deploy/utils/dist/request-upload.dev.js +0 -62
- package/deploy/utils/dist/upload-app.dev.js +0 -113
- package/dist/bundle.js +0 -1
- package/dist/index.dev.js +0 -352
- package/jsconfig.json +0 -8
- package/login/dist/index.dev.js +0 -223
- package/login/utils/dist/zalo-login.dev.js +0 -41
- package/screenshots/wellcome.jpg +0 -0
- package/show-qr-app/assets/css/style.css +0 -87
- package/show-qr-app/assets/js/qrcode.min.js +0 -1
- package/show-qr-app/index.html +0 -57
- package/show-qr-app/package.json +0 -14
- package/start/dist/index.dev.js +0 -312
- package/ui/server.js +0 -194
- package/ui/www/css/app.css +0 -1
- package/ui/www/css/app.css.map +0 -1
- package/ui/www/fonts/ZMPIcons-Regular.eot +0 -0
- package/ui/www/fonts/ZMPIcons-Regular.ttf +0 -0
- package/ui/www/fonts/ZMPIcons-Regular.woff +0 -0
- package/ui/www/fonts/ZMPIcons-Regular.woff2 +0 -0
- package/ui/www/images/logo.png +0 -0
- package/ui/www/index.html +0 -1
- package/ui/www/js/app.js +0 -3
- package/ui/www/js/app.js.LICENSE.txt +0 -20
- package/ui/www/js/app.js.map +0 -1
- package/ui/www/static/icons/apple-touch-icon.png +0 -0
- package/ui/www/static/icons/favicon.png +0 -0
- package/utils/dist/get-app-info.dev.js +0 -54
package/create/init-zmp-ui.js
CHANGED
|
@@ -1,216 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/* eslint no-console: off */
|
|
3
|
-
const exec = require('exec-sh');
|
|
4
|
-
const path = require('path');
|
|
5
|
-
const chalk = require('chalk');
|
|
6
|
-
const logSymbols = require('log-symbols');
|
|
7
|
-
const fse = require('../utils/fs-extra');
|
|
8
|
-
const generatePackageJson = require('./utils/generate-package-json');
|
|
9
|
-
const generateNpmScripts = require('./utils/generate-npm-scripts');
|
|
10
|
-
|
|
11
|
-
const generateAppConfig = require('./utils/generate-app-config');
|
|
12
|
-
|
|
13
|
-
const createFolders = require('./templates/create-folders');
|
|
14
|
-
const copyAssets = require('./templates/copy-assets');
|
|
15
|
-
const generateReadme = require('./utils/generate-readme');
|
|
16
|
-
const generateGitignore = require('./utils/generate-gitignore');
|
|
17
|
-
const log = require('../utils/log');
|
|
18
|
-
const config = require('../config');
|
|
19
|
-
|
|
20
|
-
const waitText = chalk.gray('(Please wait, it can take a while)');
|
|
21
|
-
|
|
22
|
-
module.exports = async (
|
|
23
|
-
options = {},
|
|
24
|
-
logger,
|
|
25
|
-
{ exitOnError = true, iconFile = null } = {}
|
|
26
|
-
) => {
|
|
27
|
-
const cwd = options.cwd || process.cwd();
|
|
28
|
-
const isRunningInCwd = cwd === process.cwd();
|
|
29
|
-
function errorExit(err) {
|
|
30
|
-
log.error(err.stderr || err);
|
|
31
|
-
if (exitOnError) process.exit(1);
|
|
32
|
-
}
|
|
33
|
-
if (!logger) {
|
|
34
|
-
// eslint-disable-next-line
|
|
35
|
-
logger = {
|
|
36
|
-
statusStart() {},
|
|
37
|
-
statusDone() {},
|
|
38
|
-
statusError() {},
|
|
39
|
-
text() {},
|
|
40
|
-
error() {},
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
// App config
|
|
44
|
-
logger.statusStart('Generating app-config.json');
|
|
45
|
-
const appConfig = generateAppConfig(options);
|
|
46
|
-
|
|
47
|
-
fse.writeFileSync(
|
|
48
|
-
path.join(cwd, config.filename.appConfig),
|
|
49
|
-
appConfig.content
|
|
50
|
-
);
|
|
51
|
-
logger.statusDone('Generating app-config.json');
|
|
52
|
-
|
|
53
|
-
if (!options.newProject) {
|
|
54
|
-
const deployScripts = generateNpmScripts(['r']).map((s) => {
|
|
55
|
-
return `${s.icon} Run "npm run ${s.name}" - ${s.description}`;
|
|
56
|
-
});
|
|
57
|
-
logger.text(deployScripts.join('\n'));
|
|
58
|
-
process.exit(0);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// Package
|
|
62
|
-
logger.statusStart('Generating package.json');
|
|
63
|
-
const packageJson = generatePackageJson(options);
|
|
64
|
-
fse.writeFileSync(path.join(cwd, 'package.json'), packageJson.content);
|
|
65
|
-
fse.writeFileSync(
|
|
66
|
-
path.join(cwd, config.filename.zmpConfig),
|
|
67
|
-
JSON.stringify(options, '', 2)
|
|
68
|
-
);
|
|
69
|
-
|
|
70
|
-
logger.statusDone('Generating package.json');
|
|
71
|
-
|
|
72
|
-
// Create Folders
|
|
73
|
-
logger.statusStart('Creating required folders structure');
|
|
74
|
-
try {
|
|
75
|
-
createFolders(options);
|
|
76
|
-
} catch (err) {
|
|
77
|
-
logger.statusError('Error creating required folders structure');
|
|
78
|
-
// if (err) logger.error(err.stderr);
|
|
79
|
-
errorExit(err);
|
|
80
|
-
}
|
|
81
|
-
logger.statusDone('Creating required folders structure');
|
|
82
|
-
|
|
83
|
-
// Install NPM depenencies
|
|
84
|
-
logger.statusStart(`${'Installing NPM Dependencies'} ${waitText}`);
|
|
85
|
-
try {
|
|
86
|
-
if (!isRunningInCwd) {
|
|
87
|
-
await exec.promise(
|
|
88
|
-
`cd ${cwd.replace(
|
|
89
|
-
/ /g,
|
|
90
|
-
'\\ '
|
|
91
|
-
)} && npm install ${packageJson.dependencies.join(' ')} --save`,
|
|
92
|
-
true
|
|
93
|
-
);
|
|
94
|
-
} else {
|
|
95
|
-
await exec.promise(
|
|
96
|
-
`npm install ${packageJson.dependencies.join(' ')} --save`,
|
|
97
|
-
true
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
} catch (err) {
|
|
101
|
-
logger.statusError('Error installing NPM Dependencies');
|
|
102
|
-
// if (err) logger.error(err.stderr);
|
|
103
|
-
errorExit(err);
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
logger.statusDone('Installing NPM Dependencies');
|
|
107
|
-
// Install NPM dev depenencies
|
|
108
|
-
logger.statusStart(`${'Installing NPM Dev Dependencies'} ${waitText}`);
|
|
109
|
-
try {
|
|
110
|
-
if (!isRunningInCwd) {
|
|
111
|
-
await exec.promise(
|
|
112
|
-
`cd ${cwd.replace(
|
|
113
|
-
/ /g,
|
|
114
|
-
'\\ '
|
|
115
|
-
)} && npm install ${packageJson.devDependencies.join(' ')} --save-dev`,
|
|
116
|
-
true
|
|
117
|
-
);
|
|
118
|
-
} else {
|
|
119
|
-
await exec.promise(
|
|
120
|
-
`npm install ${packageJson.devDependencies.join(' ')} --save-dev`,
|
|
121
|
-
true
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
} catch (err) {
|
|
125
|
-
logger.statusError('Error installing NPM Dev Dependencies');
|
|
126
|
-
// if (err) logger.error(err.stderr);
|
|
127
|
-
errorExit(err);
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
logger.statusDone('Installing NPM Dev Dependencies');
|
|
131
|
-
|
|
132
|
-
if (packageJson.postInstall && packageJson.postInstall.length) {
|
|
133
|
-
logger.statusStart('Executing NPM Scripts');
|
|
134
|
-
try {
|
|
135
|
-
if (!isRunningInCwd) {
|
|
136
|
-
await exec.promise(
|
|
137
|
-
`cd ${cwd.replace(/ /g, '\\ ')} && npm run postinstall`,
|
|
138
|
-
true
|
|
139
|
-
);
|
|
140
|
-
} else {
|
|
141
|
-
await exec.promise('npm run postinstall', true);
|
|
142
|
-
}
|
|
143
|
-
} catch (err) {
|
|
144
|
-
logger.statusError('Error executing NPM Scripts');
|
|
145
|
-
// if (err) logger.error(err.stderr);
|
|
146
|
-
errorExit(err);
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
logger.statusDone('Executing NPM Scripts');
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
// Create Project Files
|
|
153
|
-
logger.statusStart('Creating project files');
|
|
154
|
-
const filesToCopy = copyAssets(options, iconFile);
|
|
155
|
-
try {
|
|
156
|
-
// eslint-disable-next-line
|
|
157
|
-
await Promise.all(
|
|
158
|
-
filesToCopy.map((f) => {
|
|
159
|
-
if (f.from) {
|
|
160
|
-
return fse.copyFileAsync(f.from, f.to);
|
|
161
|
-
}
|
|
162
|
-
if (f.content) {
|
|
163
|
-
return fse.writeFileAsync(f.to, f.content);
|
|
164
|
-
}
|
|
165
|
-
return Promise.resolve();
|
|
166
|
-
})
|
|
167
|
-
);
|
|
168
|
-
} catch (err) {
|
|
169
|
-
logger.statusError('Error creating project files');
|
|
170
|
-
// if (err) logger.error(err.stderr || err);
|
|
171
|
-
errorExit(err);
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// Generate Readme
|
|
176
|
-
const readMeContent = generateReadme(options);
|
|
177
|
-
try {
|
|
178
|
-
fse.writeFileSync(path.join(cwd, 'README.md'), readMeContent);
|
|
179
|
-
} catch (err) {
|
|
180
|
-
logger.statusError('Error creating project files');
|
|
181
|
-
// if (err) logger.error(err.stderr || err);
|
|
182
|
-
errorExit(err);
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
// Generate .gitignore
|
|
187
|
-
const gitignoreContent = generateGitignore(options);
|
|
188
|
-
try {
|
|
189
|
-
fse.writeFileSync(path.join(cwd, '.gitignore'), gitignoreContent);
|
|
190
|
-
} catch (err) {
|
|
191
|
-
logger.statusError('Error creating project files');
|
|
192
|
-
// if (err) logger.error(err.stderr || err);
|
|
193
|
-
errorExit(err);
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
logger.statusDone('Creating project files');
|
|
198
|
-
|
|
199
|
-
let npmScripts = generateNpmScripts(['s', 'r']).map((s) => {
|
|
200
|
-
return `- ${s.icon} Run "npm run ${s.name}" - ${s.description}`;
|
|
201
|
-
});
|
|
202
|
-
|
|
203
|
-
// Final Text
|
|
204
|
-
const finalText = `
|
|
205
|
-
${chalk.bold(logSymbols.success)} ${chalk.bold('Done!')} 💪
|
|
206
|
-
|
|
207
|
-
${chalk.bold(logSymbols.info)} ${chalk.bold('Next steps:')}
|
|
208
|
-
${npmScripts.join('\n ')}
|
|
209
|
-
- 📖 Visit documentation at ${chalk.bold('https://mini.zalo.me/')}
|
|
210
|
-
- 📖 Check ${chalk.bold(
|
|
211
|
-
'README.md'
|
|
212
|
-
)} in project root folder with further instructions
|
|
213
|
-
`;
|
|
214
|
-
|
|
215
|
-
logger.text(finalText);
|
|
216
|
-
};
|
|
1
|
+
'use strict';const _0x584257=_0x55e6;function _0x214f(){const _0x303ce7=['Error\x20creating\x20required\x20folders\x20structure','text','Generating\x20app-config.json','\x0a\x20\x20-\x20📖\x20Visit\x20documentation\x20at\x20','README.md','3846kjtmtv','../utils/fs-extra','content','(Please\x20wait,\x20it\x20can\x20take\x20a\x20while)','./utils/generate-package-json','icon','name','description','Creating\x20project\x20files','27rLtxxO','2480srQCDL','406200otkAAn','zmpConfig','all','\x0a\x20\x20-\x20📖\x20Check\x20','success','copyFileAsync','exit','\x20💪\x0a\x0a','statusStart','\x20--save-dev','gray','52323RfCmLC','Executing\x20NPM\x20Scripts','map','stderr','cwd','Error\x20installing\x20NPM\x20Dependencies','620144GJIbTf','package.json','filename','./templates/copy-assets','Done!','./templates/create-folders','exports','Error\x20executing\x20NPM\x20Scripts','info','\x0a\x20\x20','\x20&&\x20npm\x20install\x20','path','\x22\x20-\x20','join','from','bold','./utils/generate-readme','error','devDependencies','Error\x20creating\x20project\x20files','Next\x20steps:','Creating\x20required\x20folders\x20structure','../utils/log','Error\x20installing\x20NPM\x20Dev\x20Dependencies','\x20--save','cd\x20','.gitignore','newProject','\x20Run\x20\x22npm\x20run\x20','writeFileSync','chalk','2399792zHAYCO','postInstall','Installing\x20NPM\x20Dependencies','dependencies','replace','stringify','promise','398876ipdyZg','../config','statusError','https://mini.zalo.me/','28ZCIJrK','statusDone','2886224LsPIPL','npm\x20install\x20','1rUTjdH'];_0x214f=function(){return _0x303ce7;};return _0x214f();}function _0x55e6(_0x4cfce8,_0x4318e7){const _0x214fca=_0x214f();return _0x55e6=function(_0x55e6be,_0x2843f6){_0x55e6be=_0x55e6be-0x1ac;let _0x1f3029=_0x214fca[_0x55e6be];return _0x1f3029;},_0x55e6(_0x4cfce8,_0x4318e7);}(function(_0x40bd7b,_0x35ef7d){const _0x475875=_0x55e6,_0x27b464=_0x40bd7b();while(!![]){try{const _0x3d6d87=-parseInt(_0x475875(0x1eb))/0x1*(parseInt(_0x475875(0x1e3))/0x2)+parseInt(_0x475875(0x1b7))/0x3*(parseInt(_0x475875(0x1e7))/0x4)+-parseInt(_0x475875(0x1fb))/0x5*(-parseInt(_0x475875(0x1f1))/0x6)+parseInt(_0x475875(0x1bd))/0x7+-parseInt(_0x475875(0x1dc))/0x8+parseInt(_0x475875(0x1fa))/0x9*(-parseInt(_0x475875(0x1ac))/0xa)+parseInt(_0x475875(0x1e9))/0xb;if(_0x3d6d87===_0x35ef7d)break;else _0x27b464['push'](_0x27b464['shift']());}catch(_0x19455f){_0x27b464['push'](_0x27b464['shift']());}}}(_0x214f,0x296ff));const e=require('exec-sh'),t=require(_0x584257(0x1c8)),r=require(_0x584257(0x1db)),n=require('log-symbols'),s=require(_0x584257(0x1f2)),i=require(_0x584257(0x1f5)),a=require('./utils/generate-npm-scripts'),o=require('./utils/generate-app-config'),c=require(_0x584257(0x1c2)),l=require(_0x584257(0x1c0)),u=require(_0x584257(0x1cd)),p=require('./utils/generate-gitignore'),g=require(_0x584257(0x1d3)),d=require(_0x584257(0x1e4)),m=r[_0x584257(0x1b6)](_0x584257(0x1f4));module[_0x584257(0x1c3)]=async(_0x241a96={},_0x4ebdba,{exitOnError:_0x4f98b4=!0x0,iconFile:_0x2a5392=null}={})=>{const _0x25e889=_0x584257;let _0x406162=_0x241a96[_0x25e889(0x1bb)]||process['cwd'](),_0x1f695b=_0x406162===process['cwd']();function _0x4fb5aa(_0x3719ec){const _0x24786d=_0x25e889;g[_0x24786d(0x1ce)](_0x3719ec[_0x24786d(0x1ba)]||_0x3719ec),_0x4f98b4&&process[_0x24786d(0x1b2)](0x1);}_0x4ebdba||(_0x4ebdba={'statusStart'(){},'statusDone'(){},'statusError'(){},'text'(){},'error'(){}}),_0x4ebdba[_0x25e889(0x1b4)](_0x25e889(0x1ee));let _0x3ccb3a=o(_0x241a96);if(s[_0x25e889(0x1da)](t[_0x25e889(0x1ca)](_0x406162,d['filename']['appConfig']),_0x3ccb3a[_0x25e889(0x1f3)]),_0x4ebdba[_0x25e889(0x1e8)](_0x25e889(0x1ee)),!_0x241a96[_0x25e889(0x1d8)]){let _0x18059a=a(['r'])[_0x25e889(0x1b9)](_0x184b61=>_0x184b61[_0x25e889(0x1f6)]+_0x25e889(0x1d9)+_0x184b61[_0x25e889(0x1f7)]+_0x25e889(0x1c9)+_0x184b61[_0x25e889(0x1f8)]);_0x4ebdba['text'](_0x18059a[_0x25e889(0x1ca)]('\x0a')),process[_0x25e889(0x1b2)](0x0);}_0x4ebdba[_0x25e889(0x1b4)]('Generating\x20package.json');let _0x34005d=i(_0x241a96);s[_0x25e889(0x1da)](t[_0x25e889(0x1ca)](_0x406162,_0x25e889(0x1be)),_0x34005d[_0x25e889(0x1f3)]),s[_0x25e889(0x1da)](t[_0x25e889(0x1ca)](_0x406162,d[_0x25e889(0x1bf)][_0x25e889(0x1ad)]),JSON[_0x25e889(0x1e1)](_0x241a96,'',0x2)),_0x4ebdba[_0x25e889(0x1e8)]('Generating\x20package.json'),_0x4ebdba[_0x25e889(0x1b4)]('Creating\x20required\x20folders\x20structure');try{c(_0x241a96);}catch(_0x33c18d){_0x4ebdba[_0x25e889(0x1e5)](_0x25e889(0x1ec)),_0x4fb5aa(_0x33c18d);}_0x4ebdba[_0x25e889(0x1e8)](_0x25e889(0x1d2)),_0x4ebdba[_0x25e889(0x1b4)]('Installing\x20NPM\x20Dependencies\x20'+m);try{_0x1f695b?await e[_0x25e889(0x1e2)](_0x25e889(0x1ea)+_0x34005d[_0x25e889(0x1df)][_0x25e889(0x1ca)]('\x20')+_0x25e889(0x1d5),!0x0):await e[_0x25e889(0x1e2)]('cd\x20'+_0x406162[_0x25e889(0x1e0)](/ /g,'\x5c\x20')+'\x20&&\x20npm\x20install\x20'+_0x34005d[_0x25e889(0x1df)][_0x25e889(0x1ca)]('\x20')+'\x20--save',!0x0);}catch(_0x39c8e2){_0x4ebdba[_0x25e889(0x1e5)](_0x25e889(0x1bc)),_0x4fb5aa(_0x39c8e2);return;}_0x4ebdba[_0x25e889(0x1e8)](_0x25e889(0x1de)),_0x4ebdba[_0x25e889(0x1b4)]('Installing\x20NPM\x20Dev\x20Dependencies\x20'+m);try{_0x1f695b?await e[_0x25e889(0x1e2)](_0x25e889(0x1ea)+_0x34005d[_0x25e889(0x1cf)][_0x25e889(0x1ca)]('\x20')+'\x20--save-dev',!0x0):await e[_0x25e889(0x1e2)](_0x25e889(0x1d6)+_0x406162[_0x25e889(0x1e0)](/ /g,'\x5c\x20')+_0x25e889(0x1c7)+_0x34005d[_0x25e889(0x1cf)][_0x25e889(0x1ca)]('\x20')+_0x25e889(0x1b5),!0x0);}catch(_0x5aa072){_0x4ebdba[_0x25e889(0x1e5)](_0x25e889(0x1d4)),_0x4fb5aa(_0x5aa072);return;}if(_0x4ebdba['statusDone']('Installing\x20NPM\x20Dev\x20Dependencies'),_0x34005d['postInstall']&&_0x34005d[_0x25e889(0x1dd)]['length']){_0x4ebdba['statusStart'](_0x25e889(0x1b8));try{_0x1f695b?await e[_0x25e889(0x1e2)]('npm\x20run\x20postinstall',!0x0):await e[_0x25e889(0x1e2)](_0x25e889(0x1d6)+_0x406162[_0x25e889(0x1e0)](/ /g,'\x5c\x20')+'\x20&&\x20npm\x20run\x20postinstall',!0x0);}catch(_0x5d30e3){_0x4ebdba[_0x25e889(0x1e5)](_0x25e889(0x1c4)),_0x4fb5aa(_0x5d30e3);return;}_0x4ebdba[_0x25e889(0x1e8)](_0x25e889(0x1b8));}_0x4ebdba[_0x25e889(0x1b4)]('Creating\x20project\x20files');let _0x24a7ea=l(_0x241a96,_0x2a5392);try{await Promise[_0x25e889(0x1ae)](_0x24a7ea[_0x25e889(0x1b9)](_0x258225=>_0x258225[_0x25e889(0x1cb)]?s[_0x25e889(0x1b1)](_0x258225[_0x25e889(0x1cb)],_0x258225['to']):_0x258225[_0x25e889(0x1f3)]?s['writeFileAsync'](_0x258225['to'],_0x258225[_0x25e889(0x1f3)]):Promise['resolve']()));}catch(_0x4ef002){_0x4ebdba[_0x25e889(0x1e5)]('Error\x20creating\x20project\x20files'),_0x4fb5aa(_0x4ef002);return;}let _0x924b9f=u(_0x241a96);try{s[_0x25e889(0x1da)](t[_0x25e889(0x1ca)](_0x406162,_0x25e889(0x1f0)),_0x924b9f);}catch(_0x35b32d){_0x4ebdba['statusError'](_0x25e889(0x1d0)),_0x4fb5aa(_0x35b32d);return;}let _0xfc2955=p(_0x241a96);try{s[_0x25e889(0x1da)](t[_0x25e889(0x1ca)](_0x406162,_0x25e889(0x1d7)),_0xfc2955);}catch(_0x44a533){_0x4ebdba[_0x25e889(0x1e5)](_0x25e889(0x1d0)),_0x4fb5aa(_0x44a533);return;}_0x4ebdba[_0x25e889(0x1e8)](_0x25e889(0x1f9));let _0x3d70c6=a(['s','r'])[_0x25e889(0x1b9)](_0x48cc5a=>'-\x20'+_0x48cc5a[_0x25e889(0x1f6)]+'\x20Run\x20\x22npm\x20run\x20'+_0x48cc5a[_0x25e889(0x1f7)]+'\x22\x20-\x20'+_0x48cc5a[_0x25e889(0x1f8)]),_0x139175='\x0a'+r[_0x25e889(0x1cc)](n[_0x25e889(0x1b0)])+'\x20'+r[_0x25e889(0x1cc)](_0x25e889(0x1c1))+_0x25e889(0x1b3)+r[_0x25e889(0x1cc)](n[_0x25e889(0x1c5)])+'\x20'+r[_0x25e889(0x1cc)](_0x25e889(0x1d1))+_0x25e889(0x1c6)+_0x3d70c6['join'](_0x25e889(0x1c6))+_0x25e889(0x1ef)+r[_0x25e889(0x1cc)](_0x25e889(0x1e6))+_0x25e889(0x1af)+r['bold']('README.md')+'\x20in\x20project\x20root\x20folder\x20with\x20further\x20instructions\x0a\x20\x20\x20\x20';_0x4ebdba[_0x25e889(0x1ed)](_0x139175);};
|
|
@@ -1,33 +1,17 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
module.exports = (options) => {
|
|
5
|
-
const { framework, pkg, name, bundler, stateManagement } = options;
|
|
6
|
-
|
|
7
|
-
return indent(
|
|
8
|
-
0,
|
|
9
|
-
`
|
|
10
|
-
name: '${name}', // App name
|
|
1
|
+
"use strict";const e=require("../utils/indent"),t=require("../utils/template-if");module.exports=o=>{let{framework:p,pkg:n,name:r,bundler:i,stateManagement:m}=o;return e(0,`
|
|
2
|
+
name: '${r}', // App name
|
|
11
3
|
theme: 'auto', // Automatic theme detection
|
|
12
|
-
${
|
|
4
|
+
${t("store"===m,()=>`
|
|
13
5
|
// App store
|
|
14
6
|
store: store,
|
|
15
7
|
`)}
|
|
16
|
-
${
|
|
17
|
-
${
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
)}
|
|
21
|
-
${templateIf(pkg, () => `id: '${pkg}', // App bundle ID`)}
|
|
22
|
-
${templateIf(
|
|
23
|
-
framework === 'core',
|
|
24
|
-
() => ` on: {
|
|
8
|
+
${t("core"===p,()=>"el: '#app', // App root element")}
|
|
9
|
+
${t("core"===p&&i,()=>"component: App, // App main component")}
|
|
10
|
+
${t(n,()=>`id: '${n}', // App bundle ID`)}
|
|
11
|
+
${t("core"===p,()=>` on: {
|
|
25
12
|
init: function () {
|
|
26
13
|
var zmp = this;
|
|
27
14
|
},
|
|
28
15
|
},
|
|
29
|
-
`
|
|
30
|
-
)}
|
|
31
|
-
`
|
|
32
|
-
).trim();
|
|
33
|
-
};
|
|
16
|
+
`)}
|
|
17
|
+
`).trim()};
|
|
@@ -1,41 +1,3 @@
|
|
|
1
|
-
const webpack
|
|
2
|
-
const ora = require('ora');
|
|
3
|
-
const rm = require('rimraf');
|
|
4
|
-
const chalk = require('chalk');
|
|
5
|
-
const config = require('./webpack.config.js');
|
|
1
|
+
"use strict";const e=require("webpack"),r=require("ora"),o=require("rimraf"),s=require("chalk"),i=require("./webpack.config.js"),c=process.env.NODE_ENV||"development";process.env.TARGET;const n=r("production"===c?"building for production...":"building development version...");n.start(),o("./www/",r=>{if(r)throw r;e(i,(e,r)=>{if(e)throw e;n.stop(),process.stdout.write(`${r.toString({colors:!0,modules:!1,children:!1,chunks:!1,chunkModules:!1})}
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
const target = process.env.TARGET || 'web';
|
|
9
|
-
|
|
10
|
-
const spinner = ora(
|
|
11
|
-
env === 'production'
|
|
12
|
-
? 'building for production...'
|
|
13
|
-
: 'building development version...'
|
|
14
|
-
);
|
|
15
|
-
spinner.start();
|
|
16
|
-
|
|
17
|
-
rm('./www/', (removeErr) => {
|
|
18
|
-
if (removeErr) throw removeErr;
|
|
19
|
-
|
|
20
|
-
webpack(config, (err, stats) => {
|
|
21
|
-
if (err) throw err;
|
|
22
|
-
spinner.stop();
|
|
23
|
-
|
|
24
|
-
process.stdout.write(
|
|
25
|
-
`${stats.toString({
|
|
26
|
-
colors: true,
|
|
27
|
-
modules: false,
|
|
28
|
-
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
|
|
29
|
-
chunks: false,
|
|
30
|
-
chunkModules: false,
|
|
31
|
-
})}\n\n`
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
if (stats.hasErrors()) {
|
|
35
|
-
console.log(chalk.red('Build failed with errors.\n'));
|
|
36
|
-
process.exit(1);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
console.log(chalk.cyan('Build complete.\n'));
|
|
40
|
-
});
|
|
41
|
-
});
|
|
3
|
+
`),r.hasErrors()&&(console.log(s.red("Build failed with errors.\n")),process.exit(1)),console.log(s.cyan("Build complete.\n"))})});
|
|
@@ -1,158 +1 @@
|
|
|
1
|
-
const path =
|
|
2
|
-
const fse = require('../../utils/fs-extra');
|
|
3
|
-
const stylesExtension = require('../utils/styles-extension');
|
|
4
|
-
const copyVueAssets = require('./vue/copy-assets');
|
|
5
|
-
const copyReactAssets = require('./react/copy-assets');
|
|
6
|
-
const copyReactTsAssets = require('./react-typescript/copy-assets');
|
|
7
|
-
const generateIndex = require('./generate-index');
|
|
8
|
-
const generateStyles = require('./generate-styles');
|
|
9
|
-
const generateScripts = require('./generate-scripts');
|
|
10
|
-
const generateZMPCustom = require('./generate-zmp-custom');
|
|
11
|
-
const copyZauiAssets = require('./zaui/copy-assets');
|
|
12
|
-
const { projectFramework } = require('../../utils/constants');
|
|
13
|
-
|
|
14
|
-
module.exports = (options, iconFile) => {
|
|
15
|
-
const cwd = options.cwd || process.cwd();
|
|
16
|
-
const {
|
|
17
|
-
package,
|
|
18
|
-
framework,
|
|
19
|
-
theming,
|
|
20
|
-
cssPreProcessor,
|
|
21
|
-
customBuild,
|
|
22
|
-
includeTailwind,
|
|
23
|
-
} = options;
|
|
24
|
-
|
|
25
|
-
const srcFolder = 'src';
|
|
26
|
-
|
|
27
|
-
const toCopy = [];
|
|
28
|
-
if (package !== 'zmp-ui') {
|
|
29
|
-
if (framework === projectFramework.VUE)
|
|
30
|
-
toCopy.push(...copyVueAssets(options));
|
|
31
|
-
if (framework === projectFramework.REACT)
|
|
32
|
-
toCopy.push(...copyReactAssets(options));
|
|
33
|
-
if (framework === projectFramework.REACT_TYPESCRIPT) {
|
|
34
|
-
toCopy.push(...copyReactTsAssets(options));
|
|
35
|
-
}
|
|
36
|
-
} else {
|
|
37
|
-
toCopy.push(...copyZauiAssets(options));
|
|
38
|
-
}
|
|
39
|
-
if (theming.iconFonts) {
|
|
40
|
-
// Copy Icons CSS
|
|
41
|
-
toCopy.push({
|
|
42
|
-
from: path.resolve(__dirname, 'common', 'css', 'icons.css'),
|
|
43
|
-
to: path.resolve(cwd, srcFolder, 'css', 'icons.css'),
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (includeTailwind) {
|
|
48
|
-
toCopy.push(
|
|
49
|
-
{
|
|
50
|
-
from: path.resolve(__dirname, 'common', 'tailwind', 'tailwind.css'),
|
|
51
|
-
to: path.resolve(cwd, srcFolder, 'css', 'tailwind.css'),
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
from: path.resolve(
|
|
55
|
-
__dirname,
|
|
56
|
-
'common',
|
|
57
|
-
'tailwind',
|
|
58
|
-
'tailwind.config.js'
|
|
59
|
-
),
|
|
60
|
-
to: path.resolve(cwd, 'tailwind.config.js'),
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
from: path.resolve(
|
|
64
|
-
__dirname,
|
|
65
|
-
'common',
|
|
66
|
-
'tailwind',
|
|
67
|
-
'postcss.config.js'
|
|
68
|
-
),
|
|
69
|
-
to: path.resolve(cwd, 'postcss.config.js'),
|
|
70
|
-
}
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
let appScriptFileName = 'app.js';
|
|
75
|
-
if (framework === 'react-typescript') {
|
|
76
|
-
appScriptFileName = 'app.ts';
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Copy Main Assets
|
|
80
|
-
toCopy.push(
|
|
81
|
-
...[
|
|
82
|
-
{
|
|
83
|
-
content: generateIndex(options),
|
|
84
|
-
to: path.resolve(cwd, 'index.html'),
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
content: generateStyles(options),
|
|
88
|
-
to: path.resolve(
|
|
89
|
-
cwd,
|
|
90
|
-
srcFolder,
|
|
91
|
-
'css',
|
|
92
|
-
`app.${stylesExtension(cssPreProcessor)}`
|
|
93
|
-
),
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
content: generateScripts(options),
|
|
97
|
-
to: path.resolve(cwd, srcFolder, appScriptFileName),
|
|
98
|
-
},
|
|
99
|
-
]
|
|
100
|
-
);
|
|
101
|
-
|
|
102
|
-
// Copy Custom Build
|
|
103
|
-
if (customBuild) {
|
|
104
|
-
const customBuildAssets = generateZMPCustom(options);
|
|
105
|
-
toCopy.push(
|
|
106
|
-
...[
|
|
107
|
-
{
|
|
108
|
-
content: customBuildAssets.styles,
|
|
109
|
-
to: path.resolve(cwd, srcFolder, 'css', 'zmp-custom.less'),
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
content: customBuildAssets.scripts,
|
|
113
|
-
to: path.resolve(cwd, srcFolder, 'js', 'zmp-custom.js'),
|
|
114
|
-
},
|
|
115
|
-
]
|
|
116
|
-
);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
if (!includeTailwind) {
|
|
120
|
-
// Copy PostCSS config
|
|
121
|
-
toCopy.push({
|
|
122
|
-
from: path.resolve(__dirname, 'common', 'postcss.config.js'),
|
|
123
|
-
to: path.resolve(cwd, 'postcss.config.js'),
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// Copy Web Images & Icons
|
|
128
|
-
const assetsFolder = 'static';
|
|
129
|
-
fse.readdirSync(path.resolve(__dirname, 'common', 'icons')).forEach((f) => {
|
|
130
|
-
if (f.indexOf('.') === 0) return;
|
|
131
|
-
toCopy.push({
|
|
132
|
-
from: path.resolve(__dirname, 'common', 'icons', f),
|
|
133
|
-
to: path.resolve(cwd, srcFolder, assetsFolder, 'icons', f),
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
if (iconFile) {
|
|
138
|
-
fse.writeFileSync(
|
|
139
|
-
path.resolve(cwd, 'assets-src', 'web-icon.png'),
|
|
140
|
-
iconFile
|
|
141
|
-
);
|
|
142
|
-
fse.writeFileSync(
|
|
143
|
-
path.resolve(cwd, 'assets-src', 'apple-touch-icon.png'),
|
|
144
|
-
iconFile
|
|
145
|
-
);
|
|
146
|
-
} else {
|
|
147
|
-
toCopy.push({
|
|
148
|
-
from: path.resolve(__dirname, 'common', 'icons', '512x512.png'),
|
|
149
|
-
to: path.resolve(cwd, 'assets-src', 'web-icon.png'),
|
|
150
|
-
});
|
|
151
|
-
toCopy.push({
|
|
152
|
-
from: path.resolve(__dirname, 'common', 'icons', 'apple-touch-icon.png'),
|
|
153
|
-
to: path.resolve(cwd, 'assets-src', 'apple-touch-icon.png'),
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
return toCopy;
|
|
158
|
-
};
|
|
1
|
+
"use strict";const s=require("path"),e=require("../../utils/fs-extra"),o=require("../utils/styles-extension"),r=require("./vue/copy-assets"),t=require("./react/copy-assets"),c=require("./react-typescript/copy-assets"),n=require("./generate-index"),i=require("./generate-styles"),p=require("./generate-scripts"),l=require("./generate-zmp-custom"),a=require("./zaui/copy-assets"),{projectFramework:m}=require("../../utils/constants");module.exports=(u,v)=>{let d=u.cwd||process.cwd(),{framework:_,theming:f,cssPreProcessor:h,customBuild:g,includeTailwind:w}=u,q=[];"zmp-ui"!==u.package?(_===m.VUE&&q.push(...r(u)),_===m.REACT&&q.push(...t(u)),_===m.REACT_TYPESCRIPT&&q.push(...c(u))):q.push(...a(u)),f.iconFonts&&q.push({from:s.resolve(__dirname,"common","css","icons.css"),to:s.resolve(d,"src","css","icons.css")}),w&&q.push({from:s.resolve(__dirname,"common","tailwind","tailwind.css"),to:s.resolve(d,"src","css","tailwind.css")},{from:s.resolve(__dirname,"common","tailwind","tailwind.config.js"),to:s.resolve(d,"tailwind.config.js")},{from:s.resolve(__dirname,"common","tailwind","postcss.config.js"),to:s.resolve(d,"postcss.config.js")});let y="app.js";if("react-typescript"===_&&(y="app.ts"),q.push({content:n(u),to:s.resolve(d,"index.html")},{content:i(u),to:s.resolve(d,"src","css",`app.${o(h)}`)},{content:p(u),to:s.resolve(d,"src",y)}),g){let e=l(u);q.push({content:e.styles,to:s.resolve(d,"src","css","zmp-custom.less")},{content:e.scripts,to:s.resolve(d,"src","js","zmp-custom.js")})}return w||q.push({from:s.resolve(__dirname,"common","postcss.config.js"),to:s.resolve(d,"postcss.config.js")}),e.readdirSync(s.resolve(__dirname,"common","icons")).forEach(e=>{0!==e.indexOf(".")&&q.push({from:s.resolve(__dirname,"common","icons",e),to:s.resolve(d,"src","static","icons",e)})}),v?(e.writeFileSync(s.resolve(d,"assets-src","web-icon.png"),v),e.writeFileSync(s.resolve(d,"assets-src","apple-touch-icon.png"),v)):(q.push({from:s.resolve(__dirname,"common","icons","512x512.png"),to:s.resolve(d,"assets-src","web-icon.png")}),q.push({from:s.resolve(__dirname,"common","icons","apple-touch-icon.png"),to:s.resolve(d,"assets-src","apple-touch-icon.png")})),q};
|
|
@@ -1,83 +1,15 @@
|
|
|
1
|
-
const path =
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
module.exports = (options) => {
|
|
9
|
-
const cwd = options.cwd || process.cwd();
|
|
10
|
-
const { template, bundler } = options;
|
|
11
|
-
const toCopy = [];
|
|
12
|
-
const srcFolder = bundler ? 'src' : 'www';
|
|
13
|
-
|
|
14
|
-
// Copy Pages
|
|
15
|
-
const pages = [
|
|
16
|
-
...(template !== 'blank' ? ['404', 'about', 'dynamic-route', 'form'] : []),
|
|
17
|
-
...(template === 'tabs' ? ['catalog', 'product', 'settings'] : []),
|
|
18
|
-
...(template === 'split-view' ? ['left-page-1', 'left-page-2'] : []),
|
|
19
|
-
];
|
|
20
|
-
|
|
21
|
-
pages.forEach((p) => {
|
|
22
|
-
const src = path.resolve(__dirname, 'pages', `${p}.html`);
|
|
23
|
-
const dest = path.resolve(cwd, srcFolder, 'pages');
|
|
24
|
-
if (bundler !== 'webpack') {
|
|
25
|
-
toCopy.push({
|
|
26
|
-
from: src,
|
|
27
|
-
to: path.resolve(dest, `${p}.html`),
|
|
28
|
-
});
|
|
29
|
-
} else {
|
|
30
|
-
let content = fse.readFileSync(src);
|
|
31
|
-
if (content.trim().indexOf('<template') !== 0) {
|
|
32
|
-
content = `<template>\n${content.trim()}\n</template>\n<script>\nexport default () => {\n return $render;\n};\n</script>`;
|
|
33
|
-
}
|
|
34
|
-
toCopy.push({
|
|
35
|
-
content,
|
|
36
|
-
to: path.resolve(dest, `${p}.zmp.html`),
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
toCopy.push({
|
|
41
|
-
content: generateStore(options),
|
|
42
|
-
to: path.resolve(cwd, srcFolder, 'store.js'),
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
if (bundler) {
|
|
46
|
-
toCopy.push({
|
|
47
|
-
content: `<template>\n${indent(
|
|
48
|
-
2,
|
|
49
|
-
generateHomePage(options).trim()
|
|
50
|
-
)}\n</template>\n<script>\nexport default () => {\n return $render;\n}\n</script>`,
|
|
51
|
-
to: path.resolve(cwd, srcFolder, 'pages', 'home.zmp.html'),
|
|
52
|
-
});
|
|
53
|
-
toCopy.push({
|
|
54
|
-
content: generateRoot(options),
|
|
55
|
-
to: path.resolve(cwd, srcFolder, 'app.zmp.html'),
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
toCopy.push({
|
|
59
|
-
from: path.resolve(__dirname, 'babel.config.js'),
|
|
60
|
-
to: path.resolve(cwd, 'babel.config.js'),
|
|
61
|
-
});
|
|
62
|
-
} else {
|
|
63
|
-
// Copy ZMP
|
|
64
|
-
toCopy.push(...[]);
|
|
65
|
-
fse
|
|
66
|
-
.readdirSync(path.resolve(cwd, 'node_modules', 'zmp-framework/core'))
|
|
67
|
-
.filter((f) => {
|
|
68
|
-
return (
|
|
69
|
-
f.indexOf('.js') >= 0 ||
|
|
70
|
-
f.indexOf('.css') >= 0 ||
|
|
71
|
-
f.indexOf('.map') >= 0
|
|
72
|
-
);
|
|
73
|
-
})
|
|
74
|
-
.forEach((f) => {
|
|
75
|
-
toCopy.push({
|
|
76
|
-
from: path.resolve(cwd, 'node_modules', 'zmp-framework/core', f),
|
|
77
|
-
to: path.resolve(cwd, srcFolder, 'zmp-framework/core', f),
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return toCopy;
|
|
1
|
+
"use strict";const e=require("path"),r=require("../../../utils/fs-extra"),t=require("./generate-home-page"),o=require("./generate-root"),s=require("../generate-store"),l=require("../../utils/indent");module.exports=p=>{let a=p.cwd||process.cwd(),{template:m,bundler:i}=p,n=[],u=i?"src":"www";return[..."blank"!==m?["404","about","dynamic-route","form"]:[],..."tabs"===m?["catalog","product","settings"]:[],..."split-view"===m?["left-page-1","left-page-2"]:[]].forEach(t=>{let o=e.resolve(__dirname,"pages",`${t}.html`),s=e.resolve(a,u,"pages");if("webpack"!==i)n.push({from:o,to:e.resolve(s,`${t}.html`)});else{let l=r.readFileSync(o);0!==l.trim().indexOf("<template")&&(l=`<template>
|
|
2
|
+
${l.trim()}
|
|
3
|
+
</template>
|
|
4
|
+
<script>
|
|
5
|
+
export default () => {
|
|
6
|
+
return $render;
|
|
83
7
|
};
|
|
8
|
+
</script>`),n.push({content:l,to:e.resolve(s,`${t}.zmp.html`)})}}),n.push({content:s(p),to:e.resolve(a,u,"store.js")}),i?(n.push({content:`<template>
|
|
9
|
+
${l(2,t(p).trim())}
|
|
10
|
+
</template>
|
|
11
|
+
<script>
|
|
12
|
+
export default () => {
|
|
13
|
+
return $render;
|
|
14
|
+
}
|
|
15
|
+
</script>`,to:e.resolve(a,u,"pages","home.zmp.html")}),n.push({content:o(p),to:e.resolve(a,u,"app.zmp.html")}),n.push({from:e.resolve(__dirname,"babel.config.js"),to:e.resolve(a,"babel.config.js")})):(n.push(),r.readdirSync(e.resolve(a,"node_modules","zmp-framework/core")).filter(e=>e.indexOf(".js")>=0||e.indexOf(".css")>=0||e.indexOf(".map")>=0).forEach(r=>{n.push({from:e.resolve(a,"node_modules","zmp-framework/core",r),to:e.resolve(a,u,"zmp-framework/core",r)})})),n};
|