Skip to content

Commit bbfed2a

Browse files
committed
Updates
- save project in framework7.json - internal renames - generate-assets -> assets
1 parent 034cd0d commit bbfed2a

File tree

162 files changed

+63
-51
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+63
-51
lines changed

.eslintignore

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
create-app/templates/react/pages
2-
create-app/templates/vue/pages
3-
create-app/templates/common
1+
create/templates/react/pages
2+
create/templates/vue/pages
3+
create/templates/common
44
ui/src
55
ui/www
6-
node_modules
6+
node_modules

README.md

+4-4
File renamed without changes.

create-app/index.js create/index.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@ module.exports = async (options = {}, logger, { exitOnError = true } = {}) => {
4040
logger.statusStart('Generating package.json');
4141
const packageJson = generatePackageJson(options);
4242

43-
// Write Package.json
43+
// Write Package.json and project json
4444
fse.writeFileSync(path.join(cwd, 'package.json'), packageJson.content);
45+
fse.writeFileSync(path.join(cwd, 'framework7.json'), JSON.stringify(options, '', 2));
46+
4547
logger.statusDone('Generating package.json');
4648

4749
// Create Folders
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

create-app/utils/generate-package-json.js create/utils/generate-package-json.js

-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ module.exports = function generatePackageJson(options) {
127127
"description": "${name}",
128128
"repository" : "",
129129
"license" : "UNLICENSED",
130-
"framework7": ${JSON.stringify(options)},
131130
"scripts" : ${JSON.stringify(scripts)},
132131
"browserslist": [
133132
"Android >= 7",

create-app/utils/generate-readme.js create/utils/generate-readme.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@ There is also cordova Electron platform installed. To learn more about it and El
6060
Assets (icons, splash screens) source images located in \`assets-src\` folder. To generate your own icons and splash screen images, you will need to replace all assets in this directory with your own images (pay attention to image size and format), and run the following command in the project directory:
6161
6262
\`\`\`
63-
framework7 generate-assets
63+
framework7 assets
6464
\`\`\`
6565
6666
Or launch UI where you will be able to change icons and splash screens:
6767
6868
\`\`\`
69-
framework7 generate-assets --ui
69+
framework7 assets --ui
7070
\`\`\`
7171
7272
## Documentation & Resources
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

index.js

+11-24
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ const fse = require('./utils/fs-extra');
88
const checkUpdate = require('./utils/check-update');
99
const spinner = require('./utils/spinner');
1010
const log = require('./utils/log');
11-
const getOptions = require('./create-app/utils/get-options');
12-
const createApp = require('./create-app/index');
13-
const generateAssets = require('./generate-assets/index');
11+
const getCurrentProject = require('./utils/get-current-project');
12+
const getOptions = require('./create/utils/get-options');
13+
const createApp = require('./create/index');
14+
const generateAssets = require('./assets/index');
1415
const server = require('./ui/server');
1516
const pkg = require('./package.json');
1617

@@ -39,13 +40,8 @@ program
3940
await checkUpdate();
4041
}
4142

42-
let currentProject;
43-
try {
44-
// eslint-disable-next-line
45-
currentProject = require(path.resolve(cwd, 'package.json')).framework7;
46-
} catch (err) {
47-
// all good
48-
}
43+
const currentProject = getCurrentProject(cwd);
44+
4945
if (currentProject) {
5046
log.text(`${logSymbols.error} Framework7 project already set up in current directory`);
5147
process.exit(1);
@@ -69,8 +65,8 @@ program
6965
});
7066

7167
program
72-
.command('generate-assets')
73-
.alias('assets')
68+
.command('assets')
69+
.alias('generate-assets')
7470
.option('--skipUpdate', 'Skip checking for update of framework7-cli')
7571
.option('--ui', 'Launch assets generation UI')
7672
.option('-P, --port <n>', 'Specify UI server port. By default it is 3001', parseInt)
@@ -81,24 +77,15 @@ program
8177
await checkUpdate();
8278
}
8379

84-
let currentProject;
85-
try {
86-
// eslint-disable-next-line
87-
const pkg = require(path.resolve(cwd, 'package.json'));
88-
if (!pkg || !pkg.framework7) {
89-
log.text(`${logSymbols.error} Framework7 project not found in current directory`);
90-
process.exit(1);
91-
}
92-
// eslint-disable-next-line
93-
currentProject = Object.assign({ cwd }, pkg.framework7);
94-
} catch (err) {
80+
const currentProject = getCurrentProject(cwd);
81+
if (!currentProject) {
9582
log.text(`${logSymbols.error} Framework7 project not found in current directory`);
9683
process.exit(1);
9784
}
9885

9986
if (options.ui) {
10087
spinner.start('Launching Framework7 UI server');
101-
server('/generate-assets/', options.port);
88+
server('/assets/', options.port);
10289
spinner.end('Launching Framework7 UI server');
10390
} else {
10491
await generateAssets({}, currentProject, logger);

ui/server.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ const opn = require('opn');
99
const bodyParser = require('body-parser');
1010
const multer = require('multer');
1111
const fse = require('../utils/fs-extra');
12-
const createApp = require('../create-app/index');
13-
const generateAssets = require('../generate-assets/index');
12+
const createApp = require('../create/index');
13+
const generateAssets = require('../assets/index');
14+
const getCurrentProject = require('../utils/get-current-project');
1415

1516
const upload = multer({ storage: multer.memoryStorage() });
1617

@@ -49,8 +50,7 @@ module.exports = (startPage = '/', port = 3001) => {
4950
});
5051

5152
app.get('/api/project/', (req, res) => {
52-
const pkg = require(path.resolve(cwd, 'package.json'));
53-
res.json(pkg.framework7);
53+
res.json(getCurrentProject(cwd));
5454
});
5555

5656
// Create App
@@ -84,12 +84,12 @@ module.exports = (startPage = '/', port = 3001) => {
8484
});
8585

8686
// Generate Assets
87-
app.post('/api/generate-assets/upload/', upload.any(), (req, res) => {
87+
app.post('/api/assets/upload/', upload.any(), (req, res) => {
8888
const file = req.files[0];
8989
fse.writeFileSync(path.resolve(cwd, 'assets-src', `${file.fieldname}.png`), file.buffer);
9090
res.send('Ok');
9191
});
92-
app.route('/api/generate-assets/generate/')
92+
app.route('/api/assets/generate/')
9393
.get((req, res) => {
9494
res.json({ log, done, error });
9595
if (done) {
@@ -117,7 +117,7 @@ module.exports = (startPage = '/', port = 3001) => {
117117
const availablePaths = [
118118
'/',
119119
'/create/',
120-
'/generate-assets/',
120+
'/assets/',
121121
];
122122
availablePaths.forEach((availablePath) => {
123123
app.get(availablePath, (req, res) => {

ui/src/src/js/routes.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import HomePage from '../pages/home.vue';
22
import CreatePage from '../pages/create.vue';
3-
import GenerateAssetsPage from '../pages/generate-assets.vue';
3+
import AssetsPage from '../pages/assets.vue';
44

55
const routes = [
66
{
@@ -12,8 +12,8 @@ const routes = [
1212
component: CreatePage,
1313
},
1414
{
15-
path: '/generate-assets/',
16-
component: GenerateAssetsPage,
15+
path: '/assets/',
16+
component: AssetsPage,
1717
},
1818
];
1919

ui/src/src/pages/generate-assets.vue ui/src/src/pages/assets.vue

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<f7-page name="generate-assets">
2+
<f7-page name="assets">
33
<f7-navbar :sliding="false" large>
44
<f7-nav-title>
55
<i class="f7-navbar-logo"></i>
@@ -178,7 +178,7 @@
178178
logText,
179179
getLog() {
180180
const self = this;
181-
getLog(self, '/api/generate-assets/generate/');
181+
getLog(self, '/api/assets/generate/');
182182
},
183183
getImage(src) {
184184
const self = this;
@@ -198,7 +198,7 @@
198198
self.$request({
199199
method: 'post',
200200
contentType: 'multipart/form-data',
201-
url: '/api/generate-assets/upload/',
201+
url: '/api/assets/upload/',
202202
data: fd,
203203
complete() {
204204
self.uploading = null;
@@ -209,7 +209,7 @@
209209
const self = this;
210210
if (self.loading) return;
211211
self.loading = true;
212-
self.$f7.request.postJSON('/api/generate-assets/generate/', {}, () => {
212+
self.$f7.request.postJSON('/api/assets/generate/', {}, () => {
213213
self.getLog();
214214
});
215215
},

ui/src/src/pages/home.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
</a>
2121
</div>
2222
<div class="col-100 medium-33 card">
23-
<a href="/generate-assets/" class="card-content card-content-padding link">
23+
<a href="/assets/" class="card-content card-content-padding link">
2424
<i class="f7-icons">photo_fill_on_rectangle_fill</i>
2525
<span>Generate Assets</span>
2626
</a>

utils/get-current-project.js

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const path = require('path');
2+
3+
module.exports = (cwd) => {
4+
let currentProject;
5+
try {
6+
// eslint-disable-next-line
7+
currentProject = require(path.resolve(cwd, 'framework7.json'));
8+
} catch (err) {
9+
// all good
10+
}
11+
if (!currentProject) {
12+
try {
13+
// eslint-disable-next-line
14+
currentProject = require(path.resolve(cwd, 'package.json')).framework7;
15+
} catch (err) {
16+
// all good
17+
}
18+
}
19+
if (!currentProject) return undefined;
20+
return {
21+
cwd,
22+
...(currentProject || {}),
23+
};
24+
};

0 commit comments

Comments
 (0)