forked from instructure/canvas-lms
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathwebpack.test.config.js
55 lines (47 loc) · 1.69 KB
/
webpack.test.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
process.env.NODE_ENV = 'test'
const path = require('path')
const webpack = require('webpack')
const testWebpackConfig = require('./frontend_build/baseWebpackConfig')
testWebpackConfig.entry = undefined
testWebpackConfig.plugins.push(new webpack.EnvironmentPlugin({
JSPEC_PATH: null,
JSPEC_GROUP: null,
A11Y_REPORT: false,
SENTRY_DSN: null,
GIT_COMMIT: null
}))
if (process.env.SENTRY_DSN) {
const SentryCliPlugin = require('@sentry/webpack-plugin');
testWebpackConfig.plugins.push(new SentryCliPlugin({
release: process.env.GIT_COMMIT,
include: [
path.resolve(__dirname, 'public/javascripts'),
path.resolve(__dirname, 'app/jsx'),
path.resolve(__dirname, 'app/coffeescripts'),
path.resolve(__dirname, 'spec/javascripts/jsx'),
path.resolve(__dirname, 'spec/coffeescripts')
],
ignore: [
path.resolve(__dirname, 'public/javascripts/translations'),
/bower\//
]
}));
}
testWebpackConfig.resolve.alias['spec/jsx'] = path.resolve(__dirname, 'spec/javascripts/jsx')
testWebpackConfig.module.rules.unshift({
test: [
/\/spec\/coffeescripts\//,
/\/spec_canvas\/coffeescripts\//,
// Some plugins use a special spec_canvas path for their specs
/\/spec\/javascripts\/jsx\//,
/\/ember\/.*\/tests\//
],
// Our spec files expect qunit's global `test`, `module`, `asyncTest` and `start` variables.
// These imports loaders make it so they are avalable as local variables
// inside of a closure, without truly making them globals.
// We should get rid of this and just change our actual source to s/test/qunit.test/ and s/module/qunit.module/
loaders: [
'imports-loader?test=>QUnit.test',
]
})
module.exports = testWebpackConfig