Skip to content

Commit d8d6785

Browse files
committed
build: update node and yarn to latest stable versions
Some CI jobs currently fail because db283f1 removed Node v11 from the supported node versions. Some of CI jobs use Node V11 though, so they currently fail. e.g. https://circleci.com/gh/angular/components/89692. In order to fix this, we ensure that we use consistent versions. For Node, we use the current active LTS version (v12). And for Yarn, we use the latest stable yarn version.
1 parent d6e7893 commit d8d6785

File tree

7 files changed

+41
-126
lines changed

7 files changed

+41
-126
lines changed

.circleci/config.yml

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,76 +7,71 @@
77
# To validate changes, use an online parser, eg.
88
# http://yaml-online-parser.appspot.com/
99

10-
var_1: &docker_image circleci/node:10.16
10+
var_1: &docker_image circleci/node:12.9.1
11+
var_2: &docker-firefox-image circleci/node:12.9.1-browsers
1112

1213
# **Note**: When updating the beginning of the cache key, also update the cache key to match
1314
# the new cache key prefix. This allows us to take advantage of CircleCI's fallback caching.
1415
# Read more here: https://circleci.com/docs/2.0/caching/#restoring-cache.
15-
var_2: &cache_key v4-ng-mat-{{ checksum "WORKSPACE" }}-{{ checksum "yarn.lock" }}
16-
var_3: &cache_fallback_key v4-ng-mat-
16+
var_3: &cache_key v4-ng-mat-{{ checksum "WORKSPACE" }}-{{ checksum "yarn.lock" }}
17+
var_4: &cache_fallback_key v4-ng-mat-
1718

1819
# Settings common to each job
19-
var_4: &job_defaults
20+
var_5: &job_defaults
2021
working_directory: ~/ng
2122
docker:
2223
- image: *docker_image
2324

2425
# Job step for checking out the source code from GitHub. This also ensures that the source code
2526
# is rebased on top of master.
26-
var_5: &checkout_code
27+
var_6: &checkout_code
2728
checkout:
2829
# After checkout, rebase on top of master. By default, PRs are not rebased on top of master,
2930
# which we want. See https://discuss.circleci.com/t/1662
3031
post: git pull --ff-only origin "refs/pull/${CI_PULL_REQUEST//*pull\//}/merge"
3132

3233
# Restores the cache that could be available for the current Yarn lock file. The cache usually
3334
# includes the node modules and the Bazel repository cache.
34-
var_6: &restore_cache
35+
var_7: &restore_cache
3536
restore_cache:
3637
keys:
3738
- *cache_key
3839
- *cache_fallback_key
3940

4041
# Saves the cache for the current Yarn lock file. We store the node modules and the Bazel
4142
# repository cache in order to make subsequent builds faster.
42-
var_7: &save_cache
43+
var_8: &save_cache
4344
save_cache:
4445
key: *cache_key
4546
paths:
4647
- "node_modules"
4748
- "~/bazel_repository_cache"
4849

4950
# Decryption token that is used to decode the GCP credentials file in ".circleci/gcp_token".
50-
var_8: &gcp_decrypt_token "angular"
51+
var_9: &gcp_decrypt_token "angular"
5152

5253
# Job step that ensures that the node module dependencies are installed and up-to-date. We use
5354
# Yarn with the frozen lockfile option in order to make sure that lock file and package.json are
5455
# in sync. Unlike in Travis, we don't need to manually purge the node modules if stale because
5556
# CircleCI automatically discards the cache if the checksum of the lock file has changed.
56-
var_9: &yarn_install
57+
var_10: &yarn_install
5758
run:
5859
name: "Installing project dependencies"
5960
command: yarn install --frozen-lockfile --non-interactive
6061

6162
# Anchor that can be used to download and install Yarn globally in the bash environment.
62-
var_10: &yarn_download
63+
var_11: &yarn_download
6364
run:
6465
name: "Downloading and installing Yarn"
6566
command: |
6667
touch $BASH_ENV
67-
curl -o- -L https://yarnpkg.com/install.sh | PROFILE=$BASH_ENV bash -s -- --version "1.17.3"
68+
curl -o- -L https://yarnpkg.com/install.sh | PROFILE=$BASH_ENV bash -s -- --version "1.19.1"
6869
# Sets up the Bazel config which is specific for CircleCI builds.
69-
var_11: &setup_bazel_ci_config
70+
var_12: &setup_bazel_ci_config
7071
run:
7172
name: "Setting up Bazel configuration for CI"
7273
command: |
7374
echo "import %workspace%/.circleci/bazel.rc" >> ./.bazelrc
74-
# Sets up a different Docker image that includes a moe recent Firefox version which
75-
# is needed for headless testing.
76-
var_12: &docker-firefox-image
77-
# TODO(devversion): Temporarily use a image that includes Firefox 62 because the
78-
# ngcontainer image does include an old Firefox version that does not support headless.
79-
- image: circleci/node:11.4.0-browsers
8075
8176
# Attaches the release output which has been stored in the workspace to the current job.
8277
# https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs
@@ -369,7 +364,8 @@ jobs:
369364
# Job that runs the local browser tests against the Angular Github snapshots
370365
# ----------------------------------------------------------------------------
371366
snapshot_tests_local_browsers:
372-
docker: *docker-firefox-image
367+
docker:
368+
- image: *docker-firefox-image
373369
resource_class: xlarge
374370
environment:
375371
GCP_DECRYPT_TOKEN: *gcp_decrypt_token

WORKSPACE

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,17 @@ load("@build_bazel_rules_nodejs//:defs.bzl", "check_bazel_version", "node_reposi
2525
check_bazel_version("0.27.0")
2626

2727
node_repositories(
28+
node_repositories = {
29+
"12.9.1-darwin_amd64": ("node-v12.9.1-darwin-x64.tar.gz", "node-v12.9.1-darwin-x64", "9aaf29d30056e2233fd15dfac56eec12e8342d91bb6c13d54fb5e599383dddb9"),
30+
"12.9.1-linux_amd64": ("node-v12.9.1-linux-x64.tar.xz", "node-v12.9.1-linux-x64", "680a1263c9f5f91adadcada549f0a9c29f1b26d09658d2b501c334c3f63719e5"),
31+
"12.9.1-windows_amd64": ("node-v12.9.1-win-x64.zip", "node-v12.9.1-win-x64", "6a4e54bda091bd02dbd8ff1b9f6671e036297da012a53891e3834d4bf4bed297"),
32+
},
2833
# For deterministic builds, specify explicit NodeJS and Yarn versions.
29-
node_version = "10.16.0",
34+
node_version = "12.9.1",
3035
yarn_repositories = {
31-
"1.17.3": ("yarn-v1.17.3.tar.gz", "yarn-v1.17.3", "e3835194409f1b3afa1c62ca82f561f1c29d26580c9e220c36866317e043c6f3"),
36+
"1.19.1": ("yarn-v1.19.1.tar.gz", "yarn-v1.19.1", "34293da6266f2aae9690d59c2d764056053ff7eebc56b80b8df05010c3da9343"),
3237
},
33-
yarn_version = "1.17.3",
38+
yarn_version = "1.19.1",
3439
)
3540

3641
yarn_install(

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
},
1010
"license": "MIT",
1111
"engines": {
12-
"node": "^10.13.0",
13-
"yarn": ">= 1.17.3"
12+
"node": "^12.0.0",
13+
"yarn": ">= 1.19.1"
1414
},
1515
"scripts": {
1616
"postinstall": "node --preserve-symlinks --preserve-symlinks-main tools/bazel/postinstall-patches.js | ivy-ngcc --properties main",
@@ -134,7 +134,7 @@
134134
"minimist": "^1.2.0",
135135
"mock-fs": "^4.7.0",
136136
"moment": "^2.18.1",
137-
"node-sass": "^4.11.0",
137+
"node-sass": "^4.12.0",
138138
"parse5": "^5.0.0",
139139
"protractor": "^5.4.2",
140140
"resolve-bin": "^0.4.0",
@@ -158,6 +158,7 @@
158158
"vrsource-tslint-rules": "5.1.1"
159159
},
160160
"resolutions": {
161-
"dgeni-packages/typescript": "3.5.3"
161+
"dgeni-packages/typescript": "3.5.3",
162+
"**/graceful-fs": "4.2.2"
162163
}
163164
}

tools/public_api_guard/cdk/a11y.d.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,13 @@ export declare class FocusKeyManager<T> extends ListKeyManager<FocusableOption &
5454
export declare class FocusMonitor implements OnDestroy {
5555
constructor(_ngZone: NgZone, _platform: Platform);
5656
_onBlur(event: FocusEvent, element: HTMLElement): void;
57-
focusVia(element: ElementRef<HTMLElement>, origin: FocusOrigin, options?: FocusOptions): void;
5857
focusVia(element: HTMLElement, origin: FocusOrigin, options?: FocusOptions): void;
59-
monitor(element: ElementRef<HTMLElement>, checkChildren?: boolean): Observable<FocusOrigin>;
58+
focusVia(element: ElementRef<HTMLElement>, origin: FocusOrigin, options?: FocusOptions): void;
6059
monitor(element: HTMLElement, checkChildren?: boolean): Observable<FocusOrigin>;
60+
monitor(element: ElementRef<HTMLElement>, checkChildren?: boolean): Observable<FocusOrigin>;
6161
ngOnDestroy(): void;
62-
stopMonitoring(element: ElementRef<HTMLElement>): void;
6362
stopMonitoring(element: HTMLElement): void;
63+
stopMonitoring(element: ElementRef<HTMLElement>): void;
6464
}
6565

6666
export interface FocusOptions {
@@ -119,8 +119,8 @@ export declare class ListKeyManager<T extends ListKeyManagerOption> {
119119
setNextItemActive(): void;
120120
setPreviousItemActive(): void;
121121
skipPredicate(predicate: (item: T) => boolean): this;
122-
updateActiveItem(item: T): void;
123122
updateActiveItem(index: number): void;
123+
updateActiveItem(item: T): void;
124124
withAllowedModifierKeys(keys: ListKeyManagerModifierKey[]): this;
125125
withHorizontalOrientation(direction: 'ltr' | 'rtl' | null): this;
126126
withTypeAhead(debounceInterval?: number): this;
@@ -143,10 +143,10 @@ export declare function LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY(): null;
143143

144144
export declare class LiveAnnouncer implements OnDestroy {
145145
constructor(elementToken: any, _ngZone: NgZone, _document: any, _defaultOptions?: LiveAnnouncerDefaultOptions | undefined);
146+
announce(message: string): Promise<void>;
146147
announce(message: string, politeness?: AriaLivePoliteness): Promise<void>;
147148
announce(message: string, duration?: number): Promise<void>;
148149
announce(message: string, politeness?: AriaLivePoliteness, duration?: number): Promise<void>;
149-
announce(message: string): Promise<void>;
150150
clear(): void;
151151
ngOnDestroy(): void;
152152
}

tools/public_api_guard/cdk/testing.d.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ export declare abstract class ComponentHarness {
1919
protected locatorFor<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T>;
2020
protected locatorForAll(selector: string): AsyncFactoryFn<TestElement[]>;
2121
protected locatorForAll<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T[]>;
22-
protected locatorForOptional<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T | null>;
2322
protected locatorForOptional(selector: string): AsyncFactoryFn<TestElement | null>;
23+
protected locatorForOptional<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T | null>;
2424
protected waitForTasksOutsideAngular(): Promise<void>;
2525
}
2626

@@ -47,12 +47,12 @@ export declare abstract class HarnessEnvironment<E> implements HarnessLoader, Lo
4747
harnessLoaderFor(selector: string): Promise<HarnessLoader>;
4848
harnessLoaderForAll(selector: string): Promise<HarnessLoader[]>;
4949
harnessLoaderForOptional(selector: string): Promise<HarnessLoader | null>;
50-
locatorFor<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T>;
5150
locatorFor(selector: string): AsyncFactoryFn<TestElement>;
52-
locatorForAll<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T[]>;
51+
locatorFor<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T>;
5352
locatorForAll(selector: string): AsyncFactoryFn<TestElement[]>;
54-
locatorForOptional<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T | null>;
53+
locatorForAll<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T[]>;
5554
locatorForOptional(selector: string): AsyncFactoryFn<TestElement | null>;
55+
locatorForOptional<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T | null>;
5656
abstract waitForTasksOutsideAngular(): Promise<void>;
5757
}
5858

@@ -86,8 +86,8 @@ export interface LocatorFactory {
8686
locatorFor<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T>;
8787
locatorForAll(selector: string): AsyncFactoryFn<TestElement[]>;
8888
locatorForAll<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T[]>;
89-
locatorForOptional<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T | null>;
9089
locatorForOptional(selector: string): AsyncFactoryFn<TestElement | null>;
90+
locatorForOptional<T extends ComponentHarness>(harnessType: ComponentHarnessConstructor<T> | HarnessPredicate<T>): AsyncFactoryFn<T | null>;
9191
waitForTasksOutsideAngular(): Promise<void>;
9292
}
9393

tools/public_api_guard/material/bottom-sheet.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ export declare class MatBottomSheet implements OnDestroy {
77
constructor(_overlay: Overlay, _injector: Injector, _parentBottomSheet: MatBottomSheet, _location?: Location | undefined, _defaultOptions?: MatBottomSheetConfig<any> | undefined);
88
dismiss(): void;
99
ngOnDestroy(): void;
10-
open<T, D = any, R = any>(template: TemplateRef<T>, config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;
1110
open<T, D = any, R = any>(component: ComponentType<T>, config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;
11+
open<T, D = any, R = any>(template: TemplateRef<T>, config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;
1212
}
1313

1414
export declare const matBottomSheetAnimations: {

yarn.lock

Lines changed: 2 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -5502,28 +5502,11 @@ got@^6.7.1:
55025502
unzip-response "^2.0.1"
55035503
url-parse-lax "^1.0.0"
55045504

5505-
graceful-fs@^3.0.0:
5506-
version "3.0.11"
5507-
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
5508-
integrity sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=
5509-
dependencies:
5510-
natives "^1.1.0"
5511-
5512-
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
5513-
version "4.1.15"
5514-
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
5515-
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
5516-
5517-
graceful-fs@^4.2.0:
5505+
[email protected], graceful-fs@^3.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@~1.2.0:
55185506
version "4.2.2"
55195507
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02"
55205508
integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==
55215509

5522-
graceful-fs@~1.2.0:
5523-
version "1.2.3"
5524-
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
5525-
integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=
5526-
55275510
graphviz@^0.0.8:
55285511
version "0.0.8"
55295512
resolved "https://registry.yarnpkg.com/graphviz/-/graphviz-0.0.8.tgz#e599e40733ef80e1653bfe89a5f031ecf2aa4aaa"
@@ -7253,11 +7236,6 @@ lodash._shimkeys@~2.4.1:
72537236
dependencies:
72547237
lodash._objecttypes "~2.4.1"
72557238

7256-
lodash.assign@^4.2.0:
7257-
version "4.2.0"
7258-
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
7259-
integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=
7260-
72617239
lodash.clonedeep@^4.3.2:
72627240
version "4.5.0"
72637241
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
@@ -7397,11 +7375,6 @@ lodash.keys@~2.4.1:
73977375
lodash._shimkeys "~2.4.1"
73987376
lodash.isobject "~2.4.1"
73997377

7400-
lodash.mergewith@^4.6.0:
7401-
version "4.6.1"
7402-
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
7403-
integrity sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==
7404-
74057378
lodash.noop@^3.0.1:
74067379
version "3.0.1"
74077380
resolved "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-3.0.1.tgz#38188f4d650a3a474258439b96ec45b32617133c"
@@ -8185,11 +8158,6 @@ [email protected]:
81858158
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
81868159
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
81878160

8188-
nan@^2.10.0:
8189-
version "2.11.1"
8190-
resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766"
8191-
integrity sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==
8192-
81938161
nan@^2.12.1:
81948162
version "2.13.2"
81958163
resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
@@ -8227,11 +8195,6 @@ nash@^3.0.0:
82278195
lodash "^4.17.5"
82288196
minimist "^1.1.0"
82298197

8230-
natives@^1.1.0:
8231-
version "1.1.6"
8232-
resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb"
8233-
integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==
8234-
82358198
needle@^2.2.1:
82368199
version "2.3.1"
82378200
resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.1.tgz#d272f2f4034afb9c4c9ab1379aabc17fc85c9388"
@@ -8336,7 +8299,7 @@ node-releases@^1.1.23:
83368299
dependencies:
83378300
semver "^5.3.0"
83388301

8339-
node-sass@^4.10.0:
8302+
node-sass@^4.10.0, node-sass@^4.12.0, node-sass@^4.8.3:
83408303
version "4.12.0"
83418304
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017"
83428305
integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==
@@ -8359,56 +8322,6 @@ node-sass@^4.10.0:
83598322
stdout-stream "^1.4.0"
83608323
"true-case-path" "^1.0.2"
83618324

8362-
node-sass@^4.11.0:
8363-
version "4.11.0"
8364-
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.11.0.tgz#183faec398e9cbe93ba43362e2768ca988a6369a"
8365-
integrity sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==
8366-
dependencies:
8367-
async-foreach "^0.1.3"
8368-
chalk "^1.1.1"
8369-
cross-spawn "^3.0.0"
8370-
gaze "^1.0.0"
8371-
get-stdin "^4.0.1"
8372-
glob "^7.0.3"
8373-
in-publish "^2.0.0"
8374-
lodash.assign "^4.2.0"
8375-
lodash.clonedeep "^4.3.2"
8376-
lodash.mergewith "^4.6.0"
8377-
meow "^3.7.0"
8378-
mkdirp "^0.5.1"
8379-
nan "^2.10.0"
8380-
node-gyp "^3.8.0"
8381-
npmlog "^4.0.0"
8382-
request "^2.88.0"
8383-
sass-graph "^2.2.4"
8384-
stdout-stream "^1.4.0"
8385-
"true-case-path" "^1.0.2"
8386-
8387-
node-sass@^4.8.3:
8388-
version "4.10.0"
8389-
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.10.0.tgz#dcc2b364c0913630945ccbf7a2bbf1f926effca4"
8390-
integrity sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q==
8391-
dependencies:
8392-
async-foreach "^0.1.3"
8393-
chalk "^1.1.1"
8394-
cross-spawn "^3.0.0"
8395-
gaze "^1.0.0"
8396-
get-stdin "^4.0.1"
8397-
glob "^7.0.3"
8398-
in-publish "^2.0.0"
8399-
lodash.assign "^4.2.0"
8400-
lodash.clonedeep "^4.3.2"
8401-
lodash.mergewith "^4.6.0"
8402-
meow "^3.7.0"
8403-
mkdirp "^0.5.1"
8404-
nan "^2.10.0"
8405-
node-gyp "^3.8.0"
8406-
npmlog "^4.0.0"
8407-
request "^2.88.0"
8408-
sass-graph "^2.2.4"
8409-
stdout-stream "^1.4.0"
8410-
"true-case-path" "^1.0.2"
8411-
84128325
node-source-walk@^4.0.0, node-source-walk@^4.2.0:
84138326
version "4.2.0"
84148327
resolved "https://registry.yarnpkg.com/node-source-walk/-/node-source-walk-4.2.0.tgz#c2efe731ea8ba9c03c562aa0a9d984e54f27bc2c"

0 commit comments

Comments
 (0)