Skip to content

Commit 8c71aff

Browse files
alan-agius4dgp1130
authored andcommittedApr 10, 2020

File tree

6 files changed

+122
-67
lines changed

6 files changed

+122
-67
lines changed
 

‎packages/angular_devkit/build_angular/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@
2323
"browserslist": "^4.9.1",
2424
"cacache": "15.0.0",
2525
"caniuse-lite": "^1.0.30001032",
26-
"cssnano": "4.1.10",
2726
"circular-dependency-plugin": "5.2.0",
2827
"copy-webpack-plugin": "5.1.1",
2928
"core-js": "3.6.4",
29+
"css-loader": "3.5.1",
30+
"cssnano": "4.1.10",
3031
"file-loader": "6.0.0",
3132
"find-cache-dir": "3.3.1",
3233
"glob": "7.1.6",
@@ -52,7 +53,6 @@
5253
"sass-loader": "8.0.2",
5354
"semver": "7.1.3",
5455
"source-map": "0.7.3",
55-
"source-map-support": "0.5.16",
5656
"source-map-loader": "0.2.4",
5757
"speed-measure-webpack-plugin": "1.3.1",
5858
"style-loader": "1.1.3",
@@ -87,9 +87,9 @@
8787
"codelyzer": "^5.0.0",
8888
"bootstrap": "^4.0.0",
8989
"font-awesome": "^4.7.0",
90-
"jquery": "^3.3.1",
9190
"jasmine-core": "~3.5.0",
9291
"jasmine-spec-reporter": "~4.2.1",
92+
"jquery": "^3.3.1",
9393
"karma": "~4.4.1",
9494
"karma-chrome-launcher": "~3.1.0",
9595
"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
@@ -20,5 +20,4 @@ export {
2020
} from './postcss-cli-resources';
2121

2222
import { join } from 'path';
23-
export const RawCssLoader = require.resolve(join(__dirname, 'raw-css-loader'));
2423
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

+76-47
Original file line numberDiff line numberDiff line change
@@ -3710,6 +3710,25 @@ css-declaration-sorter@^4.0.1:
37103710
postcss "^7.0.1"
37113711
timsort "^0.3.0"
37123712

3713+
css-loader@3.5.1:
3714+
version "3.5.1"
3715+
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.1.tgz#db2b2336f4169edb68e6a829ad4fd36552647b77"
3716+
integrity sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig==
3717+
dependencies:
3718+
camelcase "^5.3.1"
3719+
cssesc "^3.0.0"
3720+
icss-utils "^4.1.1"
3721+
loader-utils "^1.2.3"
3722+
normalize-path "^3.0.0"
3723+
postcss "^7.0.27"
3724+
postcss-modules-extract-imports "^2.0.0"
3725+
postcss-modules-local-by-default "^3.0.2"
3726+
postcss-modules-scope "^2.2.0"
3727+
postcss-modules-values "^3.0.0"
3728+
postcss-value-parser "^4.0.3"
3729+
schema-utils "^2.6.5"
3730+
semver "^6.3.0"
3731+
37133732
css-parse@~2.0.0:
37143733
version "2.0.0"
37153734
resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4"
@@ -4166,11 +4185,6 @@ destroy@~1.0.4:
41664185
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
41674186
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
41684187

4169-
detect-libc@^1.0.2:
4170-
version "1.0.3"
4171-
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
4172-
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
4173-
41744188
detect-node@^2.0.4:
41754189
version "2.0.4"
41764190
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
@@ -5756,13 +5770,20 @@ husky@^4.0.10:
57565770
slash "^3.0.0"
57575771
which-pm-runs "^1.0.0"
57585772

5759-
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
5773+
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
57605774
version "0.4.24"
57615775
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
57625776
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
57635777
dependencies:
57645778
safer-buffer ">= 2.1.2 < 3"
57655779

5780+
icss-utils@^4.0.0, icss-utils@^4.1.1:
5781+
version "4.1.1"
5782+
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
5783+
integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==
5784+
dependencies:
5785+
postcss "^7.0.14"
5786+
57665787
ieee754@^1.1.4:
57675788
version "1.1.13"
57685789
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
@@ -7827,15 +7848,6 @@ ncp@~2.0.0:
78277848
resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
78287849
integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=
78297850

7830-
needle@^2.2.1:
7831-
version "2.4.1"
7832-
resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.1.tgz#14af48732463d7475696f937626b1b993247a56a"
7833-
integrity sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==
7834-
dependencies:
7835-
debug "^3.2.6"
7836-
iconv-lite "^0.4.4"
7837-
sax "^1.2.4"
7838-
78397851
negotiator@0.6.2:
78407852
version "0.6.2"
78417853
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
@@ -7936,22 +7948,6 @@ node-libs-browser@^2.2.1:
79367948
util "^0.11.0"
79377949
vm-browserify "^1.0.1"
79387950

7939-
node-pre-gyp@*:
7940-
version "0.14.0"
7941-
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
7942-
integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==
7943-
dependencies:
7944-
detect-libc "^1.0.2"
7945-
mkdirp "^0.5.1"
7946-
needle "^2.2.1"
7947-
nopt "^4.0.1"
7948-
npm-packlist "^1.1.6"
7949-
npmlog "^4.0.2"
7950-
rc "^1.2.7"
7951-
rimraf "^2.6.1"
7952-
semver "^5.3.0"
7953-
tar "^4.4.2"
7954-
79557951
node-releases@^1.1.53:
79567952
version "1.1.53"
79577953
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4"
@@ -8057,7 +8053,7 @@ npm-package-arg@8.0.1, npm-package-arg@^8.0.0:
80578053
semver "^5.6.0"
80588054
validate-npm-package-name "^3.0.0"
80598055

8060-
npm-packlist@^1.1.12, npm-packlist@^1.1.6:
8056+
npm-packlist@^1.1.12:
80618057
version "1.4.8"
80628058
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
80638059
integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
@@ -8123,7 +8119,7 @@ npm-run-path@^2.0.0:
81238119
dependencies:
81248120
path-key "^2.0.0"
81258121

8126-
"npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@^4.0.2:
8122+
"npmlog@2 || ^3.1.0 || ^4.0.0":
81278123
version "4.1.2"
81288124
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
81298125
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
@@ -8982,6 +8978,39 @@ postcss-minify-selectors@^4.0.2:
89828978
postcss "^7.0.0"
89838979
postcss-selector-parser "^3.0.0"
89848980

8981+
postcss-modules-extract-imports@^2.0.0:
8982+
version "2.0.0"
8983+
resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e"
8984+
integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==
8985+
dependencies:
8986+
postcss "^7.0.5"
8987+
8988+
postcss-modules-local-by-default@^3.0.2:
8989+
version "3.0.2"
8990+
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915"
8991+
integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==
8992+
dependencies:
8993+
icss-utils "^4.1.1"
8994+
postcss "^7.0.16"
8995+
postcss-selector-parser "^6.0.2"
8996+
postcss-value-parser "^4.0.0"
8997+
8998+
postcss-modules-scope@^2.2.0:
8999+
version "2.2.0"
9000+
resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee"
9001+
integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==
9002+
dependencies:
9003+
postcss "^7.0.6"
9004+
postcss-selector-parser "^6.0.0"
9005+
9006+
postcss-modules-values@^3.0.0:
9007+
version "3.0.0"
9008+
resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10"
9009+
integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==
9010+
dependencies:
9011+
icss-utils "^4.0.0"
9012+
postcss "^7.0.6"
9013+
89859014
postcss-normalize-charset@^4.0.1:
89869015
version "4.0.1"
89879016
resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4"
@@ -9101,7 +9130,7 @@ postcss-selector-parser@^3.0.0:
91019130
indexes-of "^1.0.1"
91029131
uniq "^1.0.1"
91039132

9104-
postcss-selector-parser@^6.0.2:
9133+
postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
91059134
version "6.0.2"
91069135
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
91079136
integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==
@@ -9145,12 +9174,12 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3:
91459174
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
91469175
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
91479176

9148-
postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3:
9177+
postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3:
91499178
version "4.0.3"
91509179
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d"
91519180
integrity sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==
91529181

9153-
"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.26, postcss@^7.0.27:
9182+
"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.26, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6:
91549183
version "7.0.27"
91559184
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9"
91569185
integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==
@@ -9484,7 +9513,7 @@ raw-loader@4.0.0:
94849513
loader-utils "^1.2.3"
94859514
schema-utils "^2.5.0"
94869515

9487-
rc@^1.2.7, rc@^1.2.8:
9516+
rc@^1.2.8:
94889517
version "1.2.8"
94899518
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
94909519
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
@@ -10105,7 +10134,7 @@ saucelabs@^1.5.0:
1010510134
dependencies:
1010610135
https-proxy-agent "^2.2.1"
1010710136

10108-
sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4:
10137+
sax@>=0.6.0, sax@~1.2.4:
1010910138
version "1.2.4"
1011010139
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
1011110140
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
@@ -10506,14 +10535,6 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2, source-map-resolve@^0.5.3:
1050610535
source-map-url "^0.4.0"
1050710536
urix "^0.1.0"
1050810537

10509-
source-map-support@0.5.16, source-map-support@^0.5.0, source-map-support@^0.5.3, source-map-support@^0.5.5, source-map-support@~0.5.12:
10510-
version "0.5.16"
10511-
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
10512-
integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
10513-
dependencies:
10514-
buffer-from "^1.0.0"
10515-
source-map "^0.6.0"
10516-
1051710538
source-map-support@0.5.9:
1051810539
version "0.5.9"
1051910540
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f"
@@ -10522,6 +10543,14 @@ source-map-support@0.5.9:
1052210543
buffer-from "^1.0.0"
1052310544
source-map "^0.6.0"
1052410545

10546+
source-map-support@^0.5.0, source-map-support@^0.5.3, source-map-support@^0.5.5, source-map-support@~0.5.12:
10547+
version "0.5.16"
10548+
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
10549+
integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
10550+
dependencies:
10551+
buffer-from "^1.0.0"
10552+
source-map "^0.6.0"
10553+
1052510554
source-map-support@~0.4.0:
1052610555
version "0.4.18"
1052710556
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
@@ -11079,7 +11108,7 @@ tapable@^1.0.0, tapable@^1.1.3:
1107911108
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
1108011109
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
1108111110

11082-
tar@^4.4.10, tar@^4.4.2:
11111+
tar@^4.4.10:
1108311112
version "4.4.13"
1108411113
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
1108511114
integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==

0 commit comments

Comments
 (0)
Please sign in to comment.