Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
GitLab
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
projects.thm.de
GitLab
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
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
73 deletions
+57
-73
.prettierignore
.prettierignore
+6
-0
config/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