85 lines
2.2 KiB
JavaScript
85 lines
2.2 KiB
JavaScript
const gulp = require('gulp');
|
|
const rename = require("gulp-rename");
|
|
const cht = require('gulp-cht');
|
|
const rollup = require('rollup');
|
|
const terser = require('@rollup/plugin-terser');
|
|
const resolve = require('@rollup/plugin-node-resolve');
|
|
const babel = require('@rollup/plugin-babel');
|
|
const pkg = require('./package');
|
|
|
|
// copyright
|
|
let repository = pkg.repository.url.replace(/(.+)(:\/\/.+)\.git$/,'https$2');
|
|
let now = new Date();
|
|
let date = (new Date(now.getTime()-now.getTimezoneOffset()*60000)).toISOString().substr(0,10);
|
|
let banner = `/*!
|
|
* ${pkg.name} v${pkg.version}
|
|
* ${pkg.description}
|
|
* ${pkg.homepage}
|
|
*
|
|
* Copyright (c) 2016-present, ${pkg.author}
|
|
*
|
|
* Released under the ${pkg.license} License
|
|
* ${repository}
|
|
*
|
|
* Created on: ${date}
|
|
*/`;
|
|
|
|
gulp.task('build', () => {
|
|
return rollup.rollup({
|
|
input: './src/relationship.js',
|
|
plugins: [
|
|
terser(),
|
|
resolve(),
|
|
babel({
|
|
babelHelpers: 'runtime',
|
|
exclude:'node_modules/**'
|
|
})
|
|
]
|
|
}).then(bundle => {
|
|
return bundle.write({
|
|
file: './dist/relationship.min.js',
|
|
format: 'umd',
|
|
name: 'relationship',
|
|
banner
|
|
});
|
|
});
|
|
});
|
|
|
|
gulp.task('mode', () => {
|
|
return rollup.rollup({
|
|
input: './src/relationship-mode.js',
|
|
plugins: [
|
|
terser(),
|
|
resolve(),
|
|
babel({
|
|
babelHelpers: 'runtime',
|
|
exclude:'node_modules/**'
|
|
})
|
|
]
|
|
}).then(bundle => {
|
|
return bundle.write({
|
|
file: './dist/relationship-mode.min.js',
|
|
format: 'umd',
|
|
name: 'relationshipMode',
|
|
});
|
|
});
|
|
});
|
|
|
|
gulp.task('localization', () => {
|
|
// gulp.src('./index.html')
|
|
// .pipe(cht())
|
|
// .pipe(rename("zh-HK.html"))
|
|
// .pipe(gulp.dest("./"));
|
|
|
|
return gulp.src([
|
|
'dist/relationship.min.js',
|
|
'dist/relationship-mode.min.js',
|
|
]).pipe(cht())
|
|
.pipe(rename(function(path) {
|
|
path.basename = path.basename.replace('.min','.zh-HK.min');
|
|
}))
|
|
.pipe(gulp.dest('dist/'))
|
|
});
|
|
|
|
gulp.task('default', gulp.series(['build', 'mode', 'localization']))
|