mirror of
https://github.com/Terncode/pixel.horse.git
synced 2026-09-24 13:55:04 +02:00
Update gulp*
This commit is contained in:
+82
-40
@@ -1,34 +1,47 @@
|
|||||||
require('source-map-support').install();
|
import 'source-map-support/register.js';
|
||||||
|
import fs from 'fs';
|
||||||
|
import path from 'path';
|
||||||
|
import gulp from 'gulp';
|
||||||
|
import _ from 'lodash';
|
||||||
|
import gulpif from 'gulp-if';
|
||||||
|
import rev from 'gulp-rev';
|
||||||
|
import gulpSass from 'gulp-sass';
|
||||||
|
import dartSass from 'sass';
|
||||||
|
import shell from 'gulp-shell';
|
||||||
|
import cssnano from 'gulp-cssnano';
|
||||||
|
import imagemin from 'gulp-imagemin';
|
||||||
|
import autoprefixer from 'gulp-autoprefixer';
|
||||||
|
import liveServer from 'gulp-live-server';
|
||||||
|
import sizereport from 'gulp-sizereport';
|
||||||
|
import markdownTree from 'markdown-tree';
|
||||||
|
import mocha from 'gulp-spawn-mocha';
|
||||||
|
import remapIstanbul from 'remap-istanbul/lib/gulpRemapIstanbul.js';
|
||||||
|
import { spawn } from 'child_process';
|
||||||
|
import yargs from 'yargs/yargs';
|
||||||
|
import { hideBin } from 'yargs/helpers';
|
||||||
|
import { deleteAsync } from 'del';
|
||||||
|
import config from './config.json' with { type: 'json' };
|
||||||
|
|
||||||
const fs = require('fs');
|
let development = true;
|
||||||
const path = require('path');
|
|
||||||
const gulp = require('gulp');
|
|
||||||
const _ = require('lodash');
|
|
||||||
const gulpif = require('gulp-if');
|
|
||||||
const rev = require('gulp-rev');
|
|
||||||
const gulpSass = require('gulp-sass');
|
|
||||||
const dartSass = require('sass');
|
|
||||||
const shell = require('gulp-shell');
|
|
||||||
const cssnano = require('gulp-cssnano');
|
|
||||||
const imagemin = require('gulp-imagemin');
|
|
||||||
const autoprefixer = require('gulp-autoprefixer');
|
|
||||||
const liveServer = require('gulp-live-server');
|
|
||||||
const sizereport = require('gulp-sizereport');
|
|
||||||
const markdownTree = require('markdown-tree');
|
|
||||||
const del = require('del');
|
|
||||||
const mocha = require('gulp-spawn-mocha');
|
|
||||||
const remapIstanbul = require('remap-istanbul/lib/gulpRemapIstanbul');
|
|
||||||
const spawn = require('child_process').spawn;
|
|
||||||
const argv = require('yargs').argv;
|
|
||||||
const config = require('./config.json');
|
|
||||||
const stamp = Math.floor(Math.random() * 0xffffffff);
|
const stamp = Math.floor(Math.random() * 0xffffffff);
|
||||||
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-';
|
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-';
|
||||||
const HASH = _.range(0, 10).map(() => chars[Math.floor(Math.random() * chars.length)]).join('');
|
const HASH = _.range(0, 10).map(() => chars[Math.floor(Math.random() * chars.length)]).join('');
|
||||||
|
|
||||||
let development = true;
|
|
||||||
|
|
||||||
const sass = gulpSass(dartSass);
|
const sass = gulpSass(dartSass);
|
||||||
|
|
||||||
|
const argv = yargs(hideBin(process.argv))
|
||||||
|
.option('fast', { type: 'boolean', default: false })
|
||||||
|
.option('noserver', { type: 'boolean', default: false })
|
||||||
|
.option('adm', { type: 'boolean', default: false })
|
||||||
|
.option('debug', { type: 'boolean', default: false })
|
||||||
|
.option('main', { type: 'boolean', default: false })
|
||||||
|
.option('beta', { type: 'boolean', default: false })
|
||||||
|
.option('timing', { type: 'boolean', default: false })
|
||||||
|
.option('coverage', { type: 'boolean', default: false })
|
||||||
|
.option('tests', { type: 'boolean', default: false })
|
||||||
|
.option('sprites', { type: 'boolean', default: false })
|
||||||
|
.parse();
|
||||||
|
|
||||||
function swallowError(e) {
|
function swallowError(e) {
|
||||||
console.log(e.message);
|
console.log(e.message);
|
||||||
this.emit('end');
|
this.emit('end');
|
||||||
@@ -56,13 +69,13 @@ const npmScript = (name, args = []) => {
|
|||||||
return func;
|
return func;
|
||||||
};
|
};
|
||||||
|
|
||||||
const clean = () => del([
|
const clean = () => deleteAsync([
|
||||||
'build/*',
|
'build/*',
|
||||||
'temp/*',
|
'temp/*',
|
||||||
'!temp/.gitignore',
|
'!temp/.gitignore',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const clearnAdmin = () => del([
|
const clearAdmin = () => deleteAsync([
|
||||||
'build/assets-admin',
|
'build/assets-admin',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@@ -114,17 +127,44 @@ const changelog = cb => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const icons = cb => {
|
const icons = cb => {
|
||||||
const root1 = path.join('node_modules', '@fortawesome', 'free-solid-svg-icons');
|
const fontPaths = [
|
||||||
const root2 = path.join('node_modules', '@fortawesome', 'free-brands-svg-icons');
|
path.join('node_modules', '@fortawesome', 'free-solid-svg-icons'),
|
||||||
|
path.join('node_modules', '@fortawesome', 'free-brands-svg-icons')
|
||||||
|
];
|
||||||
|
const parseIcon = pathString => {
|
||||||
|
const faCode = fs.readFileSync(pathString, 'utf8');
|
||||||
|
const exports = {};
|
||||||
|
const fakeRequire = relative => {
|
||||||
|
const splitPath = pathString.split(path.sep);
|
||||||
|
splitPath.pop();
|
||||||
|
const newPath = `${splitPath.join(path.sep)}${path.sep}${relative}.js`;
|
||||||
|
return parseIcon(newPath);
|
||||||
|
};
|
||||||
|
const fn = new Function('exports', 'require', faCode);
|
||||||
|
fn(exports, fakeRequire);
|
||||||
|
return exports;
|
||||||
|
};
|
||||||
|
|
||||||
const getIconCode = src => JSON.stringify(require(`./${src}`).definition);
|
const getIconCode = src => JSON.stringify(parseIcon(`./${src}`).definition);
|
||||||
const iconsTs = readFile('src/ts/client/icons.ts');
|
const iconsTs = readFile('src/ts/client/icons.ts');
|
||||||
const matched = _.uniq(iconsTs.match(/\bfa[A-Z]\S*\b/g));
|
const matched = _.uniq(iconsTs.match(/\bfa[A-Z]\S*\b/g));
|
||||||
const icons = matched.map(m => ({
|
|
||||||
|
const icons = matched.map(m => {
|
||||||
|
const iconPath = (e) => path.join(e, `${m}.js`);
|
||||||
|
const paths = fontPaths.map(e => iconPath(e));
|
||||||
|
const found = paths.find(e => fs.existsSync(e));
|
||||||
|
if (!found) {
|
||||||
|
console.log(paths.join('\n'));
|
||||||
|
throw new Error(`Unable to find icon ${m}`);
|
||||||
|
}
|
||||||
|
const iconCode = getIconCode(found);
|
||||||
|
|
||||||
|
return {
|
||||||
name: m,
|
name: m,
|
||||||
code: fs.existsSync(path.join(root1, `${m}.js`)) ? getIconCode(path.join(root1, `${m}.js`)) : getIconCode(path.join(root2, `${m}.js`)),
|
code: iconCode
|
||||||
})).sort((a, b) => a.name.localeCompare(b.name));
|
};
|
||||||
const code = `/* tslint:disable */\n\n${icons.map(({ name, code }) => `export const ${name} = ${code};`).join('\n')}`;
|
}).sort((a, b) => a.name.localeCompare(b.name));
|
||||||
|
const code = `/* eslint-disable */\n\n${icons.map(({ name, code }) => `export const ${name} = ${code};`).join('\n')}`;
|
||||||
fs.writeFile('src/ts/generated/fa-icons.ts', lintCode(code), 'utf8', cb);
|
fs.writeFile('src/ts/generated/fa-icons.ts', lintCode(code), 'utf8', cb);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -161,7 +201,7 @@ const assetsRev = cb => {
|
|||||||
fs.writeFile('src/ts/generated/rev.ts', lintCode(code), 'utf8', cb);
|
fs.writeFile('src/ts/generated/rev.ts', lintCode(code), 'utf8', cb);
|
||||||
};
|
};
|
||||||
|
|
||||||
const assetsCopy = () => gulp.src('assets/**/*')
|
const assetsCopy = () => gulp.src('assets/**/*', { encoding: false })
|
||||||
.pipe(gulpif(!argv.fast, imagemin()))
|
.pipe(gulpif(!argv.fast, imagemin()))
|
||||||
.pipe(rev())
|
.pipe(rev())
|
||||||
.pipe(gulp.dest('build/assets'))
|
.pipe(gulp.dest('build/assets'))
|
||||||
@@ -169,7 +209,7 @@ const assetsCopy = () => gulp.src('assets/**/*')
|
|||||||
.pipe(gulp.dest('build'));
|
.pipe(gulp.dest('build'));
|
||||||
|
|
||||||
function buildSass(name, src, dest) {
|
function buildSass(name, src, dest) {
|
||||||
const result = () => gulp.src([src], { base: 'src' })
|
const result = () => gulp.src([src], { base: 'src', encoding: false })
|
||||||
.pipe(sass({
|
.pipe(sass({
|
||||||
includePaths: ['src/styles/'],
|
includePaths: ['src/styles/'],
|
||||||
}).on('error', sass.logError))
|
}).on('error', sass.logError))
|
||||||
@@ -181,6 +221,7 @@ function buildSass(name, src, dest) {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const sassMain = buildSass('main', 'src/styles/style.scss', 'build/assets');
|
const sassMain = buildSass('main', 'src/styles/style.scss', 'build/assets');
|
||||||
const sassInline = buildSass('inline', 'src/styles/style-inline.scss', 'build/assets');
|
const sassInline = buildSass('inline', 'src/styles/style-inline.scss', 'build/assets');
|
||||||
const sassTools = buildSass('tools', 'src/styles/style-tools.scss', 'build/assets');
|
const sassTools = buildSass('tools', 'src/styles/style-tools.scss', 'build/assets');
|
||||||
@@ -330,15 +371,16 @@ const spritesTask = argv.sprites ? sprites : empty;
|
|||||||
const buildSprites = gulp.series(tsTools, sprites);
|
const buildSprites = gulp.series(tsTools, sprites);
|
||||||
|
|
||||||
const build = gulp.series(clean, setProd, common, ts, webpackProd, sw, size);
|
const build = gulp.series(clean, setProd, common, ts, webpackProd, sw, size);
|
||||||
const admin = gulp.series(clearnAdmin, setProd, sassAdmin, ts, webpackAdmin);
|
const admin = gulp.series(clearAdmin, setProd, sassAdmin, ts, webpackAdmin);
|
||||||
const dev = gulp.series(clean, spritesTask, common, gulp.parallel(serverDev, watch, watchTools));
|
const dev = gulp.series(clean, spritesTask, common, gulp.parallel(serverDev, watch, watchTools));
|
||||||
|
|
||||||
module.exports = {
|
export {
|
||||||
music,
|
music,
|
||||||
admin,
|
admin,
|
||||||
build,
|
build,
|
||||||
dev,
|
dev,
|
||||||
sprites: buildSprites,
|
sprites,
|
||||||
default: dev,
|
tests as test
|
||||||
test: watchTests,
|
|
||||||
};
|
};
|
||||||
|
// gulp.watch(['build/**/*.css']).on('change', path => server.notify({ path }));
|
||||||
|
// gulp.watch(['build/**/*.js']).on('change', path => server.notify({ path }));
|
||||||
Generated
+11004
-15247
File diff suppressed because it is too large
Load Diff
+12
-12
@@ -102,7 +102,7 @@
|
|||||||
"@types/ua-parser-js": "^0.7.39",
|
"@types/ua-parser-js": "^0.7.39",
|
||||||
"@types/uws": "^0.13.7",
|
"@types/uws": "^0.13.7",
|
||||||
"@types/webgl2": "^0.0.12",
|
"@types/webgl2": "^0.0.12",
|
||||||
"@types/yargs": "^13.0.12",
|
"@types/yargs": "^17.0.35",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.57.1",
|
"@typescript-eslint/eslint-plugin": "^8.57.1",
|
||||||
"@typescript-eslint/parser": "^8.57.1",
|
"@typescript-eslint/parser": "^8.57.1",
|
||||||
"ag-psd": "^6.2.0",
|
"ag-psd": "^6.2.0",
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
"connect-mongo": "^6.0.0",
|
"connect-mongo": "^6.0.0",
|
||||||
"cookie-parser": "^1.4.4",
|
"cookie-parser": "^1.4.4",
|
||||||
"core-js": "^3.2.1",
|
"core-js": "^3.2.1",
|
||||||
"del": "^5.1.0",
|
"del": "^8.0.1",
|
||||||
"delta-e": "0.0.7",
|
"delta-e": "0.0.7",
|
||||||
"errorhandler": "^1.5.1",
|
"errorhandler": "^1.5.1",
|
||||||
"eslint": "^5.16.0",
|
"eslint": "^5.16.0",
|
||||||
@@ -140,19 +140,19 @@
|
|||||||
"frameguard": "^3.1.0",
|
"frameguard": "^3.1.0",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
"gif.js": "^0.2.0",
|
"gif.js": "^0.2.0",
|
||||||
"gulp": "^4.0.2",
|
"gulp": "^5.0.1",
|
||||||
"gulp-autoprefixer": "^7.0.0",
|
"gulp-autoprefixer": "^10.0.0",
|
||||||
"gulp-cssnano": "^2.1.3",
|
"gulp-cssnano": "^2.1.3",
|
||||||
"gulp-if": "^3.0.0",
|
"gulp-if": "^3.0.0",
|
||||||
"gulp-imagemin": "^6.1.0",
|
"gulp-imagemin": "^9.2.0",
|
||||||
"gulp-live-server": "0.0.31",
|
"gulp-live-server": "0.0.31",
|
||||||
"gulp-plumber": "^1.2.1",
|
"gulp-plumber": "^1.2.1",
|
||||||
"gulp-rev": "^9.0.0",
|
"gulp-rev": "^12.0.0",
|
||||||
"gulp-sass": "^5.1.0",
|
"gulp-sass": "^6.0.1",
|
||||||
"gulp-shell": "^0.7.1",
|
"gulp-shell": "^0.8.0",
|
||||||
"gulp-sizereport": "^1.2.1",
|
"gulp-sizereport": "^1.2.1",
|
||||||
"gulp-sourcemaps": "^2.6.5",
|
"gulp-sourcemaps": "^3.0.0",
|
||||||
"gulp-spawn-mocha": "^5.0.1",
|
"gulp-spawn-mocha": "^6.0.0",
|
||||||
"howler": "^2.1.2",
|
"howler": "^2.1.2",
|
||||||
"hsts": "^2.2.0",
|
"hsts": "^2.2.0",
|
||||||
"html-loader": "^5.1.0",
|
"html-loader": "^5.1.0",
|
||||||
@@ -187,7 +187,7 @@
|
|||||||
"request-promise": "^4.2.4",
|
"request-promise": "^4.2.4",
|
||||||
"rollbar": "^2.12.2",
|
"rollbar": "^2.12.2",
|
||||||
"rxjs": "^7.8.2",
|
"rxjs": "^7.8.2",
|
||||||
"sass": "^1.58.3",
|
"sass": "^1.62.1",
|
||||||
"sass-loader": "^13.3.3",
|
"sass-loader": "^13.3.3",
|
||||||
"serve-favicon": "^2.5.0",
|
"serve-favicon": "^2.5.0",
|
||||||
"sinon": "^7.4.1",
|
"sinon": "^7.4.1",
|
||||||
@@ -210,7 +210,7 @@
|
|||||||
"webpack-merge": "^6.0.1",
|
"webpack-merge": "^6.0.1",
|
||||||
"workbox-cli": "^4.3.1",
|
"workbox-cli": "^4.3.1",
|
||||||
"wrapper-webpack-plugin": "^2.2.2",
|
"wrapper-webpack-plugin": "^2.2.2",
|
||||||
"yargs": "^14.0.0",
|
"yargs": "^18.0.0",
|
||||||
"zone.js": "^0.14.2"
|
"zone.js": "^0.14.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,35 +1,35 @@
|
|||||||
@import "node_modules/bootstrap/scss/functions";
|
@import "../../../node_modules/bootstrap/scss/functions";
|
||||||
@import "node_modules/bootstrap/scss/variables";
|
@import "../../../node_modules/bootstrap/scss/variables";
|
||||||
@import "node_modules/bootstrap/scss/mixins";
|
@import "../../../node_modules/bootstrap/scss/mixins";
|
||||||
// @import "node_modules/bootstrap/scss/root";
|
// @import "../../../node_modules/bootstrap/scss/root";
|
||||||
// @import "node_modules/bootstrap/scss/print";
|
// @import "../../../node_modules/bootstrap/scss/print";
|
||||||
@import "node_modules/bootstrap/scss/reboot";
|
@import "../../../node_modules/bootstrap/scss/reboot";
|
||||||
@import "node_modules/bootstrap/scss/type";
|
@import "../../../node_modules/bootstrap/scss/type";
|
||||||
@import "node_modules/bootstrap/scss/images";
|
@import "../../../node_modules/bootstrap/scss/images";
|
||||||
@import "node_modules/bootstrap/scss/code";
|
@import "../../../node_modules/bootstrap/scss/code";
|
||||||
@import "node_modules/bootstrap/scss/grid";
|
@import "../../../node_modules/bootstrap/scss/grid";
|
||||||
@import "node_modules/bootstrap/scss/tables";
|
@import "../../../node_modules/bootstrap/scss/tables";
|
||||||
@import "node_modules/bootstrap/scss/forms";
|
@import "../../../node_modules/bootstrap/scss/forms";
|
||||||
@import "node_modules/bootstrap/scss/buttons";
|
@import "../../../node_modules/bootstrap/scss/buttons";
|
||||||
@import "node_modules/bootstrap/scss/transitions";
|
@import "../../../node_modules/bootstrap/scss/transitions";
|
||||||
@import "node_modules/bootstrap/scss/dropdown";
|
@import "../../../node_modules/bootstrap/scss/dropdown";
|
||||||
@import "node_modules/bootstrap/scss/button-group";
|
@import "../../../node_modules/bootstrap/scss/button-group";
|
||||||
@import "node_modules/bootstrap/scss/input-group";
|
@import "../../../node_modules/bootstrap/scss/input-group";
|
||||||
@import "node_modules/bootstrap/scss/custom-forms";
|
@import "../../../node_modules/bootstrap/scss/custom-forms";
|
||||||
@import "node_modules/bootstrap/scss/nav";
|
@import "../../../node_modules/bootstrap/scss/nav";
|
||||||
@import "node_modules/bootstrap/scss/navbar";
|
@import "../../../node_modules/bootstrap/scss/navbar";
|
||||||
// @import "node_modules/bootstrap/scss/card";
|
// @import "../../../node_modules/bootstrap/scss/card";
|
||||||
// @import "node_modules/bootstrap/scss/breadcrumb";
|
// @import "../../../node_modules/bootstrap/scss/breadcrumb";
|
||||||
@import "node_modules/bootstrap/scss/pagination";
|
@import "../../../node_modules/bootstrap/scss/pagination";
|
||||||
@import "node_modules/bootstrap/scss/badge";
|
@import "../../../node_modules/bootstrap/scss/badge";
|
||||||
// @import "node_modules/bootstrap/scss/jumbotron";
|
// @import "../../../node_modules/bootstrap/scss/jumbotron";
|
||||||
@import "node_modules/bootstrap/scss/alert";
|
@import "../../../node_modules/bootstrap/scss/alert";
|
||||||
@import "node_modules/bootstrap/scss/progress";
|
@import "../../../node_modules/bootstrap/scss/progress";
|
||||||
// @import "node_modules/bootstrap/scss/media";
|
// @import "../../../node_modules/bootstrap/scss/media";
|
||||||
@import "node_modules/bootstrap/scss/list-group";
|
@import "../../../node_modules/bootstrap/scss/list-group";
|
||||||
@import "node_modules/bootstrap/scss/close";
|
@import "../../../node_modules/bootstrap/scss/close";
|
||||||
@import "node_modules/bootstrap/scss/modal";
|
@import "../../../node_modules/bootstrap/scss/modal";
|
||||||
@import "node_modules/bootstrap/scss/tooltip";
|
@import "../../../node_modules/bootstrap/scss/tooltip";
|
||||||
@import "node_modules/bootstrap/scss/popover";
|
@import "../../../node_modules/bootstrap/scss/popover";
|
||||||
// @import "node_modules/bootstrap/scss/carousel";
|
// @import "../../../node_modules/bootstrap/scss/carousel";
|
||||||
@import "node_modules/bootstrap/scss/utilities";
|
@import "../../../node_modules/bootstrap/scss/utilities";
|
||||||
|
|||||||
@@ -1,35 +1,35 @@
|
|||||||
@import "node_modules/bootstrap/scss/functions";
|
@import "../../../node_modules/bootstrap/scss/functions";
|
||||||
@import "node_modules/bootstrap/scss/variables";
|
@import "../../../node_modules/bootstrap/scss/variables";
|
||||||
@import "node_modules/bootstrap/scss/mixins";
|
@import "../../../node_modules/bootstrap/scss/mixins";
|
||||||
// @import "node_modules/bootstrap/scss/root";
|
// @import "../../../node_modules/bootstrap/scss/root";
|
||||||
// @import "node_modules/bootstrap/scss/print";
|
// @import "../../../node_modules/bootstrap/scss/print";
|
||||||
@import "node_modules/bootstrap/scss/reboot";
|
@import "../../../node_modules/bootstrap/scss/reboot";
|
||||||
@import "node_modules/bootstrap/scss/type";
|
@import "../../../node_modules/bootstrap/scss/type";
|
||||||
@import "node_modules/bootstrap/scss/images";
|
@import "../../../node_modules/bootstrap/scss/images";
|
||||||
@import "node_modules/bootstrap/scss/code";
|
@import "../../../node_modules/bootstrap/scss/code";
|
||||||
@import "node_modules/bootstrap/scss/grid";
|
@import "../../../node_modules/bootstrap/scss/grid";
|
||||||
// @import "node_modules/bootstrap/scss/tables";
|
// @import "../../../node_modules/bootstrap/scss/tables";
|
||||||
@import "node_modules/bootstrap/scss/forms";
|
@import "../../../node_modules/bootstrap/scss/forms";
|
||||||
@import "node_modules/bootstrap/scss/buttons";
|
@import "../../../node_modules/bootstrap/scss/buttons";
|
||||||
@import "node_modules/bootstrap/scss/transitions";
|
@import "../../../node_modules/bootstrap/scss/transitions";
|
||||||
@import "node_modules/bootstrap/scss/dropdown";
|
@import "../../../node_modules/bootstrap/scss/dropdown";
|
||||||
@import "node_modules/bootstrap/scss/button-group";
|
@import "../../../node_modules/bootstrap/scss/button-group";
|
||||||
@import "node_modules/bootstrap/scss/input-group";
|
@import "../../../node_modules/bootstrap/scss/input-group";
|
||||||
@import "node_modules/bootstrap/scss/custom-forms";
|
@import "../../../node_modules/bootstrap/scss/custom-forms";
|
||||||
@import "node_modules/bootstrap/scss/nav";
|
@import "../../../node_modules/bootstrap/scss/nav";
|
||||||
@import "node_modules/bootstrap/scss/navbar";
|
@import "../../../node_modules/bootstrap/scss/navbar";
|
||||||
// @import "node_modules/bootstrap/scss/card";
|
// @import "../../../node_modules/bootstrap/scss/card";
|
||||||
// @import "node_modules/bootstrap/scss/breadcrumb";
|
// @import "../../../node_modules/bootstrap/scss/breadcrumb";
|
||||||
// @import "node_modules/bootstrap/scss/pagination";
|
// @import "../../../node_modules/bootstrap/scss/pagination";
|
||||||
@import "node_modules/bootstrap/scss/badge";
|
@import "../../../node_modules/bootstrap/scss/badge";
|
||||||
// @import "node_modules/bootstrap/scss/jumbotron";
|
// @import "../../../node_modules/bootstrap/scss/jumbotron";
|
||||||
@import "node_modules/bootstrap/scss/alert";
|
@import "../../../node_modules/bootstrap/scss/alert";
|
||||||
// @import "node_modules/bootstrap/scss/progress";
|
// @import "../../../node_modules/bootstrap/scss/progress";
|
||||||
// @import "node_modules/bootstrap/scss/media";
|
// @import "../../../node_modules/bootstrap/scss/media";
|
||||||
@import "node_modules/bootstrap/scss/list-group";
|
@import "../../../node_modules/bootstrap/scss/list-group";
|
||||||
// @import "node_modules/bootstrap/scss/close";
|
// @import "../../../node_modules/bootstrap/scss/close";
|
||||||
@import "node_modules/bootstrap/scss/modal";
|
@import "../../../node_modules/bootstrap/scss/modal";
|
||||||
@import "node_modules/bootstrap/scss/tooltip";
|
@import "../../../node_modules/bootstrap/scss/tooltip";
|
||||||
@import "node_modules/bootstrap/scss/popover";
|
@import "../../../node_modules/bootstrap/scss/popover";
|
||||||
// @import "node_modules/bootstrap/scss/carousel";
|
// @import "../../../node_modules/bootstrap/scss/carousel";
|
||||||
@import "node_modules/bootstrap/scss/utilities";
|
@import "../../../node_modules/bootstrap/scss/utilities";
|
||||||
|
|||||||
@@ -202,6 +202,6 @@ $flag-black: #3e4347;
|
|||||||
$flag-yellow: #ffe62e;
|
$flag-yellow: #ffe62e;
|
||||||
$flag-green: #00aa00;
|
$flag-green: #00aa00;
|
||||||
|
|
||||||
@import "node_modules/bootstrap/scss/functions";
|
@import "../../../node_modules/bootstrap/scss/functions";
|
||||||
@import "node_modules/bootstrap/scss/variables";
|
@import "../../../node_modules/bootstrap/scss/variables";
|
||||||
@import "node_modules/bootstrap/scss/mixins";
|
@import "../../../node_modules/bootstrap/scss/mixins";
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ function getLabel(arg: LogArgument | undefined) {
|
|||||||
if (typeof arg === 'string') {
|
if (typeof arg === 'string') {
|
||||||
return arg;
|
return arg;
|
||||||
} else if (arg && 'message' in arg) {
|
} else if (arg && 'message' in arg) {
|
||||||
return arg.message + (arg.stack || '');
|
return (arg as any).message + (arg.stack || '');
|
||||||
} else {
|
} else {
|
||||||
return arg ? arg.toString() : '';
|
return arg ? arg.toString() : '';
|
||||||
}
|
}
|
||||||
|
|||||||
+14
-1
@@ -6,7 +6,20 @@ import 'core-js/stable/promise/finally';
|
|||||||
import 'reflect-metadata';
|
import 'reflect-metadata';
|
||||||
import * as Bluebird from 'bluebird';
|
import * as Bluebird from 'bluebird';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import { argv } from 'yargs';
|
import * as yargs from 'yargs';
|
||||||
|
import { hideBin } from 'yargs/helpers';
|
||||||
|
|
||||||
|
const argv = (yargs as any)(hideBin(process.argv))
|
||||||
|
.option('beta', {
|
||||||
|
type: 'boolean',
|
||||||
|
default: false
|
||||||
|
})
|
||||||
|
.option('tools', {
|
||||||
|
type: 'boolean',
|
||||||
|
default: false
|
||||||
|
})
|
||||||
|
.parseSync();
|
||||||
|
|
||||||
|
|
||||||
(global as any).DEVELOPMENT = process.env.NODE_ENV !== 'production';
|
(global as any).DEVELOPMENT = process.env.NODE_ENV !== 'production';
|
||||||
(global as any).BETA = !!argv.beta;
|
(global as any).BETA = !!argv.beta;
|
||||||
|
|||||||
+16
-1
@@ -1,5 +1,20 @@
|
|||||||
import { argv } from 'yargs';
|
|
||||||
import { ServerConfig } from '../common/adminInterfaces';
|
import { ServerConfig } from '../common/adminInterfaces';
|
||||||
|
import * as yargs from 'yargs';
|
||||||
|
import { hideBin } from 'yargs/helpers';
|
||||||
|
|
||||||
|
const argv = (yargs as any)(hideBin(process.argv))
|
||||||
|
.option('port', { type: 'string' })
|
||||||
|
.option('login', { type: 'boolean', default: false })
|
||||||
|
.option('admin', { type: 'boolean', default: false })
|
||||||
|
.option('standaloneadmin', { type: 'boolean', default: false })
|
||||||
|
.option('game', { type: 'string', default: DEVELOPMENT })
|
||||||
|
.option('superadmin', { type: 'string' })
|
||||||
|
.option('users', { type: 'boolean', default: false })
|
||||||
|
.option('tools', { type: 'boolean', default: false })
|
||||||
|
.option('webpack', { type: 'boolean', default: false })
|
||||||
|
.option('local', { type: 'boolean', default: false })
|
||||||
|
.option('nocleanup', { type: 'boolean', default: false })
|
||||||
|
.parse();
|
||||||
|
|
||||||
export interface AppConfig {
|
export interface AppConfig {
|
||||||
title: string;
|
title: string;
|
||||||
|
|||||||
+2
-2
@@ -4,7 +4,7 @@ import '../server/boot';
|
|||||||
import * as mongoose from 'mongoose';
|
import * as mongoose from 'mongoose';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as del from 'del';
|
import { deleteAsync } from 'del';
|
||||||
import { once, mapValues } from 'lodash';
|
import { once, mapValues } from 'lodash';
|
||||||
import { spawnSync } from 'child_process';
|
import { spawnSync } from 'child_process';
|
||||||
import { createStubInstance, SinonStubbedInstance, stub } from 'sinon';
|
import { createStubInstance, SinonStubbedInstance, stub } from 'sinon';
|
||||||
@@ -51,7 +51,7 @@ export function generateDiff(expectedPath: string, actualPath: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function clearCompareResults(group: string) {
|
export async function clearCompareResults(group: string) {
|
||||||
await del([pathTo('tools', 'temp', group, '*.png').replace(/\\/g, '/')]);
|
await deleteAsync([pathTo('tools', 'temp', group, '*.png').replace(/\\/g, '/')]);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function compareCanvases(
|
export function compareCanvases(
|
||||||
|
|||||||
Reference in New Issue
Block a user