Update.
This commit is contained in:
parent
24d8359a2e
commit
50167d3382
11 changed files with 396 additions and 599 deletions
|
@ -9,9 +9,10 @@
|
||||||
* remove `babel-loader`
|
* remove `babel-loader`
|
||||||
* update `eslint` to 5.16.0
|
* update `eslint` to 5.16.0
|
||||||
* update `ghu` to 0.18.0
|
* update `ghu` to 0.18.0
|
||||||
* update `jsdom` to 14.0.0
|
* update `jsdom` to 15.0.0
|
||||||
* update `kjua` to 0.4.0
|
* update `kjua` to 0.5.0
|
||||||
* update `lolight` to 1.2.0
|
* update `lolight` to 1.2.0
|
||||||
|
* update `null-loader` to 1.0.0
|
||||||
* update `scar` to 1.6.0
|
* update `scar` to 1.6.0
|
||||||
|
|
||||||
|
|
||||||
|
|
15
ghu.js
15
ghu.js
|
@ -1,7 +1,7 @@
|
||||||
const {resolve, join} = require('path');
|
const {resolve, join} = require('path');
|
||||||
const {
|
const {
|
||||||
ghu, autoprefixer, cssmin, each, ife, includeit, jszip, less, mapfn,
|
ghu, autoprefixer, cssmin, each, ife, includeit, jszip, less, mapfn,
|
||||||
newerThan, pug, read, remove, run, uglify, watch, webpack, wrap, write
|
pug, read, remove, run, uglify, watch, webpack, wrap, write
|
||||||
} = require('ghu');
|
} = require('ghu');
|
||||||
|
|
||||||
const ROOT = resolve(__dirname);
|
const ROOT = resolve(__dirname);
|
||||||
|
@ -54,8 +54,7 @@ ghu.task('clean', 'delete build folder', () => {
|
||||||
|
|
||||||
ghu.task('build:scripts', runtime => {
|
ghu.task('build:scripts', runtime => {
|
||||||
return read(`${SRC}/_h5ai/public/js/scripts.js`)
|
return read(`${SRC}/_h5ai/public/js/scripts.js`)
|
||||||
.then(newerThan(mapper, `${SRC}/_h5ai/public/js/**`))
|
.then(webpack(webpack_cfg(SRC)))
|
||||||
.then(webpack(webpack_cfg(SRC), {showStats: false}))
|
|
||||||
.then(wrap('\n\n// @include "pre.js"\n\n'))
|
.then(wrap('\n\n// @include "pre.js"\n\n'))
|
||||||
.then(includeit())
|
.then(includeit())
|
||||||
.then(ife(() => runtime.args.production, uglify()))
|
.then(ife(() => runtime.args.production, uglify()))
|
||||||
|
@ -65,7 +64,6 @@ ghu.task('build:scripts', runtime => {
|
||||||
|
|
||||||
ghu.task('build:styles', runtime => {
|
ghu.task('build:styles', runtime => {
|
||||||
return read(`${SRC}/_h5ai/public/css/*.less`)
|
return read(`${SRC}/_h5ai/public/css/*.less`)
|
||||||
.then(newerThan(mapper, `${SRC}/_h5ai/public/css/**`))
|
|
||||||
.then(includeit())
|
.then(includeit())
|
||||||
.then(less())
|
.then(less())
|
||||||
.then(autoprefixer())
|
.then(autoprefixer())
|
||||||
|
@ -76,7 +74,6 @@ ghu.task('build:styles', runtime => {
|
||||||
|
|
||||||
ghu.task('build:pages', runtime => {
|
ghu.task('build:pages', runtime => {
|
||||||
return read(`${SRC}: **/*.pug, ! **/*.tpl.pug`)
|
return read(`${SRC}: **/*.pug, ! **/*.tpl.pug`)
|
||||||
.then(newerThan(mapper, `${SRC}/**/*.tpl.pug`))
|
|
||||||
.then(pug({pkg: runtime.pkg}))
|
.then(pug({pkg: runtime.pkg}))
|
||||||
.then(wrap('', runtime.comment_html))
|
.then(wrap('', runtime.comment_html))
|
||||||
.then(write(mapper, {overwrite: true}));
|
.then(write(mapper, {overwrite: true}));
|
||||||
|
@ -87,12 +84,10 @@ ghu.task('build:copy', runtime => {
|
||||||
|
|
||||||
return Promise.all([
|
return Promise.all([
|
||||||
read(`${SRC}/**/conf/*.json`)
|
read(`${SRC}/**/conf/*.json`)
|
||||||
.then(newerThan(mapper))
|
|
||||||
.then(wrap(runtime.comment_js))
|
.then(wrap(runtime.comment_js))
|
||||||
.then(write(mapper, {overwrite: true, cluster: true})),
|
.then(write(mapper, {overwrite: true, cluster: true})),
|
||||||
|
|
||||||
read(`${SRC}: **, ! **/*.js, ! **/*.less, ! **/*.pug, ! **/conf/*.json`)
|
read(`${SRC}: **, ! **/*.js, ! **/*.less, ! **/*.pug, ! **/conf/*.json`)
|
||||||
.then(newerThan(mapper))
|
|
||||||
.then(each(obj => {
|
.then(each(obj => {
|
||||||
if ((/index\.php$/).test(obj.source)) {
|
if ((/index\.php$/).test(obj.source)) {
|
||||||
obj.content = obj.content.replace('{{VERSION}}', runtime.pkg.version);
|
obj.content = obj.content.replace('{{VERSION}}', runtime.pkg.version);
|
||||||
|
@ -101,7 +96,6 @@ ghu.task('build:copy', runtime => {
|
||||||
.then(write(mapper, {overwrite: true, cluster: true})),
|
.then(write(mapper, {overwrite: true, cluster: true})),
|
||||||
|
|
||||||
read(`${ROOT}/*.md`)
|
read(`${ROOT}/*.md`)
|
||||||
.then(newerThan(mapper_root))
|
|
||||||
.then(write(mapper_root, {overwrite: true, cluster: true}))
|
.then(write(mapper_root, {overwrite: true, cluster: true}))
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
@ -109,15 +103,13 @@ ghu.task('build:copy', runtime => {
|
||||||
ghu.task('build:tests', ['build:styles'], 'build the test suite', () => {
|
ghu.task('build:tests', ['build:styles'], 'build the test suite', () => {
|
||||||
return Promise.all([
|
return Promise.all([
|
||||||
read(`${BUILD}/_h5ai/public/css/styles.css`)
|
read(`${BUILD}/_h5ai/public/css/styles.css`)
|
||||||
.then(newerThan(`${BUILD}/test/h5ai-styles.css`))
|
|
||||||
.then(write(`${BUILD}/test/h5ai-styles.css`, {overwrite: true})),
|
.then(write(`${BUILD}/test/h5ai-styles.css`, {overwrite: true})),
|
||||||
|
|
||||||
read(`${TEST}/index.html`)
|
read(`${TEST}/index.html`)
|
||||||
.then(newerThan(`${BUILD}/test/index.html`))
|
|
||||||
.then(write(`${BUILD}/test/index.html`, {overwrite: true})),
|
.then(write(`${BUILD}/test/index.html`, {overwrite: true})),
|
||||||
|
|
||||||
read(`${TEST}: index.js`)
|
read(`${TEST}: index.js`)
|
||||||
.then(webpack(webpack_cfg(SRC, TEST), {showStats: false}))
|
.then(webpack(webpack_cfg(SRC, TEST)))
|
||||||
.then(wrap(`\n\n// @include "${SRC}/**/js/pre.js"\n\n`))
|
.then(wrap(`\n\n// @include "${SRC}/**/js/pre.js"\n\n`))
|
||||||
.then(includeit())
|
.then(includeit())
|
||||||
.then(write(mapfn.p(TEST, `${BUILD}/test`), {overwrite: true}))
|
.then(write(mapfn.p(TEST, `${BUILD}/test`), {overwrite: true}))
|
||||||
|
@ -138,7 +130,6 @@ ghu.task('deploy', ['build'], 'deploy to a specified path with :dest=/some/path'
|
||||||
const mapper_deploy = mapfn.p(BUILD, resolve(runtime.args.dest));
|
const mapper_deploy = mapfn.p(BUILD, resolve(runtime.args.dest));
|
||||||
|
|
||||||
return read(`${BUILD}/_h5ai/**`)
|
return read(`${BUILD}/_h5ai/**`)
|
||||||
.then(newerThan(mapper_deploy))
|
|
||||||
.then(write(mapper_deploy, {overwrite: true, cluster: true}));
|
.then(write(mapper_deploy, {overwrite: true, cluster: true}));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
936
package-lock.json
generated
936
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -21,12 +21,12 @@
|
||||||
"@babel/preset-env": "7.4.3",
|
"@babel/preset-env": "7.4.3",
|
||||||
"eslint": "5.16.0",
|
"eslint": "5.16.0",
|
||||||
"ghu": "0.18.0",
|
"ghu": "0.18.0",
|
||||||
"jsdom": "14.0.0",
|
"jsdom": "15.0.0",
|
||||||
"kjua": "0.4.0",
|
"kjua": "0.5.0",
|
||||||
"lolight": "1.2.0",
|
"lolight": "1.2.0",
|
||||||
"marked": "0.6.2",
|
"marked": "0.6.2",
|
||||||
"normalize.css": "8.0.1",
|
"normalize.css": "8.0.1",
|
||||||
"null-loader": "0.1.1",
|
"null-loader": "1.0.0",
|
||||||
"scar": "1.6.0"
|
"scar": "1.6.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!global.window) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const {test} = require('scar');
|
const {test} = require('scar');
|
||||||
const {pinHtml} = require('./util/pin');
|
const {pin_html} = require('./util/pin');
|
||||||
|
|
||||||
require('./tests/premisses');
|
require('./tests/premisses');
|
||||||
require('./tests/unit/core/event');
|
require('./tests/unit/core/event');
|
||||||
|
@ -12,6 +12,6 @@ require('./tests/unit/core/format');
|
||||||
require('./tests/unit/util/naturalCmp');
|
require('./tests/unit/util/naturalCmp');
|
||||||
require('./tests/unit/util/parsePatten');
|
require('./tests/unit/util/parsePatten');
|
||||||
|
|
||||||
pinHtml();
|
pin_html();
|
||||||
|
|
||||||
test.cli({sync: true});
|
test.cli({sync: true});
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
const {test, assert} = require('scar');
|
const {test, assert} = require('scar');
|
||||||
const event = require('../../../../src/_h5ai/public/js/lib/core/event');
|
const reqlib = require('../../../util/reqlib');
|
||||||
|
const event = reqlib('core/event');
|
||||||
|
|
||||||
test('core.event', () => {
|
test('core.event', () => {
|
||||||
assert.equal(typeof event, 'object', 'is object');
|
assert.equal(typeof event, 'object', 'is object');
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
const {test, assert} = require('scar');
|
const {test, assert} = require('scar');
|
||||||
const format = require('../../../../src/_h5ai/public/js/lib/core/format');
|
const reqlib = require('../../../util/reqlib');
|
||||||
|
const format = reqlib('core/format');
|
||||||
|
|
||||||
test('core.format', () => {
|
test('core.format', () => {
|
||||||
assert.equal(typeof format, 'object');
|
assert.equal(typeof format, 'object');
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
const {test, assert, insp} = require('scar');
|
const {test, assert, insp} = require('scar');
|
||||||
const {naturalCmp} = require('../../../../src/_h5ai/public/js/lib/util');
|
const reqlib = require('../../../util/reqlib');
|
||||||
|
const {naturalCmp} = reqlib('util');
|
||||||
|
|
||||||
test('util.naturalCmp()', () => {
|
test('util.naturalCmp()', () => {
|
||||||
assert.equal(typeof naturalCmp, 'function', 'is function');
|
assert.equal(typeof naturalCmp, 'function', 'is function');
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
const {test, assert, insp} = require('scar');
|
const {test, assert, insp} = require('scar');
|
||||||
const {parsePattern} = require('../../../../src/_h5ai/public/js/lib/util');
|
const reqlib = require('../../../util/reqlib');
|
||||||
|
const {parsePattern} = reqlib('util');
|
||||||
|
|
||||||
test('util.parsePattern()', () => {
|
test('util.parsePattern()', () => {
|
||||||
assert.equal(typeof parsePattern, 'function', 'is function');
|
assert.equal(typeof parsePattern, 'function', 'is function');
|
||||||
|
|
|
@ -16,30 +16,30 @@ const attr = (el, name, value) => {
|
||||||
return el.setAttribute(name, value);
|
return el.setAttribute(name, value);
|
||||||
};
|
};
|
||||||
|
|
||||||
const rootChildren = () => {
|
const root_children = () => {
|
||||||
return [
|
return [
|
||||||
...doc.querySelector('head').childNodes,
|
...doc.querySelector('head').childNodes,
|
||||||
...doc.querySelector('body').childNodes
|
...doc.querySelector('body').childNodes
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
const pinHtml = () => {
|
const pin_html = () => {
|
||||||
pinned.title = doc.title;
|
pinned.title = doc.title;
|
||||||
pinned.htmlId = attr('html', 'id');
|
pinned.htmlId = attr('html', 'id');
|
||||||
pinned.htmlClasses = attr('html', 'class');
|
pinned.htmlClasses = attr('html', 'class');
|
||||||
pinned.bodyId = attr('body', 'id');
|
pinned.bodyId = attr('body', 'id');
|
||||||
pinned.bodyClasses = attr('body', 'class');
|
pinned.bodyClasses = attr('body', 'class');
|
||||||
pinned.els = rootChildren();
|
pinned.els = root_children();
|
||||||
// console.log('pinned', pinned);
|
// console.log('pinned', pinned);
|
||||||
};
|
};
|
||||||
|
|
||||||
const restoreHtml = () => {
|
const restore_html = () => {
|
||||||
doc.title = pinned.title;
|
doc.title = pinned.title;
|
||||||
attr('html', 'id', pinned.htmlId);
|
attr('html', 'id', pinned.htmlId);
|
||||||
attr('html', 'class', pinned.htmlClasses);
|
attr('html', 'class', pinned.htmlClasses);
|
||||||
attr('body', 'id', pinned.bodyId);
|
attr('body', 'id', pinned.bodyId);
|
||||||
attr('body', 'class', pinned.bodyClasses);
|
attr('body', 'class', pinned.bodyClasses);
|
||||||
rootChildren().forEach(el => {
|
root_children().forEach(el => {
|
||||||
if (pinned.els.indexOf(el) < 0) {
|
if (pinned.els.indexOf(el) < 0) {
|
||||||
el.remove();
|
el.remove();
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,6 @@ const restoreHtml = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
pinHtml,
|
pin_html,
|
||||||
restoreHtml
|
restore_html
|
||||||
};
|
};
|
||||||
|
|
3
test/util/reqlib.js
Normal file
3
test/util/reqlib.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
const reqlib = x => require(`../../src/_h5ai/public/js/lib/${x}`);
|
||||||
|
|
||||||
|
module.exports = reqlib;
|
Loading…
Reference in a new issue