Comparing version
@@ -142,4 +142,5 @@ "use strict"; | ||
}()); | ||
function startClientWebpack(hasBackend, watch, platform, config, dll, options) { | ||
function startClientWebpack(hasBackend, watch, node, options) { | ||
var webpack = requireModule_1.default('webpack'); | ||
var config = node.config; | ||
var logger = minilog("webpack-for-" + config.name); | ||
@@ -166,6 +167,6 @@ try { | ||
config.plugins.push(new webpack.NoEmitOnErrorsPlugin()); | ||
startWebpackDevServer(hasBackend, platform, config, dll, options, reporter, logger); | ||
startWebpackDevServer(hasBackend, node, options, reporter, logger); | ||
} | ||
else { | ||
if (platform !== 'web') { | ||
if (node.platform.target !== 'web') { | ||
config.plugins.push(new MobileAssetsPlugin()); | ||
@@ -186,3 +187,4 @@ } | ||
} | ||
function startServerWebpack(watch, config, options) { | ||
function startServerWebpack(watch, node, options) { | ||
var config = node.config; | ||
var logger = minilog("webpack-for-" + config.name); | ||
@@ -258,10 +260,10 @@ try { | ||
} | ||
function openFrontend(config, platform) { | ||
function openFrontend(node) { | ||
var openurl = requireModule_1.default('openurl'); | ||
try { | ||
if (platform === 'web') { | ||
openurl.open("http://" + ip.address() + ":" + config.devServer.port); | ||
if (node.platform.target === 'web' && node.openBrowser !== false) { | ||
openurl.open("http://" + ip.address() + ":" + node.config.devServer.port); | ||
} | ||
else if (['android', 'ios'].indexOf(platform) >= 0) { | ||
startExpoProject(config, platform); | ||
else if (['android', 'ios'].indexOf(node.platform.target) >= 0) { | ||
startExpoProject(node.config, node.platform.target); | ||
} | ||
@@ -282,3 +284,3 @@ } | ||
} | ||
function startWebpackDevServer(hasBackend, platform, config, dll, options, reporter, logger) { | ||
function startWebpackDevServer(hasBackend, node, options, reporter, logger) { | ||
var webpack = requireModule_1.default('webpack'); | ||
@@ -292,2 +294,4 @@ var connect = requireModule_1.default('connect'); | ||
var waitOn = requireModule_1.default('wait-on'); | ||
var config = node.config; | ||
var platform = node.platform.target; | ||
var configOutputPath = config.output.path; | ||
@@ -297,3 +301,3 @@ config.output.path = '/'; | ||
var vendorHashesJson, vendorSourceListMap, vendorSource, vendorMap; | ||
if (options.webpackDll && dll) { | ||
if (options.webpackDll && node.dllConfig) { | ||
var name = "vendor_" + platform; | ||
@@ -340,3 +344,3 @@ var jsonPath = path.join(options.dllBuildDir, name + "_dll.json"); | ||
}); | ||
if (options.webpackDll && dll && platform !== 'web') { | ||
if (options.webpackDll && node.dllConfig && platform !== 'web') { | ||
compiler.plugin('after-compile', function (compilation, callback) { | ||
@@ -358,3 +362,3 @@ _.each(compilation.chunks, function (chunk) { | ||
} | ||
if (options.webpackDll && dll && platform === 'web' && !hasBackend) { | ||
if (options.webpackDll && node.dllConfig && platform === 'web' && !hasBackend) { | ||
compiler.plugin('after-compile', function (compilation, callback) { | ||
@@ -392,3 +396,3 @@ compilation.assets[vendorHashesJson.name] = vendorSource; | ||
frontendFirstStart = false; | ||
openFrontend(config, platform); | ||
openFrontend(node); | ||
} | ||
@@ -686,8 +690,8 @@ }); | ||
} | ||
function startWebpack(targets, watch, platform, config, dll, options) { | ||
if (platform === 'server') { | ||
startServerWebpack(watch, config, options); | ||
function startWebpack(targets, watch, node, options) { | ||
if (node.platform.target === 'server') { | ||
startServerWebpack(watch, node, options); | ||
} | ||
else { | ||
startClientWebpack(!!targets.server, watch, platform, config, dll, options); | ||
startClientWebpack(!!targets.server, watch, node, options); | ||
} | ||
@@ -840,3 +844,3 @@ } | ||
prepareDllPromise.then(function () { | ||
return startWebpack(targets_1, watch_1, platform.target, node.config, node.dllConfig, options); | ||
return startWebpack(targets_1, watch_1, node, options); | ||
}); | ||
@@ -843,0 +847,0 @@ }; |
@@ -287,2 +287,11 @@ "use strict"; | ||
} | ||
var cssPrep, cssPrepExt; | ||
if (platform.hasAny('sass')) { | ||
cssPrep = 'sass'; | ||
cssPrepExt = 'scss'; | ||
} | ||
else if (platform.hasAny('less')) { | ||
cssPrep = 'less'; | ||
cssPrepExt = 'less'; | ||
} | ||
var plugins = createPlugins(node, nodes, dev, options); | ||
@@ -319,12 +328,14 @@ if (platform.hasAny('server')) { | ||
}, plugins: plugins }); | ||
config.module.rules = config.module.rules.concat([{ | ||
test: /\.scss$/, | ||
use: dev ? [ | ||
{ loader: 'isomorphic-style-loader' }, | ||
{ loader: 'css-loader', options: { sourceMap: true } }, | ||
{ loader: 'postcss-loader', options: { sourceMap: true } }, | ||
{ loader: 'sass-loader', options: { sourceMap: true } } | ||
] : | ||
[{ loader: 'ignore-loader' }], | ||
}]); | ||
if (cssPrep) { | ||
config.module.rules = config.module.rules.concat([{ | ||
test: new RegExp("." + cssPrepExt + "$"), | ||
use: dev ? [ | ||
{ loader: 'isomorphic-style-loader' }, | ||
{ loader: 'css-loader', options: { sourceMap: true } }, | ||
{ loader: 'postcss-loader', options: { sourceMap: true } }, | ||
{ loader: cssPrep + "-loader", options: { sourceMap: true } } | ||
] : | ||
[{ loader: 'ignore-loader' }], | ||
}]); | ||
} | ||
} | ||
@@ -350,14 +361,16 @@ else if (platform.hasAny('web')) { | ||
} }) }); | ||
config.module.rules = config.module.rules.concat([{ | ||
test: /\.scss$/, | ||
use: dev ? [ | ||
{ loader: 'style-loader' }, | ||
{ loader: 'css-loader', options: { sourceMap: true, importLoaders: 1 } }, | ||
{ loader: 'postcss-loader', options: { sourceMap: true } }, | ||
{ loader: 'sass-loader', options: { sourceMap: true } }, | ||
] : ExtractTextPlugin.extract({ | ||
fallback: 'style-loader', | ||
use: ['css-loader', 'postcss-loader', 'sass-loader'], | ||
}), | ||
}]); | ||
if (cssPrep) { | ||
config.module.rules = config.module.rules.concat([{ | ||
test: new RegExp("." + cssPrepExt + "$"), | ||
use: dev ? [ | ||
{ loader: 'style-loader' }, | ||
{ loader: 'css-loader', options: { sourceMap: true, importLoaders: 1 } }, | ||
{ loader: 'postcss-loader', options: { sourceMap: true } }, | ||
{ loader: cssPrep + "-loader", options: { sourceMap: true } }, | ||
] : ExtractTextPlugin.extract({ | ||
fallback: 'style-loader', | ||
use: ['css-loader', 'postcss-loader', cssPrep + "-loader"], | ||
}), | ||
}]); | ||
} | ||
} | ||
@@ -364,0 +377,0 @@ else if (platform.hasAny(['android', 'ios'])) { |
{ | ||
"name": "spinjs", | ||
"version": "0.1.5", | ||
"version": "0.1.7", | ||
"scripts": { | ||
@@ -5,0 +5,0 @@ "compile": "tsc", |
@@ -123,4 +123,7 @@ import * as http from 'http'; | ||
function startClientWebpack(hasBackend, watch, platform, config, dll, options) { | ||
function startClientWebpack(hasBackend, watch, node, options) { | ||
const webpack = requireModule('webpack'); | ||
const config = node.config; | ||
const logger = minilog(`webpack-for-${config.name}`); | ||
@@ -144,5 +147,5 @@ try { | ||
config.plugins.push(new webpack.NoEmitOnErrorsPlugin()); | ||
startWebpackDevServer(hasBackend, platform, config, dll, options, reporter, logger); | ||
startWebpackDevServer(hasBackend, node, options, reporter, logger); | ||
} else { | ||
if (platform !== 'web') { | ||
if (node.platform.target !== 'web') { | ||
config.plugins.push(new MobileAssetsPlugin()); | ||
@@ -167,3 +170,4 @@ } | ||
function startServerWebpack(watch, config, options) { | ||
function startServerWebpack(watch, node, options) { | ||
const config = node.config; | ||
const logger = minilog(`webpack-for-${config.name}`); | ||
@@ -239,9 +243,9 @@ | ||
function openFrontend(config, platform) { | ||
function openFrontend(node) { | ||
const openurl = requireModule('openurl'); | ||
try { | ||
if (platform === 'web') { | ||
openurl.open(`http://${ip.address()}:${config.devServer.port}`); | ||
} else if (['android', 'ios'].indexOf(platform) >= 0) { | ||
startExpoProject(config, platform); | ||
if (node.platform.target === 'web' && node.openBrowser !== false) { | ||
openurl.open(`http://${ip.address()}:${node.config.devServer.port}`); | ||
} else if (['android', 'ios'].indexOf(node.platform.target) >= 0) { | ||
startExpoProject(node.config, node.platform.target); | ||
} | ||
@@ -262,3 +266,3 @@ } catch (e) { | ||
function startWebpackDevServer(hasBackend, platform, config, dll, options, reporter, logger) { | ||
function startWebpackDevServer(hasBackend, node, options, reporter, logger) { | ||
const webpack = requireModule('webpack'); | ||
@@ -273,2 +277,5 @@ const connect = requireModule('connect'); | ||
const config = node.config; | ||
const platform = node.platform.target; | ||
const configOutputPath = config.output.path; | ||
@@ -280,3 +287,3 @@ config.output.path = '/'; | ||
let vendorHashesJson, vendorSourceListMap, vendorSource, vendorMap; | ||
if (options.webpackDll && dll) { | ||
if (options.webpackDll && node.dllConfig) { | ||
const name = `vendor_${platform}`; | ||
@@ -325,3 +332,3 @@ const jsonPath = path.join(options.dllBuildDir, `${name}_dll.json`); | ||
}); | ||
if (options.webpackDll && dll && platform !== 'web') { | ||
if (options.webpackDll && node.dllConfig && platform !== 'web') { | ||
compiler.plugin('after-compile', (compilation, callback) => { | ||
@@ -345,3 +352,3 @@ _.each(compilation.chunks, chunk => { | ||
if (options.webpackDll && dll && platform === 'web' && !hasBackend) { | ||
if (options.webpackDll && node.dllConfig && platform === 'web' && !hasBackend) { | ||
compiler.plugin('after-compile', (compilation, callback) => { | ||
@@ -381,3 +388,3 @@ compilation.assets[vendorHashesJson.name] = vendorSource; | ||
frontendFirstStart = false; | ||
openFrontend(config, platform); | ||
openFrontend(node); | ||
} | ||
@@ -658,7 +665,7 @@ }); | ||
function startWebpack(targets, watch, platform, config, dll, options) { | ||
if (platform === 'server') { | ||
startServerWebpack(watch, config, options); | ||
function startWebpack(targets, watch, node, options) { | ||
if (node.platform.target === 'server') { | ||
startServerWebpack(watch, node, options); | ||
} else { | ||
startClientWebpack(!!targets.server, watch, platform, config, dll, options); | ||
startClientWebpack(!!targets.server, watch, node, options); | ||
} | ||
@@ -778,3 +785,3 @@ } | ||
prepareDllPromise.then(() => | ||
startWebpack(targets, watch, platform.target, node.config, node.dllConfig, options)); | ||
startWebpack(targets, watch, node, options)); | ||
} | ||
@@ -781,0 +788,0 @@ }); |
@@ -302,2 +302,11 @@ import * as path from 'path'; | ||
let cssPrep, cssPrepExt; | ||
if (platform.hasAny('sass')) { | ||
cssPrep = 'sass'; | ||
cssPrepExt = 'scss'; | ||
} else if (platform.hasAny('less')) { | ||
cssPrep = 'less'; | ||
cssPrepExt = 'less'; | ||
} | ||
const plugins = createPlugins(node, nodes, dev, options); | ||
@@ -341,11 +350,13 @@ if (platform.hasAny('server')) { | ||
}; | ||
config.module.rules = config.module.rules.concat([{ | ||
test: /\.scss$/, | ||
use: dev ? [ | ||
{loader: 'isomorphic-style-loader'}, | ||
{loader: 'css-loader', options: {sourceMap: true}}, | ||
{loader: 'postcss-loader', options: {sourceMap: true}}, | ||
{loader: 'sass-loader', options: {sourceMap: true}}] : | ||
[{loader: 'ignore-loader'}], | ||
}]); | ||
if (cssPrep) { | ||
config.module.rules = config.module.rules.concat([{ | ||
test: new RegExp(`\.${cssPrepExt}$`), | ||
use: dev ? [ | ||
{loader: 'isomorphic-style-loader'}, | ||
{loader: 'css-loader', options: {sourceMap: true}}, | ||
{loader: 'postcss-loader', options: {sourceMap: true}}, | ||
{loader: `${cssPrep}-loader`, options: {sourceMap: true}}] : | ||
[{loader: 'ignore-loader'}], | ||
}]); | ||
} | ||
} else if (platform.hasAny('web')) { | ||
@@ -381,14 +392,16 @@ const backendUrl = options.backendUrl.replace('{ip}', ip.address()); | ||
}; | ||
config.module.rules = config.module.rules.concat([{ | ||
test: /\.scss$/, | ||
use: dev ? [ | ||
{loader: 'style-loader'}, | ||
{loader: 'css-loader', options: {sourceMap: true, importLoaders: 1}}, | ||
{loader: 'postcss-loader', options: {sourceMap: true}}, | ||
{loader: 'sass-loader', options: {sourceMap: true}}, | ||
] : ExtractTextPlugin.extract({ | ||
fallback: 'style-loader', | ||
use: ['css-loader', 'postcss-loader', 'sass-loader'], | ||
}), | ||
}]); | ||
if (cssPrep) { | ||
config.module.rules = config.module.rules.concat([{ | ||
test: new RegExp(`\.${cssPrepExt}$`), | ||
use: dev ? [ | ||
{loader: 'style-loader'}, | ||
{loader: 'css-loader', options: {sourceMap: true, importLoaders: 1}}, | ||
{loader: 'postcss-loader', options: {sourceMap: true}}, | ||
{loader: `${cssPrep}-loader`, options: {sourceMap: true}}, | ||
] : ExtractTextPlugin.extract({ | ||
fallback: 'style-loader', | ||
use: ['css-loader', 'postcss-loader', `${cssPrep}-loader`], | ||
}), | ||
}]); | ||
} | ||
} else if (platform.hasAny(['android', 'ios'])) { | ||
@@ -395,0 +408,0 @@ const AssetResolver = requireModule('haul/src/resolvers/AssetResolver'); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
205479
0.87%3285
1.01%