Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
5ccdfb41
Commit
5ccdfb41
authored
Mar 22, 2018
by
Phil Hughes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
EE port of prettier-ignore
parent
4dc6892e
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 @
5ccdfb41
/node_modules/
/public/
/vendor/
karma.config.js
webpack.config.js
svg.config.js
config/webpack.config.js
View file @
5ccdfb41
...
...
@@ -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,7 +38,7 @@ function generateEntries() {
autoEntries
[
chunkName
]
=
`
${
prefix
}
/
${
path
}
`
;
}
pageEntries
.
forEach
(
path
=>
generateAutoEntries
(
path
));
pageEntries
.
forEach
(
(
path
)
=>
generateAutoEntries
(
path
));
// EE-specific auto entries
const
eePageEntries
=
glob
.
sync
(
'
pages/**/index.js
'
,
{
...
...
@@ -54,11 +52,11 @@ function generateEntries() {
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
);
...
...
@@ -72,12 +70,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
:
{
...
...
@@ -106,8 +100,8 @@ const config = {
{
loader
:
'
worker-loader
'
,
options
:
{
inline
:
true
,
}
,
inline
:
true
}
},
{
loader
:
'
babel-loader
'
},
],
...
...
@@ -118,7 +112,7 @@ const config = {
loader
:
'
file-loader
'
,
options
:
{
name
:
'
[name].[hash].[ext]
'
,
}
,
}
},
{
test
:
/katex.css$/
,
...
...
@@ -128,8 +122,8 @@ const config = {
{
loader
:
'
css-loader
'
,
options
:
{
name
:
'
[name].[hash].[ext]
'
,
}
,
name
:
'
[name].[hash].[ext]
'
}
},
],
},
...
...
@@ -139,18 +133,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
\/
/
],
...
...
@@ -168,10 +159,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
...
...
@@ -188,7 +179,7 @@ const config = {
new
NameAllModulesPlugin
(),
// assign deterministic chunk ids
new
webpack
.
NamedChunksPlugin
(
chunk
=>
{
new
webpack
.
NamedChunksPlugin
(
(
chunk
)
=>
{
if
(
chunk
.
name
)
{
return
chunk
.
name
;
}
...
...
@@ -205,12 +196,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
));
}
...
...
@@ -218,8 +206,7 @@ const config = {
chunk
.
forEachModule
(
collectModuleNames
);
const
hash
=
crypto
.
createHash
(
'
sha256
'
)
const
hash
=
crypto
.
createHash
(
'
sha256
'
)
.
update
(
moduleNames
.
join
(
'
_
'
))
.
digest
(
'
hex
'
);
...
...
@@ -237,17 +224,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
'
+
...
...
@@ -257,29 +237,29 @@ 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
'
),
// EE-only
ee
:
path
.
join
(
ROOT_PATH
,
'
ee/app/assets/javascripts
'
),
ee_empty_states
:
path
.
join
(
ROOT_PATH
,
'
ee/app/views/shared/empty_states
'
),
ee_icons
:
path
.
join
(
ROOT_PATH
,
'
ee/app/views/shared/icons
'
),
ee_images
:
path
.
join
(
ROOT_PATH
,
'
ee/app/assets/images
'
),
}
,
}
},
// sqljs requires fs
...
...
@@ -294,14 +274,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
...
...
@@ -319,7 +299,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
...
...
@@ -335,14 +315,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
());
...
...
@@ -357,7 +335,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