Skip to content

Commit e4031bc

Browse files
clydindgp1130
authored andcommitted
fix(@angular-devkit/build-angular): ensure webpack loaders use this package's versions
1 parent f3a23fc commit e4031bc

File tree

3 files changed

+10
-32
lines changed

3 files changed

+10
-32
lines changed

packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/common.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration {
301301
sourceMapUseRule = {
302302
use: [
303303
{
304-
loader: 'source-map-loader',
304+
loader: require.resolve('source-map-loader'),
305305
},
306306
],
307307
};
@@ -490,7 +490,7 @@ export function getCommonConfig(wco: WebpackConfigOptions): Configuration {
490490
rules: [
491491
{
492492
test: /\.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)$/,
493-
loader: 'file-loader',
493+
loader: require.resolve('file-loader'),
494494
options: {
495495
name: `[name]${hashFormat.file}.[ext]`,
496496
// Re-use emitted files from browser builder on the server.

packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/styles.ts

+7-20
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,6 @@ const autoprefixer = require('autoprefixer');
2121
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
2222
const postcssImports = require('postcss-import');
2323

24-
/**
25-
* Enumerate loaders and their dependencies from this file to let the dependency validator
26-
* know they are used.
27-
*
28-
* require('style-loader')
29-
* require('postcss-loader')
30-
* require('stylus')
31-
* require('stylus-loader')
32-
* require('less')
33-
* require('less-loader')
34-
* require('node-sass')
35-
* require('sass-loader')
36-
*/
3724
// tslint:disable-next-line:no-big-function
3825
export function getStylesConfig(wco: WebpackConfigOptions) {
3926
const { root, buildOptions } = wco;
@@ -138,7 +125,7 @@ export function getStylesConfig(wco: WebpackConfigOptions) {
138125
test: /\.scss$|\.sass$/,
139126
use: [
140127
{
141-
loader: 'sass-loader',
128+
loader: require.resolve('sass-loader'),
142129
options: {
143130
implementation: sassImplementation,
144131
sourceMap: cssSourceMap,
@@ -155,7 +142,7 @@ export function getStylesConfig(wco: WebpackConfigOptions) {
155142
test: /\.less$/,
156143
use: [
157144
{
158-
loader: 'less-loader',
145+
loader: require.resolve('less-loader'),
159146
options: {
160147
sourceMap: cssSourceMap,
161148
javascriptEnabled: true,
@@ -168,7 +155,7 @@ export function getStylesConfig(wco: WebpackConfigOptions) {
168155
test: /\.styl$/,
169156
use: [
170157
{
171-
loader: 'stylus-loader',
158+
loader: require.resolve('stylus-loader'),
172159
options: {
173160
sourceMap: cssSourceMap,
174161
paths: includePaths,
@@ -183,9 +170,9 @@ export function getStylesConfig(wco: WebpackConfigOptions) {
183170
exclude: globalStylePaths,
184171
test,
185172
use: [
186-
{ loader: 'raw-loader' },
173+
{ loader: require.resolve('raw-loader') },
187174
{
188-
loader: 'postcss-loader',
175+
loader: require.resolve('postcss-loader'),
189176
options: {
190177
ident: 'embedded',
191178
plugins: postcssPluginCreator,
@@ -210,10 +197,10 @@ export function getStylesConfig(wco: WebpackConfigOptions) {
210197
include: globalStylePaths,
211198
test,
212199
use: [
213-
buildOptions.extractCss ? MiniCssExtractPlugin.loader : 'style-loader',
200+
buildOptions.extractCss ? MiniCssExtractPlugin.loader : require.resolve('style-loader'),
214201
RawCssLoader,
215202
{
216-
loader: 'postcss-loader',
203+
loader: require.resolve('postcss-loader'),
217204
options: {
218205
ident: buildOptions.extractCss ? 'extracted' : 'embedded',
219206
plugins: postcssPluginCreator,

packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/test.ts

+1-10
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,6 @@ import * as webpack from 'webpack';
1212
import { WebpackConfigOptions, WebpackTestOptions } from '../build-options';
1313
import { getSourceMapDevTool, isPolyfillsEntry } from './utils';
1414

15-
16-
/**
17-
* Enumerate loaders and their dependencies from this file to let the dependency validator
18-
* know they are used.
19-
*
20-
* require('istanbul-instrumenter-loader')
21-
*
22-
*/
23-
2415
export function getTestConfig(
2516
wco: WebpackConfigOptions<WebpackTestOptions>,
2617
): webpack.Configuration {
@@ -48,7 +39,7 @@ export function getTestConfig(
4839

4940
extraRules.push({
5041
test: /\.(jsx?|tsx?)$/,
51-
loader: 'istanbul-instrumenter-loader',
42+
loader: require.resolve('istanbul-instrumenter-loader'),
5243
options: { esModules: true },
5344
enforce: 'post',
5445
exclude,

0 commit comments

Comments
 (0)