Skip to content

Commit 710cf56

Browse files
alan-agius4dgp1130
authored andcommitted
1 parent 3461724 commit 710cf56

File tree

6 files changed

+109
-23
lines changed

6 files changed

+109
-23
lines changed

packages/angular_devkit/build_angular/package.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"circular-dependency-plugin": "5.2.0",
2727
"copy-webpack-plugin": "5.1.1",
2828
"core-js": "3.6.4",
29+
"css-loader": "3.5.1",
2930
"cssnano": "4.1.10",
3031
"file-loader": "6.0.0",
3132
"find-cache-dir": "3.3.1",
@@ -53,15 +54,15 @@
5354
"sass-loader": "8.0.2",
5455
"semver": "7.2.1",
5556
"source-map": "0.7.3",
56-
"source-map-support": "0.5.16",
5757
"source-map-loader": "0.2.4",
58+
"source-map-support": "0.5.16",
5859
"speed-measure-webpack-plugin": "1.3.3",
5960
"style-loader": "1.1.3",
6061
"stylus": "0.54.7",
6162
"stylus-loader": "3.0.2",
62-
"tree-kill": "1.2.2",
6363
"terser": "4.6.11",
6464
"terser-webpack-plugin": "2.3.5",
65+
"tree-kill": "1.2.2",
6566
"webpack": "4.42.1",
6667
"webpack-dev-middleware": "3.7.2",
6768
"webpack-dev-server": "3.10.3",
@@ -89,9 +90,9 @@
8990
"bootstrap": "^4.0.0",
9091
"codelyzer": "^5.0.0",
9192
"font-awesome": "^4.7.0",
92-
"jquery": "^3.3.1",
9393
"jasmine-core": "~3.5.0",
9494
"jasmine-spec-reporter": "~4.2.1",
95+
"jquery": "^3.3.1",
9596
"karma": "~4.4.1",
9697
"karma-chrome-launcher": "~3.1.0",
9798
"karma-coverage-istanbul-reporter": "~2.1.0",

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

+7-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import * as webpack from 'webpack';
1111
import {
1212
AnyComponentStyleBudgetChecker,
1313
PostcssCliResources,
14-
RawCssLoader,
1514
RemoveHashPlugin,
1615
SuppressExtractedTextChunksWebpackPlugin,
1716
} from '../../plugins/webpack';
@@ -206,7 +205,13 @@ export function getStylesConfig(wco: WebpackConfigOptions) {
206205
test,
207206
use: [
208207
buildOptions.extractCss ? MiniCssExtractPlugin.loader : require.resolve('style-loader'),
209-
RawCssLoader,
208+
{
209+
loader: require.resolve('css-loader'),
210+
options: {
211+
url: false,
212+
sourceMap: cssSourceMap,
213+
},
214+
},
210215
{
211216
loader: require.resolve('postcss-loader'),
212217
options: {

packages/angular_devkit/build_angular/src/angular-cli-files/plugins/raw-css-loader.ts

-14
This file was deleted.

packages/angular_devkit/build_angular/src/angular-cli-files/plugins/webpack.ts

-1
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,4 @@ export {
2121
} from './postcss-cli-resources';
2222

2323
import { join } from 'path';
24-
export const RawCssLoader = require.resolve(join(__dirname, 'raw-css-loader'));
2524
export const WebpackRollupLoader = require.resolve(join(__dirname, 'webpack-rollup-loader'));

packages/angular_devkit/build_angular/test/browser/styles_spec_large.ts

+36
Original file line numberDiff line numberDiff line change
@@ -603,4 +603,40 @@ describe('Browser Builder styles', () => {
603603
const { output } = await browserBuild(architect, host, target, overrides);
604604
expect(output.success).toBe(true);
605605
});
606+
607+
extensionsWithImportSupport.forEach(ext => {
608+
it(`retains declarations order in ${ext} files with extractCss when using @import`, async () => {
609+
host.writeMultipleFiles({
610+
[`src/styles-one.${ext}`]: tags.stripIndents`
611+
.one {
612+
color: #fff;
613+
}
614+
`,
615+
[`src/styles-two.${ext}`]: tags.stripIndents`
616+
.two {
617+
color: #fff;
618+
}
619+
`,
620+
// LESS doesn't support css imports by default.
621+
// See: https://github.com/less/less.js/issues/3188#issuecomment-374690630
622+
[`src/styles-three.${ext}`]: tags.stripIndents`
623+
@import ${ext === 'less' ? ' (css) ' : ''}url("https://fonts.googleapis.com/css?family=Roboto:400");
624+
.three {
625+
color: #fff;
626+
}
627+
`,
628+
});
629+
630+
const overrides = {
631+
extractCss: true,
632+
styles: [
633+
`src/styles-one.${ext}`,
634+
`src/styles-two.${ext}`,
635+
`src/styles-three.${ext}`,
636+
],
637+
};
638+
const { files } = await browserBuild(architect, host, target, overrides);
639+
expect(await files['styles.css']).toMatch(/\.one(.|\n|\r)*\.two(.|\n|\r)*\.three/);
640+
});
641+
});
606642
});

yarn.lock

+62-3
Original file line numberDiff line numberDiff line change
@@ -3947,6 +3947,25 @@ css-declaration-sorter@^4.0.1:
39473947
postcss "^7.0.1"
39483948
timsort "^0.3.0"
39493949

3950+
css-loader@3.5.1:
3951+
version "3.5.1"
3952+
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.1.tgz#db2b2336f4169edb68e6a829ad4fd36552647b77"
3953+
integrity sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig==
3954+
dependencies:
3955+
camelcase "^5.3.1"
3956+
cssesc "^3.0.0"
3957+
icss-utils "^4.1.1"
3958+
loader-utils "^1.2.3"
3959+
normalize-path "^3.0.0"
3960+
postcss "^7.0.27"
3961+
postcss-modules-extract-imports "^2.0.0"
3962+
postcss-modules-local-by-default "^3.0.2"
3963+
postcss-modules-scope "^2.2.0"
3964+
postcss-modules-values "^3.0.0"
3965+
postcss-value-parser "^4.0.3"
3966+
schema-utils "^2.6.5"
3967+
semver "^6.3.0"
3968+
39503969
css-parse@~2.0.0:
39513970
version "2.0.0"
39523971
resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4"
@@ -6013,6 +6032,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
60136032
dependencies:
60146033
safer-buffer ">= 2.1.2 < 3"
60156034

6035+
icss-utils@^4.0.0, icss-utils@^4.1.1:
6036+
version "4.1.1"
6037+
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
6038+
integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==
6039+
dependencies:
6040+
postcss "^7.0.14"
6041+
60166042
ieee754@^1.1.4:
60176043
version "1.1.13"
60186044
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
@@ -9356,6 +9382,39 @@ postcss-minify-selectors@^4.0.2:
93569382
postcss "^7.0.0"
93579383
postcss-selector-parser "^3.0.0"
93589384

9385+
postcss-modules-extract-imports@^2.0.0:
9386+
version "2.0.0"
9387+
resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e"
9388+
integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==
9389+
dependencies:
9390+
postcss "^7.0.5"
9391+
9392+
postcss-modules-local-by-default@^3.0.2:
9393+
version "3.0.2"
9394+
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915"
9395+
integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==
9396+
dependencies:
9397+
icss-utils "^4.1.1"
9398+
postcss "^7.0.16"
9399+
postcss-selector-parser "^6.0.2"
9400+
postcss-value-parser "^4.0.0"
9401+
9402+
postcss-modules-scope@^2.2.0:
9403+
version "2.2.0"
9404+
resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee"
9405+
integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==
9406+
dependencies:
9407+
postcss "^7.0.6"
9408+
postcss-selector-parser "^6.0.0"
9409+
9410+
postcss-modules-values@^3.0.0:
9411+
version "3.0.0"
9412+
resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10"
9413+
integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==
9414+
dependencies:
9415+
icss-utils "^4.0.0"
9416+
postcss "^7.0.6"
9417+
93599418
postcss-normalize-charset@^4.0.1:
93609419
version "4.0.1"
93619420
resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4"
@@ -9475,7 +9534,7 @@ postcss-selector-parser@^3.0.0:
94759534
indexes-of "^1.0.1"
94769535
uniq "^1.0.1"
94779536

9478-
postcss-selector-parser@^6.0.2:
9537+
postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
94799538
version "6.0.2"
94809539
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
94819540
integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==
@@ -9519,12 +9578,12 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3:
95199578
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
95209579
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
95219580

9522-
postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3:
9581+
postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3:
95239582
version "4.0.3"
95249583
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d"
95259584
integrity sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==
95269585

9527-
"postcss@5 - 7", postcss@7.0.27, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.27:
9586+
"postcss@5 - 7", postcss@7.0.27, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6:
95289587
version "7.0.27"
95299588
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9"
95309589
integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==

0 commit comments

Comments
 (0)