hauler 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.babelrc +1 -0
- data/.eslintrc +5 -1
- data/.gitignore +1 -0
- data/.nvmrc +1 -0
- data/Makefile +6 -1
- data/bin/dev-server.js +6 -4
- data/bin/read-config.js +15 -0
- data/bin/update-scripts.js +1 -1
- data/lib/generators/hauler/install_generator.rb +5 -1
- data/lib/generators/hauler/install_npm_generator.rb +1 -0
- data/lib/generators/hauler/templates/config/hauler.js +9 -5
- data/lib/generators/hauler/templates/config/initializers/hauler.rb +1 -0
- data/lib/generators/hauler/templates/eslintrc.json +1 -3
- data/lib/generators/hauler/templates/webpack.config.js +4 -3
- data/lib/hauler/helpers/hauler_helper.rb +76 -0
- data/lib/hauler/railtie.rb +11 -18
- data/lib/hauler/version.rb +6 -1
- data/lib/hauler.rb +3 -0
- data/make-package.js +11 -1
- data/package.json +24 -9
- data/src/decls/hauler.js +7 -0
- data/src/decls/webpack.js +16 -11
- data/src/defaults/compiler_config_factory.js +5 -96
- data/src/defaults/dev_server_config_factory.js +3 -4
- data/src/defaults/project_config_factory.js +109 -0
- data/src/index.js +25 -104
- data/src/utils/__tests__/extract_config-test.js +132 -0
- data/src/utils/__tests__/merge_config-test.js +75 -0
- data/src/utils/__tests__/path-test.js +26 -0
- data/src/utils/extract_config.js +103 -0
- data/src/utils/index.js +6 -0
- data/src/utils/merge_config.js +34 -0
- data/src/utils/misc.js +61 -0
- data/src/utils/path.js +73 -0
- data/wallaby.js +20 -0
- metadata +16 -4
- data/lib/hauler/asset_tag_helper.rb +0 -27
- data/src/utils.js +0 -103
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 44c97c03d5cd92496e95c6114b6b41b87bbf4d2f
|
4
|
+
data.tar.gz: ec2bfd1a32429b15d41d61d971e9665cc3604834
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36aed3fdde813b4acc9f3d414f04ab227406eec3dc77de06555f80e982f6a3d67ba5ce4a7116b3372a53ede0c88c3b4da234622d84696cd5bca11bd6f566b716
|
7
|
+
data.tar.gz: 01e66bba70893eef6eae9d74c8611fce337670135e5bd6c7e1776533c509b3a983db4e35547d744681279d1bbdf73a50ad512b6f63c41948f34d51cc7eb21897
|
data/.babelrc
CHANGED
data/.eslintrc
CHANGED
data/.gitignore
CHANGED
data/.nvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
6.3.1
|
data/Makefile
CHANGED
data/bin/dev-server.js
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
2
|
|
3
|
+
const hauler = require('hauler');
|
3
4
|
const webpack = require('webpack');
|
4
5
|
const WebpackDevServer = require('webpack-dev-server');
|
5
6
|
|
6
|
-
const env =
|
7
|
-
const
|
8
|
-
|
9
|
-
const
|
7
|
+
const env = hauler.getEnvName();
|
8
|
+
const railsRoot = process.argv[2];
|
9
|
+
|
10
|
+
const devServerConfig = hauler.getDevServerConfig(env, railsRoot);
|
11
|
+
const compilerConfig = hauler.getCompilerConfig(env, railsRoot);
|
10
12
|
|
11
13
|
// console.log(devServerConfig);
|
12
14
|
// console.log(compilerConfig);
|
data/bin/read-config.js
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
// @flow
|
3
|
+
'use strict';
|
4
|
+
|
5
|
+
const railsRoot = process.argv[2];
|
6
|
+
|
7
|
+
const hauler = require('hauler');
|
8
|
+
const env = hauler.getEnvName();
|
9
|
+
|
10
|
+
const devServerConfig = hauler.getDevServerConfig(env, railsRoot);
|
11
|
+
const compilerConfig = hauler.getCompilerConfig(env, railsRoot);
|
12
|
+
const config = { devServerConfig, compilerConfig };
|
13
|
+
const output = JSON.stringify(config);
|
14
|
+
|
15
|
+
process.stdout.write(output);
|
data/bin/update-scripts.js
CHANGED
@@ -5,7 +5,11 @@ module Hauler
|
|
5
5
|
desc 'Copy Hauler configuration files'
|
6
6
|
source_root File.expand_path('../templates', __FILE__)
|
7
7
|
|
8
|
-
def
|
8
|
+
def copy_hauler_initializer
|
9
|
+
template 'config/initializers/hauler.rb'
|
10
|
+
end
|
11
|
+
|
12
|
+
def copy_hauler_config
|
9
13
|
template 'config/hauler.js'
|
10
14
|
end
|
11
15
|
|
@@ -0,0 +1 @@
|
|
1
|
+
Rails.application.config.hauler.dev_server = Rails.env.development?
|
@@ -1,5 +1,6 @@
|
|
1
1
|
|
2
|
-
const
|
3
|
-
const env =
|
2
|
+
const hauler = require('hauler');
|
3
|
+
const env = hauler.getEnvName();
|
4
4
|
|
5
|
-
|
5
|
+
const config = hauler.getCompilerConfig(env, __dirname);
|
6
|
+
module.exports = config;
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'active_support/concern'
|
2
|
+
require 'action_view/helpers'
|
3
|
+
|
4
|
+
module Hauler
|
5
|
+
module Helpers
|
6
|
+
#:nodoc:
|
7
|
+
module HaulerHelper
|
8
|
+
extend ::ActiveSupport::Concern
|
9
|
+
|
10
|
+
include ::ActionView::Helpers
|
11
|
+
|
12
|
+
included do
|
13
|
+
def hauler_dev_server?
|
14
|
+
Rails.application.config.hauler.dev_server
|
15
|
+
end
|
16
|
+
|
17
|
+
def hauler_webpack_config
|
18
|
+
return nil if !hauler_dev_server?
|
19
|
+
@hauler_webpack_config ||= JSON.parse(`hauler-read-config`)
|
20
|
+
end
|
21
|
+
|
22
|
+
def hauler_entries_names
|
23
|
+
@hauler_entries_names ||= begin
|
24
|
+
entries = hauler_webpack_config.try(:[], 'compilerConfig').try(:[], 'entry')
|
25
|
+
entries.try(:keys) || []
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def hauler_entry?(path)
|
30
|
+
entry = path.gsub(/\.(css|js)$/, '')
|
31
|
+
hauler_entries_names.include?(entry)
|
32
|
+
end
|
33
|
+
|
34
|
+
def hauler_public_path
|
35
|
+
@hauler_public_path ||= begin
|
36
|
+
public_path = hauler_webpack_config.try(:[], 'devServerConfig').try(:[], 'publicPath')
|
37
|
+
public_path.gsub(%r{/$}, '')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def hauler_format_entry_path(entry)
|
42
|
+
output = entry
|
43
|
+
output += '.js' unless entry.end_with?('.js')
|
44
|
+
output.gsub(%r{^/}, '')
|
45
|
+
end
|
46
|
+
|
47
|
+
alias_method :orig_asset_path, :asset_path
|
48
|
+
|
49
|
+
def hauler_asset_path(path, options = {})
|
50
|
+
return nil unless options[:type].to_s == 'javascript'
|
51
|
+
return nil unless hauler_dev_server? && hauler_entry?(path)
|
52
|
+
[hauler_public_path, hauler_format_entry_path(path)].join('/')
|
53
|
+
end
|
54
|
+
|
55
|
+
def asset_path(source, options = {})
|
56
|
+
hauler_asset_path(source, options) || orig_asset_path(source, options)
|
57
|
+
end
|
58
|
+
|
59
|
+
def path_to_asset(*args)
|
60
|
+
asset_path(*args)
|
61
|
+
end
|
62
|
+
|
63
|
+
alias_method :orig_stylesheet_link_tag, :stylesheet_link_tag
|
64
|
+
|
65
|
+
def stylesheet_link_tag(*sources)
|
66
|
+
return orig_stylesheet_link_tag(*sources) unless hauler_dev_server?
|
67
|
+
options = sources.extract_options!.stringify_keys
|
68
|
+
sources.map do |source|
|
69
|
+
next if hauler_entry?(source)
|
70
|
+
orig_stylesheet_link_tag(source, options)
|
71
|
+
end.compact.join("\n").html_safe
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
data/lib/hauler/railtie.rb
CHANGED
@@ -1,27 +1,20 @@
|
|
1
|
+
require 'hauler'
|
1
2
|
require 'rails'
|
2
|
-
require '
|
3
|
-
require 'active_support/
|
4
|
-
require 'hauler/asset_tag_helper'
|
5
|
-
# require 'yaml'
|
6
|
-
# require 'erb'
|
3
|
+
require 'hauler/helpers/hauler_helper'
|
4
|
+
require 'active_support/core_ext/hash/indifferent_access'
|
7
5
|
|
6
|
+
# :nodoc:
|
8
7
|
module Hauler
|
9
|
-
|
10
|
-
class Railtie <
|
8
|
+
# :nodoc:
|
9
|
+
class Railtie < Rails::Railtie
|
11
10
|
config.hauler = ActiveSupport::OrderedOptions.new
|
12
|
-
config.hauler.dev_server =
|
11
|
+
config.hauler.dev_server = false
|
13
12
|
|
14
|
-
|
15
|
-
# yaml = Pathname.new(Rails.root.join('config', 'assets.yml'))
|
16
|
-
# assets_config = YAML.load(ERB.new(yaml.read).result) || {}
|
17
|
-
# assets_config = assets_config[Rails.env]
|
13
|
+
config.eager_load_namespaces << Hauler
|
18
14
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
::ActiveSupport.on_load :action_view do
|
24
|
-
include ::Hauler::AssetTagHelper
|
15
|
+
initializer 'hauler.helpers' do
|
16
|
+
::ActiveSupport.on_load(:action_view) do
|
17
|
+
include Hauler::Helpers::HaulerHelper
|
25
18
|
end
|
26
19
|
end
|
27
20
|
end
|
data/lib/hauler/version.rb
CHANGED
data/lib/hauler.rb
CHANGED
data/make-package.js
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
#!/usr/bin/env node --use_strict
|
2
2
|
|
3
3
|
const fs = require('fs');
|
4
|
+
const path = require('path');
|
4
5
|
|
5
|
-
const pkg = require('./package.json');
|
6
|
+
const pkg = Object.assign({}, require('./package.json'));
|
6
7
|
delete pkg.scripts;
|
7
8
|
Object.assign(pkg, {
|
8
9
|
main: 'index.js',
|
@@ -11,3 +12,12 @@ Object.assign(pkg, {
|
|
11
12
|
fs.writeFileSync('dist/package.json', JSON.stringify(pkg, null, 2));
|
12
13
|
fs.writeFileSync('dist/LICENSE.txt', fs.readFileSync('./LICENSE.txt').toString());
|
13
14
|
fs.writeFileSync('dist/README.md', fs.readFileSync('./README.md').toString());
|
15
|
+
|
16
|
+
fs.mkdirSync('dist/bin');
|
17
|
+
Object.keys(pkg.bin).forEach(key => {
|
18
|
+
const binaryPath = pkg.bin[key];
|
19
|
+
fs.writeFileSync(
|
20
|
+
path.join('dist', binaryPath),
|
21
|
+
fs.readFileSync(binaryPath).toString()
|
22
|
+
);
|
23
|
+
});
|
data/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "hauler",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.2.0",
|
4
4
|
"description": "NodeJS binary for the hauler gem",
|
5
5
|
"author": "Arturo Guzman @guzart",
|
6
6
|
"license": "MIT",
|
@@ -10,28 +10,43 @@
|
|
10
10
|
},
|
11
11
|
"main": "dist/index.js",
|
12
12
|
"bin": {
|
13
|
+
"hauler-read-config": "bin/read-config.js",
|
13
14
|
"hauler-server": "bin/dev-server.js",
|
14
|
-
"hauler-update-scripts": "bin/update-scripts"
|
15
|
-
},
|
16
|
-
"directories": {
|
17
|
-
"test": "test"
|
15
|
+
"hauler-update-scripts": "bin/update-scripts.js"
|
18
16
|
},
|
19
17
|
"scripts": {
|
20
18
|
"build": "npm-run-all clean compile generate_package",
|
21
19
|
"clean": "rm -rf ./dist",
|
22
|
-
"compile": "./node_modules/babel-cli/bin/babel.js --out-dir=./dist --ignore=./decls ./src",
|
20
|
+
"compile": "./node_modules/babel-cli/bin/babel.js --out-dir=./dist --ignore=./decls,**/__tests__ ./src",
|
23
21
|
"dev": "npm-run-all clean watch",
|
24
22
|
"generate_package": "node make-package.js",
|
25
|
-
"test": "
|
26
|
-
"watch": "./node_modules/babel-cli/bin/babel.js --watch=./src --ignore=./decls --out-dir=./dist"
|
23
|
+
"test": "jest --verbose",
|
24
|
+
"watch": "./node_modules/babel-cli/bin/babel.js --watch=./src --ignore=./decls,**/__tests__ --out-dir=./dist"
|
25
|
+
},
|
26
|
+
"peerDependencies": {
|
27
|
+
"extract-text-webpack-plugin": "~ 1.0",
|
28
|
+
"webpack": "~ 1.0",
|
29
|
+
"webpack-dev-server": "~ 1.0",
|
30
|
+
"whatwg-fetch": "~ 1.0"
|
27
31
|
},
|
28
32
|
"devDependencies": {
|
29
33
|
"babel-cli": "^6.11.4",
|
34
|
+
"babel-core": "^6.11.4",
|
30
35
|
"babel-eslint": "^6.1.2",
|
36
|
+
"babel-jest": "^14.1.0",
|
31
37
|
"babel-plugin-transform-flow-strip-types": "^6.8.0",
|
38
|
+
"babel-polyfill": "^6.9.1",
|
39
|
+
"babel-preset-es2015": "^6.9.0",
|
40
|
+
"babel-preset-stage-2": "^6.11.0",
|
32
41
|
"eslint": "^3.2.0",
|
33
42
|
"eslint-plugin-flow-vars": "^0.5.0",
|
34
43
|
"eslint-plugin-flowtype": "^2.4.0",
|
35
|
-
"
|
44
|
+
"extract-text-webpack-plugin": "^1.0.1",
|
45
|
+
"flow-bin": "^0.30.0",
|
46
|
+
"jest-cli": "^14.1.0",
|
47
|
+
"npm-run-all": "^2.3.0",
|
48
|
+
"webpack": "^1.13.1",
|
49
|
+
"webpack-dev-server": "^1.14.1",
|
50
|
+
"whatwg-fetch": "^1.0.0"
|
36
51
|
}
|
37
52
|
}
|
data/src/decls/hauler.js
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
export type Hash = {[name: string]: any};
|
2
|
+
|
3
|
+
export type HostInfo = {
|
4
|
+
host: string,
|
5
|
+
port: number,
|
6
|
+
};
|
1
7
|
|
2
8
|
export type ProjectConfig = {
|
3
9
|
entries?: {[name: string]: string | Array<string>},
|
@@ -8,6 +14,7 @@ export type ProjectConfig = {
|
|
8
14
|
prependPlugins?: Array<WebpackPlugin>,
|
9
15
|
plugins?: Array<WebpackPlugin>,
|
10
16
|
appendPlugins?: Array<WebpackPlugin>,
|
17
|
+
publicPath?: string,
|
11
18
|
devServer?: WebpackDevServerConfig,
|
12
19
|
compiler?: WebpackConfig,
|
13
20
|
};
|
data/src/decls/webpack.js
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
// @flow
|
2
2
|
|
3
|
+
// DEV SERVER
|
4
|
+
|
3
5
|
export type WebpackDevServerStatsConfig = {
|
4
6
|
colors?: boolean,
|
5
7
|
hash?: boolean,
|
@@ -29,7 +31,18 @@ export type WebpackDevServerConfig = {
|
|
29
31
|
stats?: WebpackDevServerStatsConfig,
|
30
32
|
};
|
31
33
|
|
32
|
-
|
34
|
+
// COMPILER
|
35
|
+
|
36
|
+
export type WebpackPlugin = Object;
|
37
|
+
|
38
|
+
export type WebpackLoader = {
|
39
|
+
test?: Object,
|
40
|
+
exclude?: Object,
|
41
|
+
include?: Object,
|
42
|
+
loader?: string,
|
43
|
+
loaders?: Array<string>,
|
44
|
+
query?: Object,
|
45
|
+
};
|
33
46
|
|
34
47
|
export type WebpackResolveConfig = {
|
35
48
|
alias?: Object,
|
@@ -46,14 +59,6 @@ export type WebpackResolveLoaderConfig = WebpackResolveConfig & {
|
|
46
59
|
moduleTemplates?: Array<string>,
|
47
60
|
};
|
48
61
|
|
49
|
-
export type WebpackLoader = {
|
50
|
-
test?: Object,
|
51
|
-
exclude?: Object,
|
52
|
-
include?: Object,
|
53
|
-
loader?: string,
|
54
|
-
loaders?: Array<string>,
|
55
|
-
query?: Object,
|
56
|
-
};
|
57
62
|
|
58
63
|
export type WebpackModuleConfig = {
|
59
64
|
loaders?: Array<WebpackLoader>;
|
@@ -62,8 +67,6 @@ export type WebpackModuleConfig = {
|
|
62
67
|
noParse?: Object | Array<Object>;
|
63
68
|
}
|
64
69
|
|
65
|
-
export type WebpackPlugin = Object;
|
66
|
-
|
67
70
|
export type WebpackOutputConfig = {
|
68
71
|
filename?: string,
|
69
72
|
path?: string,
|
@@ -89,6 +92,8 @@ export type WebpackOutputConfig = {
|
|
89
92
|
crossOriginLoading?: false | 'anonymous' | 'use-credentials',
|
90
93
|
};
|
91
94
|
|
95
|
+
export type WebpackEntry = string | Array<string> | { [key: string]: WebpackEntry };
|
96
|
+
|
92
97
|
export type WebpackConfig = {
|
93
98
|
context?: string,
|
94
99
|
entry?: WebpackEntry,
|
@@ -1,87 +1,7 @@
|
|
1
1
|
// @flow
|
2
2
|
|
3
|
-
|
4
|
-
const
|
5
|
-
|
6
|
-
function getPlugins(env: string) {
|
7
|
-
let plugins = [
|
8
|
-
new webpack.ProvidePlugin({ fetch: 'exports?self.fetch!whatwg-fetch' }),
|
9
|
-
new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify(env) } }),
|
10
|
-
new webpack.optimize.CommonsChunkPlugin({
|
11
|
-
name: 'vendor',
|
12
|
-
children: true,
|
13
|
-
minChunks: 2,
|
14
|
-
async: true,
|
15
|
-
}),
|
16
|
-
];
|
17
|
-
|
18
|
-
if (env === 'development') {
|
19
|
-
plugins = plugins.concat([
|
20
|
-
new webpack.NoErrorsPlugin(),
|
21
|
-
]);
|
22
|
-
}
|
23
|
-
|
24
|
-
if (env === 'production') {
|
25
|
-
plugins = plugins.concat([
|
26
|
-
new webpack.optimize.OccurrenceOrderPlugin(true),
|
27
|
-
new webpack.optimize.DedupePlugin(),
|
28
|
-
new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false } }),
|
29
|
-
new ExtractTextPlugin('[name].[contenthash].css'),
|
30
|
-
]);
|
31
|
-
}
|
32
|
-
|
33
|
-
return plugins;
|
34
|
-
}
|
35
|
-
|
36
|
-
function configFactory(env: string) {
|
37
|
-
// individual loaders so that they can be replaced separately
|
38
|
-
const javascriptLoader = {
|
39
|
-
test: /\.jsx?$/,
|
40
|
-
loader: 'babel',
|
41
|
-
exclude: /node_modules/,
|
42
|
-
query: {
|
43
|
-
presets: ['es2015', 'react', 'stage-2'],
|
44
|
-
plugins: ['transform-class-properties'],
|
45
|
-
},
|
46
|
-
};
|
47
|
-
|
48
|
-
const sassLoader = {
|
49
|
-
test: /\.scss$/,
|
50
|
-
loader: 'style!css!sass',
|
51
|
-
};
|
52
|
-
|
53
|
-
const fontLoader = {
|
54
|
-
test: /\.(eot|svg|ttf|woff|woff2)$/,
|
55
|
-
loader: 'file',
|
56
|
-
};
|
57
|
-
|
58
|
-
const imageLoader = {
|
59
|
-
test: /\.(jpg|png|gif)$/,
|
60
|
-
loaders: [
|
61
|
-
'file',
|
62
|
-
'image-webpack?{progressive:true, optimizationLevel: 7, interlaced: false, pngquant:{quality: "65-90", speed: 4}}',
|
63
|
-
],
|
64
|
-
};
|
65
|
-
|
66
|
-
if (env === 'production') {
|
67
|
-
javascriptLoader.query.plugins = javascriptLoader.query.plugins.concat([
|
68
|
-
'transform-react-remove-prop-types',
|
69
|
-
'transform-react-constant-elements',
|
70
|
-
'transform-react-inline-elements',
|
71
|
-
]);
|
72
|
-
|
73
|
-
sassLoader.loader = ExtractTextPlugin.extract(
|
74
|
-
'style',
|
75
|
-
sassLoader.loader.replace('style!', '')
|
76
|
-
);
|
77
|
-
}
|
78
|
-
|
79
|
-
const appendPlugins = [];
|
80
|
-
const plugins = getPlugins(env);
|
81
|
-
const prependPlugins = [];
|
82
|
-
|
83
|
-
// straight webpack configuration
|
84
|
-
const compiler = {
|
3
|
+
export default function defaultConfigFactory(env: string): WebpackConfig {
|
4
|
+
const config = {
|
85
5
|
output: {
|
86
6
|
filename: '[name].[chunkhash].js',
|
87
7
|
path: '~public/assets',
|
@@ -98,20 +18,9 @@ function configFactory(env: string) {
|
|
98
18
|
};
|
99
19
|
|
100
20
|
if (env === 'development') {
|
101
|
-
|
102
|
-
|
21
|
+
config.output.filename = '[name].js';
|
22
|
+
config.output.chunkFilename = '[name].chunk.js';
|
103
23
|
}
|
104
24
|
|
105
|
-
return
|
106
|
-
javascriptLoader,
|
107
|
-
sassLoader,
|
108
|
-
fontLoader,
|
109
|
-
imageLoader,
|
110
|
-
prependPlugins,
|
111
|
-
plugins,
|
112
|
-
appendPlugins,
|
113
|
-
compiler,
|
114
|
-
};
|
25
|
+
return config;
|
115
26
|
}
|
116
|
-
|
117
|
-
module.exports = configFactory;
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
// @flow
|
2
|
+
|
3
|
+
export default function defaultConfigFactory() {
|
2
4
|
return {
|
3
5
|
quiet: false,
|
4
6
|
noInfo: false,
|
@@ -6,7 +8,6 @@ function defaultConfigFactory() {
|
|
6
8
|
port: 3001,
|
7
9
|
hot: true,
|
8
10
|
inline: true,
|
9
|
-
publicPath: '/assets/',
|
10
11
|
headers: { 'AccessControl-Allow-Origin': '*' },
|
11
12
|
stats: {
|
12
13
|
colors: true,
|
@@ -16,5 +17,3 @@ function defaultConfigFactory() {
|
|
16
17
|
},
|
17
18
|
};
|
18
19
|
}
|
19
|
-
|
20
|
-
module.exports = defaultConfigFactory;
|