Skip to content
Snippets Groups Projects
Commit 8a369c99 authored by syuilo's avatar syuilo
Browse files

Refactoring

parent ef8b09a6
No related branches found
No related tags found
No related merge requests found
......@@ -20,7 +20,7 @@ import imagemin = require('gulp-imagemin');
import * as rename from 'gulp-rename';
import * as mocha from 'gulp-mocha';
import * as replace from 'gulp-replace';
import getVersion from './src/version';
import version from './src/version';
const env = process.env.NODE_ENV;
const isProduction = env === 'production';
......@@ -129,21 +129,16 @@ gulp.task('build:client', [
'copy:client'
]);
gulp.task('build:client:scripts', done => {
getVersion.then(version => {
require('./webpack.config').then(webpackOptions => {
es.merge(
webpack(webpackOptions, require('webpack'))
.pipe(gulp.dest('./built/web/assets/')) as any,
gulp.src('./src/web/app/client/script.js')
.pipe(replace('VERSION', JSON.stringify(version)))
//.pipe(isProduction ? uglify() : gutil.noop())
.pipe(gulp.dest('./built/web/assets/client/')) as any
);
done();
});
});
});
gulp.task('build:client:scripts', () =>
es.merge(
webpack(require('./webpack.config'), require('webpack'))
.pipe(gulp.dest('./built/web/assets/')) as any,
gulp.src('./src/web/app/client/script.js')
.pipe(replace('VERSION', JSON.stringify(version)))
//.pipe(isProduction ? uglify() : gutil.noop())
.pipe(gulp.dest('./built/web/assets/client/')) as any
)
);
gulp.task('build:client:styles', () =>
gulp.src('./src/web/app/init.css')
......@@ -172,16 +167,13 @@ gulp.task('build:client:pug', [
'copy:client',
'build:client:scripts',
'build:client:styles'
], done => {
getVersion.then(version => {
gulp.src('./src/web/app/*/view.pug')
.pipe(pug({
locals: {
version: version,
themeColor: constants.themeColor
}
}))
.pipe(gulp.dest('./built/web/app/'));
done();
});
});
], () =>
gulp.src('./src/web/app/*/view.pug')
.pipe(pug({
locals: {
version: version,
themeColor: constants.themeColor
}
}))
.pipe(gulp.dest('./built/web/app/'))
);
const getVersion = new Promise<string>(async resolve => {
const ぱっけーじ = require('../package.json');
/**
* Version
*/
const version = ぱっけーじ.version;
const meta = require('../package.json');
resolve(version);
});
export default getVersion;
export default meta.version as string;
......@@ -4,77 +4,73 @@
import * as webpack from 'webpack';
const StringReplacePlugin = require('string-replace-webpack-plugin');
import getVersion from './src/version';
import version from './src/version';
const constants = require('./src/const.json');
const env = process.env.NODE_ENV;
const isProduction = env === 'production';
module.exports = new Promise(async resolve => {
const version = await getVersion.then();
const pack: webpack.Configuration = {
entry: {
'desktop': './src/web/app/desktop/script.js',
'mobile': './src/web/app/mobile/script.js',
'dev': './src/web/app/dev/script.js',
'auth': './src/web/app/auth/script.js'
},
module: {
rules: [
{
enforce: 'pre',
test: /\.tag$/,
exclude: /node_modules/,
loader: StringReplacePlugin.replace({
replacements: [
{ pattern: /\$theme\-color\-foreground/g, replacement: () => constants.themeColorForeground },
{ pattern: /\$theme\-color/g, replacement: () => constants.themeColor },
]
})
},
{
test: /\.tag$/,
exclude: /node_modules/,
loader: 'riot-tag-loader',
query: {
hot: false,
style: 'stylus',
expr: false,
compact: true,
parserOptions: {
style: {
compress: true
}
const pack: webpack.Configuration = {
entry: {
'desktop': './src/web/app/desktop/script.js',
'mobile': './src/web/app/mobile/script.js',
'dev': './src/web/app/dev/script.js',
'auth': './src/web/app/auth/script.js'
},
module: {
rules: [
{
enforce: 'pre',
test: /\.tag$/,
exclude: /node_modules/,
loader: StringReplacePlugin.replace({
replacements: [
{ pattern: /\$theme\-color\-foreground/g, replacement: () => constants.themeColorForeground },
{ pattern: /\$theme\-color/g, replacement: () => constants.themeColor },
]
})
},
{
test: /\.tag$/,
exclude: /node_modules/,
loader: 'riot-tag-loader',
query: {
hot: false,
style: 'stylus',
expr: false,
compact: true,
parserOptions: {
style: {
compress: true
}
}
},
{
test: /\.styl$/,
exclude: /node_modules/,
use: [
{ loader: 'style-loader' },
{ loader: 'css-loader' },
{ loader: 'stylus-loader' }
]
}
]
},
plugins: [
new webpack.DefinePlugin({
VERSION: JSON.stringify(version),
THEME_COLOR: JSON.stringify(constants.themeColor)
}),
new StringReplacePlugin()
],
output: {
filename: `[name]/script.${version}.js`
}
};
if (isProduction) {
//pack.plugins.push(new webpack.optimize.UglifyJsPlugin());
},
{
test: /\.styl$/,
exclude: /node_modules/,
use: [
{ loader: 'style-loader' },
{ loader: 'css-loader' },
{ loader: 'stylus-loader' }
]
}
]
},
plugins: [
new webpack.DefinePlugin({
VERSION: JSON.stringify(version),
THEME_COLOR: JSON.stringify(constants.themeColor)
}),
new StringReplacePlugin()
],
output: {
filename: `[name]/script.${version}.js`
}
};
if (isProduction) {
//pack.plugins.push(new webpack.optimize.UglifyJsPlugin());
}
resolve(pack);
});
module.exports = pack;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment