BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
6fa10e6a
Unverified
Commit
6fa10e6a
authored
Mar 21, 2018
by
Phil Hughes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added prettierignore file
Closes #44483
parent
9b4a1db9
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
73 deletions
+57
-73
.prettierignore
.prettierignore
+6
-0
webpack.config.js
config/webpack.config.js
+51
-73
No files found.
.prettierignore
0 → 100644
View file @
6fa10e6a
/node_modules/
/public/
/vendor/
karma.config.js
webpack.config.js
svg.config.js
config/webpack.config.js
View file @
6fa10e6a
...
...
@@ -9,14 +9,12 @@ const StatsWriterPlugin = require('webpack-stats-plugin').StatsWriterPlugin;
const
CopyWebpackPlugin
=
require
(
'copy-webpack-plugin'
);
const
CompressionPlugin
=
require
(
'compression-webpack-plugin'
);
const
NameAllModulesPlugin
=
require
(
'name-all-modules-plugin'
);
const
BundleAnalyzerPlugin
=
require
(
'webpack-bundle-analyzer'
)
.
BundleAnalyzerPlugin
;
const
BundleAnalyzerPlugin
=
require
(
'webpack-bundle-analyzer'
).
BundleAnalyzerPlugin
;
const
WatchMissingNodeModulesPlugin
=
require
(
'react-dev-utils/WatchMissingNodeModulesPlugin'
);
const
ROOT_PATH
=
path
.
resolve
(
__dirname
,
'..'
);
const
IS_PRODUCTION
=
process
.
env
.
NODE_ENV
===
'production'
;
const
IS_DEV_SERVER
=
process
.
argv
.
join
(
' '
).
indexOf
(
'webpack-dev-server'
)
!==
-
1
;
const
IS_DEV_SERVER
=
process
.
argv
.
join
(
' '
).
indexOf
(
'webpack-dev-server'
)
!==
-
1
;
const
DEV_SERVER_HOST
=
process
.
env
.
DEV_SERVER_HOST
||
'localhost'
;
const
DEV_SERVER_PORT
=
parseInt
(
process
.
env
.
DEV_SERVER_PORT
,
10
)
||
3808
;
const
DEV_SERVER_LIVERELOAD
=
process
.
env
.
DEV_SERVER_LIVERELOAD
!==
'false'
;
...
...
@@ -29,10 +27,10 @@ let watchAutoEntries = [];
function
generateEntries
()
{
// generate automatic entry points
const
autoEntries
=
{};
const
pageEntries
=
glob
.
sync
(
'pages/**/index.js'
,
{
cwd
:
path
.
join
(
ROOT_PATH
,
'app/assets/javascripts'
),
});
watchAutoEntries
=
[
path
.
join
(
ROOT_PATH
,
'app/assets/javascripts/pages/'
)
];
const
pageEntries
=
glob
.
sync
(
'pages/**/index.js'
,
{
cwd
:
path
.
join
(
ROOT_PATH
,
'app/assets/javascripts'
)
});
watchAutoEntries
=
[
path
.
join
(
ROOT_PATH
,
'app/assets/javascripts/pages/'
),
];
function
generateAutoEntries
(
path
,
prefix
=
'.'
)
{
const
chunkPath
=
path
.
replace
(
/
\/
index
\.
js$/
,
''
);
...
...
@@ -40,16 +38,16 @@ function generateEntries() {
autoEntries
[
chunkName
]
=
`
${
prefix
}
/
${
path
}
`
;
}
pageEntries
.
forEach
(
path
=>
generateAutoEntries
(
path
));
pageEntries
.
forEach
(
(
path
)
=>
generateAutoEntries
(
path
));
autoEntriesCount
=
Object
.
keys
(
autoEntries
).
length
;
const
manualEntries
=
{
common
:
'./commons/index.js'
,
main
:
'./main.js'
,
raven
:
'./raven/index.js'
,
webpack_runtime
:
'./webpack.js'
,
ide
:
'./ide/index.js'
,
common
:
'./commons/index.js'
,
main
:
'./main.js'
,
raven
:
'./raven/index.js'
,
webpack_runtime
:
'./webpack.js'
,
ide
:
'./ide/index.js'
,
};
return
Object
.
assign
(
manualEntries
,
autoEntries
);
...
...
@@ -63,12 +61,8 @@ const config = {
output
:
{
path
:
path
.
join
(
ROOT_PATH
,
'public/assets/webpack'
),
publicPath
:
'/assets/webpack/'
,
filename
:
IS_PRODUCTION
?
'[name].[chunkhash].bundle.js'
:
'[name].bundle.js'
,
chunkFilename
:
IS_PRODUCTION
?
'[name].[chunkhash].chunk.js'
:
'[name].chunk.js'
,
filename
:
IS_PRODUCTION
?
'[name].[chunkhash].bundle.js'
:
'[name].bundle.js'
,
chunkFilename
:
IS_PRODUCTION
?
'[name].[chunkhash].chunk.js'
:
'[name].chunk.js'
,
},
module
:
{
...
...
@@ -97,8 +91,8 @@ const config = {
{
loader
:
'worker-loader'
,
options
:
{
inline
:
true
,
}
,
inline
:
true
}
},
{
loader
:
'babel-loader'
},
],
...
...
@@ -109,7 +103,7 @@ const config = {
loader
:
'file-loader'
,
options
:
{
name
:
'[name].[hash].[ext]'
,
}
,
}
},
{
test
:
/katex.css$/
,
...
...
@@ -119,8 +113,8 @@ const config = {
{
loader
:
'css-loader'
,
options
:
{
name
:
'[name].[hash].[ext]'
,
}
,
name
:
'[name].[hash].[ext]'
}
},
],
},
...
...
@@ -130,18 +124,15 @@ const config = {
loader
:
'file-loader'
,
options
:
{
name
:
'[name].[hash].[ext]'
,
}
,
}
},
{
test
:
/monaco-editor
\/\w
+
\/
vs
\/
loader
\.
js$/
,
use
:
[
{
loader
:
'exports-loader'
,
options
:
'l.global'
},
{
loader
:
'imports-loader'
,
options
:
'l=>{},this=>l,AMDLoader=>this,module=>undefined'
,
},
{
loader
:
'imports-loader'
,
options
:
'l=>{},this=>l,AMDLoader=>this,module=>undefined'
},
],
}
,
}
],
noParse
:
[
/monaco-editor
\/\w
+
\/
vs
\/
/
],
...
...
@@ -159,10 +150,10 @@ const config = {
source
:
false
,
chunks
:
false
,
modules
:
false
,
assets
:
true
,
assets
:
true
});
return
JSON
.
stringify
(
stats
,
null
,
2
);
}
,
}
}),
// prevent pikaday from including moment.js
...
...
@@ -179,7 +170,7 @@ const config = {
new
NameAllModulesPlugin
(),
// assign deterministic chunk ids
new
webpack
.
NamedChunksPlugin
(
chunk
=>
{
new
webpack
.
NamedChunksPlugin
(
(
chunk
)
=>
{
if
(
chunk
.
name
)
{
return
chunk
.
name
;
}
...
...
@@ -196,12 +187,9 @@ const config = {
const
pagesBase
=
path
.
join
(
ROOT_PATH
,
'app/assets/javascripts/pages'
);
if
(
m
.
resource
.
indexOf
(
pagesBase
)
===
0
)
{
moduleNames
.
push
(
path
.
relative
(
pagesBase
,
m
.
resource
)
.
replace
(
/
\/
index
\.[
a-z
]
+$/
,
''
)
.
replace
(
/
\/
/g
,
'__'
),
);
moduleNames
.
push
(
path
.
relative
(
pagesBase
,
m
.
resource
)
.
replace
(
/
\/
index
\.[
a-z
]
+$/
,
''
)
.
replace
(
/
\/
/g
,
'__'
));
}
else
{
moduleNames
.
push
(
path
.
relative
(
m
.
context
,
m
.
resource
));
}
...
...
@@ -209,8 +197,7 @@ const config = {
chunk
.
forEachModule
(
collectModuleNames
);
const
hash
=
crypto
.
createHash
(
'sha256'
)
const
hash
=
crypto
.
createHash
(
'sha256'
)
.
update
(
moduleNames
.
join
(
'_'
))
.
digest
(
'hex'
);
...
...
@@ -228,17 +215,10 @@ const config = {
// copy pre-compiled vendor libraries verbatim
new
CopyWebpackPlugin
([
{
from
:
path
.
join
(
ROOT_PATH
,
`node_modules/monaco-editor/
${
IS_PRODUCTION
?
'min'
:
'dev'
}
/vs`
,
),
from
:
path
.
join
(
ROOT_PATH
,
`node_modules/monaco-editor/
${
IS_PRODUCTION
?
'min'
:
'dev'
}
/vs`
),
to
:
'monaco-editor/vs'
,
transform
:
function
(
content
,
path
)
{
if
(
/
\.
js$/
.
test
(
path
)
&&
!
/worker/i
.
test
(
path
)
&&
!
/typescript/i
.
test
(
path
)
)
{
if
(
/
\.
js$/
.
test
(
path
)
&&
!
/worker/i
.
test
(
path
)
&&
!
/typescript/i
.
test
(
path
))
{
return
(
'(function(){
\
n'
+
'var define = this.define, require = this.require;
\
n'
+
...
...
@@ -248,23 +228,23 @@ const config = {
);
}
return
content
;
}
,
}
,
}
}
]),
],
resolve
:
{
extensions
:
[
'.js'
],
alias
:
{
'~'
:
path
.
join
(
ROOT_PATH
,
'app/assets/javascripts'
),
emojis
:
path
.
join
(
ROOT_PATH
,
'fixtures/emojis'
),
empty_states
:
path
.
join
(
ROOT_PATH
,
'app/views/shared/empty_states'
),
icons
:
path
.
join
(
ROOT_PATH
,
'app/views/shared/icons'
),
images
:
path
.
join
(
ROOT_PATH
,
'app/assets/images'
),
vendor
:
path
.
join
(
ROOT_PATH
,
'vendor/assets/javascripts'
),
vue
$
:
'vue/dist/vue.esm.js'
,
spec
:
path
.
join
(
ROOT_PATH
,
'spec/javascripts'
),
}
,
'~'
:
path
.
join
(
ROOT_PATH
,
'app/assets/javascripts'
),
'emojis'
:
path
.
join
(
ROOT_PATH
,
'fixtures/emojis'
),
'empty_states'
:
path
.
join
(
ROOT_PATH
,
'app/views/shared/empty_states'
),
'icons'
:
path
.
join
(
ROOT_PATH
,
'app/views/shared/icons'
),
'images'
:
path
.
join
(
ROOT_PATH
,
'app/assets/images'
),
'vendor'
:
path
.
join
(
ROOT_PATH
,
'vendor/assets/javascripts'
),
'vue$'
:
'vue/dist/vue.esm.js'
,
'spec'
:
path
.
join
(
ROOT_PATH
,
'spec/javascripts'
),
}
},
// sqljs requires fs
...
...
@@ -279,14 +259,14 @@ if (IS_PRODUCTION) {
new
webpack
.
NoEmitOnErrorsPlugin
(),
new
webpack
.
LoaderOptionsPlugin
({
minimize
:
true
,
debug
:
false
,
debug
:
false
}),
new
webpack
.
optimize
.
UglifyJsPlugin
({
sourceMap
:
true
,
sourceMap
:
true
}),
new
webpack
.
DefinePlugin
({
'process.env'
:
{
NODE_ENV
:
JSON
.
stringify
(
'production'
)
}
,
})
,
'process.env'
:
{
NODE_ENV
:
JSON
.
stringify
(
'production'
)
}
})
);
// compression can require a lot of compute time and is disabled in CI
...
...
@@ -304,7 +284,7 @@ if (IS_DEV_SERVER) {
headers
:
{
'Access-Control-Allow-Origin'
:
'*'
},
stats
:
'errors-only'
,
hot
:
DEV_SERVER_LIVERELOAD
,
inline
:
DEV_SERVER_LIVERELOAD
,
inline
:
DEV_SERVER_LIVERELOAD
};
config
.
plugins
.
push
(
// watch node_modules for changes if we encounter a missing module compile error
...
...
@@ -320,14 +300,12 @@ if (IS_DEV_SERVER) {
];
// report our auto-generated bundle count
console
.
log
(
`
${
autoEntriesCount
}
entries from '/pages' automatically added to webpack output.`
,
);
console
.
log
(
`
${
autoEntriesCount
}
entries from '/pages' automatically added to webpack output.`
);
callback
();
})
;
})
},
}
,
}
);
if
(
DEV_SERVER_LIVERELOAD
)
{
config
.
plugins
.
push
(
new
webpack
.
HotModuleReplacementPlugin
());
...
...
@@ -342,7 +320,7 @@ if (WEBPACK_REPORT) {
openAnalyzer
:
false
,
reportFilename
:
path
.
join
(
ROOT_PATH
,
'webpack-report/index.html'
),
statsFilename
:
path
.
join
(
ROOT_PATH
,
'webpack-report/stats.json'
),
})
,
})
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment