summaryrefslogtreecommitdiff
path: root/gulpfile.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2020-01-30 04:37:25 +0900
committerGitHub <noreply@github.com>2020-01-30 04:37:25 +0900
commitf6154dc0af1a0d65819e87240f4385f9573095cb (patch)
tree699a5ca07d6727b7f8497d4769f25d6d62f94b5a /gulpfile.ts
parentAdd Event activity-type support (#5785) (diff)
downloadmisskey-f6154dc0af1a0d65819e87240f4385f9573095cb.tar.gz
misskey-f6154dc0af1a0d65819e87240f4385f9573095cb.tar.bz2
misskey-f6154dc0af1a0d65819e87240f4385f9573095cb.zip
v12 (#5712)
Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com> Co-authored-by: Satsuki Yanagi <17376330+u1-liquid@users.noreply.github.com>
Diffstat (limited to 'gulpfile.ts')
-rw-r--r--gulpfile.ts90
1 files changed, 17 insertions, 73 deletions
diff --git a/gulpfile.ts b/gulpfile.ts
index 2ba30aace1..274f05a5a8 100644
--- a/gulpfile.ts
+++ b/gulpfile.ts
@@ -2,38 +2,25 @@
* Gulp tasks
*/
+import * as fs from 'fs';
import * as gulp from 'gulp';
import * as ts from 'gulp-typescript';
-const sourcemaps = require('gulp-sourcemaps');
-import tslint from 'gulp-tslint';
-const stylus = require('gulp-stylus');
import * as rimraf from 'rimraf';
-import * as chalk from 'chalk';
import * as rename from 'gulp-rename';
-import * as mocha from 'gulp-mocha';
-import * as replace from 'gulp-replace';
const cleanCSS = require('gulp-clean-css');
-const terser = require('gulp-terser');
+const sass = require('gulp-dart-sass');
+const fiber = require('fibers');
const locales = require('./locales');
-
-const env = process.env.NODE_ENV || 'development';
-const isDebug = env !== 'production';
-
-if (isDebug) {
- console.warn(chalk.yellow.bold('WARNING! NODE_ENV is not "production".'));
- console.warn(chalk.yellow.bold(' built script will not be compressed.'));
-}
+const meta = require('./package.json');
gulp.task('build:ts', () => {
const tsProject = ts.createProject('./tsconfig.json');
return tsProject
.src()
- .pipe(sourcemaps.init())
.pipe(tsProject())
.on('error', () => {})
- .pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '../built' }))
.pipe(gulp.dest('./built/'));
});
@@ -41,47 +28,25 @@ gulp.task('build:copy:views', () =>
gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views'))
);
-gulp.task('build:copy:fonts', () =>
- gulp.src('./node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/client/assets/fonts/'))
-);
+gulp.task('build:copy:locales', cb => {
+ fs.mkdirSync('./built/client/assets/locales', { recursive: true });
-gulp.task('build:copy', gulp.parallel('build:copy:views', 'build:copy:fonts', () =>
+ for (const [lang, locale] of Object.entries(locales)) {
+ fs.writeFileSync(`./built/client/assets/locales/${lang}.${meta.version}.json`, JSON.stringify(locale), 'utf-8');
+ }
+
+ cb();
+});
+
+gulp.task('build:copy', gulp.parallel('build:copy:views', 'build:copy:locales', () =>
gulp.src([
- './src/const.json',
'./src/emojilist.json',
'./src/server/web/views/**/*',
'./src/**/assets/**/*',
- '!./src/client/app/**/assets/**/*'
+ '!./src/client/assets/**/*'
]).pipe(gulp.dest('./built/'))
));
-gulp.task('lint', () =>
- gulp.src('./src/**/*.ts')
- .pipe(tslint({
- formatter: 'verbose'
- }))
- .pipe(tslint.report())
-);
-
-gulp.task('format', () =>
- gulp.src('./src/**/*.ts')
- .pipe(tslint({
- formatter: 'verbose',
- fix: true
- }))
- .pipe(tslint.report())
-);
-
-gulp.task('mocha', () =>
- gulp.src('./test/**/*.ts')
- .pipe(mocha({
- exit: true,
- require: 'ts-node/register'
- } as any))
-);
-
-gulp.task('test', gulp.task('mocha'));
-
gulp.task('clean', cb =>
rimraf('./built', cb)
);
@@ -90,20 +55,9 @@ gulp.task('cleanall', gulp.parallel('clean', cb =>
rimraf('./node_modules', cb)
));
-gulp.task('build:client:script', () => {
- const client = require('./built/meta.json');
- return gulp.src(['./src/client/app/boot.js', './src/client/app/safe.js'])
- .pipe(replace('VERSION', JSON.stringify(client.version)))
- .pipe(replace('ENV', JSON.stringify(env)))
- .pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
- .pipe(terser({
- toplevel: true
- }))
- .pipe(gulp.dest('./built/client/assets/'));
-});
-
gulp.task('build:client:styles', () =>
- gulp.src('./src/client/app/init.css')
+ gulp.src('./src/client/style.scss')
+ .pipe(sass({ fiber }))
.pipe(cleanCSS())
.pipe(gulp.dest('./built/client/assets/'))
);
@@ -112,7 +66,6 @@ gulp.task('copy:client', () =>
gulp.src([
'./assets/**/*',
'./src/client/assets/**/*',
- './src/client/app/*/assets/**/*'
])
.pipe(rename(path => {
path.dirname = path.dirname!.replace('assets', '.');
@@ -120,15 +73,7 @@ gulp.task('copy:client', () =>
.pipe(gulp.dest('./built/client/assets/'))
);
-gulp.task('doc', () =>
- gulp.src('./src/docs/**/*.styl')
- .pipe(stylus())
- .pipe(cleanCSS())
- .pipe(gulp.dest('./built/docs/assets/'))
-);
-
gulp.task('build:client', gulp.parallel(
- 'build:client:script',
'build:client:styles',
'copy:client'
));
@@ -137,7 +82,6 @@ gulp.task('build', gulp.parallel(
'build:ts',
'build:copy',
'build:client',
- 'doc'
));
gulp.task('default', gulp.task('build'));