Skip to content

Commit 4fab30f

Browse files
devversionmmalerba
authored andcommitted
build: update node and yarn to latest stable versions (#17474)
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 71b99a0 commit 4fab30f

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
@@ -368,7 +363,8 @@ jobs:
368363
# Job that runs the local browser tests against the Angular Github snapshots
369364
# ----------------------------------------------------------------------------
370365
snapshot_tests_local_browsers:
371-
docker: *docker-firefox-image
366+
docker:
367+
- image: *docker-firefox-image
372368
resource_class: xlarge
373369
environment:
374370
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 && ngcc --properties main --create-ivy-entry-points",
@@ -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.6.4"
161+
"dgeni-packages/typescript": "3.6.4",
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
@@ -5430,28 +5430,11 @@ got@^6.7.1:
54305430
unzip-response "^2.0.1"
54315431
url-parse-lax "^1.0.0"
54325432

5433-
graceful-fs@^3.0.0:
5434-
version "3.0.11"
5435-
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
5436-
integrity sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=
5437-
dependencies:
5438-
natives "^1.1.0"
5439-
5440-
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:
5441-
version "4.1.15"
5442-
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
5443-
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
5444-
5445-
graceful-fs@^4.2.0:
5433+
[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:
54465434
version "4.2.2"
54475435
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02"
54485436
integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==
54495437

5450-
graceful-fs@~1.2.0:
5451-
version "1.2.3"
5452-
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
5453-
integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=
5454-
54555438
graphviz@^0.0.8:
54565439
version "0.0.8"
54575440
resolved "https://registry.yarnpkg.com/graphviz/-/graphviz-0.0.8.tgz#e599e40733ef80e1653bfe89a5f031ecf2aa4aaa"
@@ -7181,11 +7164,6 @@ lodash._shimkeys@~2.4.1:
71817164
dependencies:
71827165
lodash._objecttypes "~2.4.1"
71837166

7184-
lodash.assign@^4.2.0:
7185-
version "4.2.0"
7186-
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
7187-
integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=
7188-
71897167
lodash.clonedeep@^4.3.2:
71907168
version "4.5.0"
71917169
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
@@ -7325,11 +7303,6 @@ lodash.keys@~2.4.1:
73257303
lodash._shimkeys "~2.4.1"
73267304
lodash.isobject "~2.4.1"
73277305

7328-
lodash.mergewith@^4.6.0:
7329-
version "4.6.1"
7330-
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
7331-
integrity sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==
7332-
73337306
lodash.noop@^3.0.1:
73347307
version "3.0.1"
73357308
resolved "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-3.0.1.tgz#38188f4d650a3a474258439b96ec45b32617133c"
@@ -8113,11 +8086,6 @@ [email protected]:
81138086
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
81148087
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
81158088

8116-
nan@^2.10.0:
8117-
version "2.11.1"
8118-
resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766"
8119-
integrity sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==
8120-
81218089
nan@^2.12.1:
81228090
version "2.13.2"
81238091
resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
@@ -8155,11 +8123,6 @@ nash@^3.0.0:
81558123
lodash "^4.17.5"
81568124
minimist "^1.1.0"
81578125

8158-
natives@^1.1.0:
8159-
version "1.1.6"
8160-
resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb"
8161-
integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==
8162-
81638126
needle@^2.2.1:
81648127
version "2.3.1"
81658128
resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.1.tgz#d272f2f4034afb9c4c9ab1379aabc17fc85c9388"
@@ -8264,7 +8227,7 @@ node-releases@^1.1.23:
82648227
dependencies:
82658228
semver "^5.3.0"
82668229

8267-
node-sass@^4.10.0:
8230+
node-sass@^4.10.0, node-sass@^4.12.0, node-sass@^4.8.3:
82688231
version "4.12.0"
82698232
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017"
82708233
integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==
@@ -8287,56 +8250,6 @@ node-sass@^4.10.0:
82878250
stdout-stream "^1.4.0"
82888251
"true-case-path" "^1.0.2"
82898252

8290-
node-sass@^4.11.0:
8291-
version "4.11.0"
8292-
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.11.0.tgz#183faec398e9cbe93ba43362e2768ca988a6369a"
8293-
integrity sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==
8294-
dependencies:
8295-
async-foreach "^0.1.3"
8296-
chalk "^1.1.1"
8297-
cross-spawn "^3.0.0"
8298-
gaze "^1.0.0"
8299-
get-stdin "^4.0.1"
8300-
glob "^7.0.3"
8301-
in-publish "^2.0.0"
8302-
lodash.assign "^4.2.0"
8303-
lodash.clonedeep "^4.3.2"
8304-
lodash.mergewith "^4.6.0"
8305-
meow "^3.7.0"
8306-
mkdirp "^0.5.1"
8307-
nan "^2.10.0"
8308-
node-gyp "^3.8.0"
8309-
npmlog "^4.0.0"
8310-
request "^2.88.0"
8311-
sass-graph "^2.2.4"
8312-
stdout-stream "^1.4.0"
8313-
"true-case-path" "^1.0.2"
8314-
8315-
node-sass@^4.8.3:
8316-
version "4.10.0"
8317-
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.10.0.tgz#dcc2b364c0913630945ccbf7a2bbf1f926effca4"
8318-
integrity sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q==
8319-
dependencies:
8320-
async-foreach "^0.1.3"
8321-
chalk "^1.1.1"
8322-
cross-spawn "^3.0.0"
8323-
gaze "^1.0.0"
8324-
get-stdin "^4.0.1"
8325-
glob "^7.0.3"
8326-
in-publish "^2.0.0"
8327-
lodash.assign "^4.2.0"
8328-
lodash.clonedeep "^4.3.2"
8329-
lodash.mergewith "^4.6.0"
8330-
meow "^3.7.0"
8331-
mkdirp "^0.5.1"
8332-
nan "^2.10.0"
8333-
node-gyp "^3.8.0"
8334-
npmlog "^4.0.0"
8335-
request "^2.88.0"
8336-
sass-graph "^2.2.4"
8337-
stdout-stream "^1.4.0"
8338-
"true-case-path" "^1.0.2"
8339-
83408253
node-source-walk@^4.0.0, node-source-walk@^4.2.0:
83418254
version "4.2.0"
83428255
resolved "https://registry.yarnpkg.com/node-source-walk/-/node-source-walk-4.2.0.tgz#c2efe731ea8ba9c03c562aa0a9d984e54f27bc2c"

0 commit comments

Comments
 (0)