From fdcbb5b43270ad46edb9ff3bac8b516b5765a118 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 26 May 2021 00:13:58 +0200 Subject: [PATCH] Bump js-yaml (#9245) --- build-scripts/rollup.js | 6 +----- gallery/src/components/demo-card.js | 4 ++-- .../demos/demo-automation-describe-action.ts | 4 ++-- .../demo-automation-describe-condition.ts | 4 ++-- .../demos/demo-automation-describe-trigger.ts | 4 ++-- hassio/src/system/hassio-host-info.ts | 4 ++-- package.json | 4 ++-- src/components/ha-yaml-editor.ts | 6 +++--- .../ha-automation-trace-blueprint-config.ts | 4 ++-- .../trace/ha-automation-trace-config.ts | 4 ++-- .../trace/ha-automation-trace-path-details.ts | 12 +++++------ .../mqtt/mqtt-discovery-payload.ts | 4 ++-- .../mqtt/mqtt-messages.ts | 4 ++-- .../event/developer-tools-event.js | 4 ++-- .../service/developer-tools-service.ts | 6 +++--- .../state/developer-tools-state.js | 10 +++++----- src/panels/lovelace/cards/hui-error-card.ts | 4 ++-- .../lovelace/editor/hui-element-editor.ts | 6 +++--- src/panels/lovelace/hui-editor.ts | 8 ++++---- src/resources/js-yaml-dump.ts | 1 + src/util/hass-attributes-util.ts | 6 +++--- yarn.lock | 20 +++++++++++++++---- 22 files changed, 68 insertions(+), 61 deletions(-) create mode 100644 src/resources/js-yaml-dump.ts diff --git a/build-scripts/rollup.js b/build-scripts/rollup.js index 7921ccc051..7d9cf93046 100644 --- a/build-scripts/rollup.js +++ b/build-scripts/rollup.js @@ -52,11 +52,7 @@ const createRollupConfig = ({ browser: true, rootDir: paths.polymer_dir, }), - commonjs({ - namedExports: { - "js-yaml": ["safeDump", "safeLoad"], - }, - }), + commonjs(), json(), babel({ ...bundle.babelOptions({ latestBuild }), diff --git a/gallery/src/components/demo-card.js b/gallery/src/components/demo-card.js index c6137fc9ed..4d9ce53899 100644 --- a/gallery/src/components/demo-card.js +++ b/gallery/src/components/demo-card.js @@ -1,7 +1,7 @@ import { html } from "@polymer/polymer/lib/utils/html-tag"; /* eslint-plugin-disable lit */ import { PolymerElement } from "@polymer/polymer/polymer-element"; -import { safeLoad } from "js-yaml"; +import { load } from "js-yaml"; import { createCardElement } from "../../../src/panels/lovelace/create-element/create-card-element"; class DemoCard extends PolymerElement { @@ -80,7 +80,7 @@ class DemoCard extends PolymerElement { card.removeChild(card.lastChild); } - const el = this._createCardElement(safeLoad(config.config)[0]); + const el = this._createCardElement(load(config.config)[0]); card.appendChild(el); this._getSize(el); } diff --git a/gallery/src/demos/demo-automation-describe-action.ts b/gallery/src/demos/demo-automation-describe-action.ts index fa0f26b547..ea9b13fff5 100644 --- a/gallery/src/demos/demo-automation-describe-action.ts +++ b/gallery/src/demos/demo-automation-describe-action.ts @@ -1,4 +1,4 @@ -import { safeDump } from "js-yaml"; +import { dump } from "js-yaml"; import { html, css, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import "../../../src/components/ha-card"; @@ -56,7 +56,7 @@ export class DemoAutomationDescribeAction extends LitElement { (conf) => html`
${describeAction(this.hass, conf as any)} -
${safeDump(conf)}
+
${dump(conf)}
` )} diff --git a/gallery/src/demos/demo-automation-describe-condition.ts b/gallery/src/demos/demo-automation-describe-condition.ts index 2faffde2c0..60f42d78e2 100644 --- a/gallery/src/demos/demo-automation-describe-condition.ts +++ b/gallery/src/demos/demo-automation-describe-condition.ts @@ -1,4 +1,4 @@ -import { safeDump } from "js-yaml"; +import { dump } from "js-yaml"; import { html, css, LitElement, TemplateResult } from "lit"; import { customElement } from "lit/decorators"; import "../../../src/components/ha-card"; @@ -26,7 +26,7 @@ export class DemoAutomationDescribeCondition extends LitElement { (conf) => html`
${describeCondition(conf as any)} -
${safeDump(conf)}
+
${dump(conf)}
` )} diff --git a/gallery/src/demos/demo-automation-describe-trigger.ts b/gallery/src/demos/demo-automation-describe-trigger.ts index c4b306632e..8a409386c0 100644 --- a/gallery/src/demos/demo-automation-describe-trigger.ts +++ b/gallery/src/demos/demo-automation-describe-trigger.ts @@ -1,4 +1,4 @@ -import { safeDump } from "js-yaml"; +import { dump } from "js-yaml"; import { html, css, LitElement, TemplateResult } from "lit"; import { customElement } from "lit/decorators"; import "../../../src/components/ha-card"; @@ -29,7 +29,7 @@ export class DemoAutomationDescribeTrigger extends LitElement { (conf) => html`
${describeTrigger(conf as any)} -
${safeDump(conf)}
+
${dump(conf)}
` )} diff --git a/hassio/src/system/hassio-host-info.ts b/hassio/src/system/hassio-host-info.ts index 2806b46ad1..cde6becf58 100644 --- a/hassio/src/system/hassio-host-info.ts +++ b/hassio/src/system/hassio-host-info.ts @@ -2,7 +2,7 @@ import "@material/mwc-button"; import { ActionDetail } from "@material/mwc-list/mwc-list-foundation"; import "@material/mwc-list/mwc-list-item"; import { mdiDotsVertical } from "@mdi/js"; -import { safeDump } from "js-yaml"; +import { dump } from "js-yaml"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -233,7 +233,7 @@ class HassioHostInfo extends LitElement { const content = await fetchHassioHardwareInfo(this.hass); showHassioMarkdownDialog(this, { title: this.supervisor.localize("system.host.hardware"), - content: `
${safeDump(content, { indent: 2 })}
`, + content: `
${dump(content, { indent: 2 })}
`, }); } catch (err) { showAlertDialog(this, { diff --git a/package.json b/package.json index 84bb2ec92d..1a5b3a8e44 100644 --- a/package.json +++ b/package.json @@ -113,7 +113,7 @@ "home-assistant-js-websocket": "^5.10.0", "idb-keyval": "^3.2.0", "intl-messageformat": "^9.6.13", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "leaflet": "^1.7.1", "leaflet-draw": "^1.0.4", "lit": "^2.0.0-rc.2", @@ -168,7 +168,7 @@ "@types/chai": "^4.1.7", "@types/chromecast-caf-receiver": "^5.0.11", "@types/chromecast-caf-sender": "^1.0.3", - "@types/js-yaml": "^3.12.1", + "@types/js-yaml": "^4.0.1", "@types/leaflet": "^1.7.0", "@types/leaflet-draw": "^1.0.3", "@types/marked": "^1.2.2", diff --git a/src/components/ha-yaml-editor.ts b/src/components/ha-yaml-editor.ts index 07a1ac0a04..8d79034c3e 100644 --- a/src/components/ha-yaml-editor.ts +++ b/src/components/ha-yaml-editor.ts @@ -1,4 +1,4 @@ -import { safeDump, safeLoad } from "js-yaml"; +import { dump, load } from "js-yaml"; import { html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; import { fireEvent } from "../common/dom/fire_event"; @@ -30,7 +30,7 @@ export class HaYamlEditor extends LitElement { public setValue(value): void { try { - this._yaml = value && !isEmpty(value) ? safeDump(value) : ""; + this._yaml = value && !isEmpty(value) ? dump(value) : ""; } catch (err) { // eslint-disable-next-line no-console console.error(err, value); @@ -67,7 +67,7 @@ export class HaYamlEditor extends LitElement { if (this._yaml) { try { - parsed = safeLoad(this._yaml); + parsed = load(this._yaml); } catch (err) { // Invalid YAML isValid = false; diff --git a/src/panels/config/automation/trace/ha-automation-trace-blueprint-config.ts b/src/panels/config/automation/trace/ha-automation-trace-blueprint-config.ts index ca04091e79..bc3117114b 100644 --- a/src/panels/config/automation/trace/ha-automation-trace-blueprint-config.ts +++ b/src/panels/config/automation/trace/ha-automation-trace-blueprint-config.ts @@ -1,4 +1,4 @@ -import { safeDump } from "js-yaml"; +import { dump } from "js-yaml"; import { html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import "../../../../components/ha-code-editor"; @@ -15,7 +15,7 @@ export class HaAutomationTraceBlueprintConfig extends LitElement { protected render(): TemplateResult { return html` `; diff --git a/src/panels/config/automation/trace/ha-automation-trace-config.ts b/src/panels/config/automation/trace/ha-automation-trace-config.ts index 3928656f82..c97bb47f8b 100644 --- a/src/panels/config/automation/trace/ha-automation-trace-config.ts +++ b/src/panels/config/automation/trace/ha-automation-trace-config.ts @@ -1,4 +1,4 @@ -import { safeDump } from "js-yaml"; +import { dump } from "js-yaml"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import "../../../../components/ha-code-editor"; @@ -15,7 +15,7 @@ export class HaAutomationTraceConfig extends LitElement { protected render(): TemplateResult { return html` `; diff --git a/src/panels/config/automation/trace/ha-automation-trace-path-details.ts b/src/panels/config/automation/trace/ha-automation-trace-path-details.ts index 1dab6866bc..dc0412b149 100644 --- a/src/panels/config/automation/trace/ha-automation-trace-path-details.ts +++ b/src/panels/config/automation/trace/ha-automation-trace-path-details.ts @@ -1,4 +1,4 @@ -import { safeDump } from "js-yaml"; +import { dump } from "js-yaml"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; @@ -132,13 +132,13 @@ export class HaAutomationTracePathDetails extends LitElement { )}
${result ? html`Result: -
${safeDump(result)}
` +
${dump(result)}
` : error ? html`
Error: ${error}
` : ""} ${Object.keys(rest).length === 0 ? "" - : html`
${safeDump(rest)}
`} + : html`
${dump(rest)}
`} `; }) ); @@ -154,7 +154,7 @@ export class HaAutomationTracePathDetails extends LitElement { const config = getDataFromPath(this.trace!.config, this.selected.path); return config ? html`` : "Unable to find config"; @@ -171,9 +171,7 @@ export class HaAutomationTracePathDetails extends LitElement { ${idx > 0 ? html`

Iteration ${idx + 1}

` : ""} ${Object.keys(trace.changed_variables || {}).length === 0 ? "No variables changed" - : html`
-${safeDump(trace.changed_variables).trimRight()}
`} + : html`
${dump(trace.changed_variables).trimRight()}
`} ` )} diff --git a/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-discovery-payload.ts b/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-discovery-payload.ts index cc80ae4b6d..cb5e8e3b84 100644 --- a/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-discovery-payload.ts +++ b/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-discovery-payload.ts @@ -1,4 +1,4 @@ -import { safeDump } from "js-yaml"; +import { dump } from "js-yaml"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; @@ -31,7 +31,7 @@ class MQTTDiscoveryPayload extends LitElement { const payload = this.payload; return html` ${this.showAsYaml - ? html`
${safeDump(payload)}
` + ? html`
${dump(payload)}
` : html`
${JSON.stringify(payload, null, 2)}
`} `; } diff --git a/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-messages.ts b/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-messages.ts index 734b4ae085..d07f83fb5f 100644 --- a/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-messages.ts +++ b/src/panels/config/devices/device-detail/integration-elements/mqtt/mqtt-messages.ts @@ -1,4 +1,4 @@ -import { safeDump } from "js-yaml"; +import { dump } from "js-yaml"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; @@ -92,7 +92,7 @@ class MQTTMessages extends LitElement { return json ? html` ${this.showAsYaml - ? html`
${safeDump(json)}
` + ? html`
${dump(json)}
` : html`
${JSON.stringify(json, null, 2)}
`} ` : html` ${message.payload} `; diff --git a/src/panels/developer-tools/event/developer-tools-event.js b/src/panels/developer-tools/event/developer-tools-event.js index 6c508799cc..962676645f 100644 --- a/src/panels/developer-tools/event/developer-tools-event.js +++ b/src/panels/developer-tools/event/developer-tools-event.js @@ -4,7 +4,7 @@ import "@polymer/paper-input/paper-input"; import { html } from "@polymer/polymer/lib/utils/html-tag"; /* eslint-plugin-disable lit */ import { PolymerElement } from "@polymer/polymer/polymer-element"; -import { safeLoad } from "js-yaml"; +import { load } from "js-yaml"; import "../../../components/ha-code-editor"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; import { EventsMixin } from "../../../mixins/events-mixin"; @@ -151,7 +151,7 @@ class HaPanelDevEvent extends EventsMixin(LocalizeMixin(PolymerElement)) { _computeParsedEventData(eventData) { try { - return eventData.trim() ? safeLoad(eventData) : {}; + return eventData.trim() ? load(eventData) : {}; } catch (err) { return ERROR_SENTINEL; } diff --git a/src/panels/developer-tools/service/developer-tools-service.ts b/src/panels/developer-tools/service/developer-tools-service.ts index 0cb879496d..8e66d99a87 100644 --- a/src/panels/developer-tools/service/developer-tools-service.ts +++ b/src/panels/developer-tools/service/developer-tools-service.ts @@ -1,6 +1,6 @@ import { mdiHelpCircle } from "@mdi/js"; import { ERR_CONNECTION_LOST } from "home-assistant-js-websocket"; -import { safeLoad } from "js-yaml"; +import { load } from "js-yaml"; import { css, CSSResultGroup, html, LitElement } from "lit"; import { property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -361,9 +361,9 @@ class HaPanelDevService extends LitElement { const example = {}; fields.forEach((field) => { if (field.example) { - let value = ""; + let value: any = ""; try { - value = safeLoad(field.example); + value = load(field.example); } catch (err) { value = field.example; } diff --git a/src/panels/developer-tools/state/developer-tools-state.js b/src/panels/developer-tools/state/developer-tools-state.js index aff517c2ba..d860fa947b 100644 --- a/src/panels/developer-tools/state/developer-tools-state.js +++ b/src/panels/developer-tools/state/developer-tools-state.js @@ -9,7 +9,7 @@ import "@polymer/paper-input/paper-input"; import { html } from "@polymer/polymer/lib/utils/html-tag"; /* eslint-plugin-disable lit */ import { PolymerElement } from "@polymer/polymer/polymer-element"; -import { safeDump, safeLoad } from "js-yaml"; +import { dump, load } from "js-yaml"; import { formatDateTimeWithSeconds } from "../../../common/datetime/format_date_time"; import { computeRTL } from "../../../common/util/compute_rtl"; import { copyToClipboard } from "../../../common/util/copy-clipboard"; @@ -332,7 +332,7 @@ class HaPanelDevState extends EventsMixin(LocalizeMixin(PolymerElement)) { this._entityId = state.entity_id; this._entity = state; this._state = state.state; - this._stateAttributes = safeDump(state.attributes); + this._stateAttributes = dump(state.attributes); ev.preventDefault(); } @@ -349,7 +349,7 @@ class HaPanelDevState extends EventsMixin(LocalizeMixin(PolymerElement)) { } this._entity = state; this._state = state.state; - this._stateAttributes = safeDump(state.attributes); + this._stateAttributes = dump(state.attributes); } entityMoreInfo(ev) { @@ -493,7 +493,7 @@ class HaPanelDevState extends EventsMixin(LocalizeMixin(PolymerElement)) { (Array.isArray(value) && value.some((val) => val instanceof Object)) || (!Array.isArray(value) && value instanceof Object) ) { - return `\n${safeDump(value)}`; + return `\n${dump(value)}`; } return Array.isArray(value) ? value.join(", ") : value; } @@ -508,7 +508,7 @@ class HaPanelDevState extends EventsMixin(LocalizeMixin(PolymerElement)) { _computeParsedStateAttributes(stateAttributes) { try { - return stateAttributes.trim() ? safeLoad(stateAttributes) : {}; + return stateAttributes.trim() ? load(stateAttributes) : {}; } catch (err) { return ERROR_SENTINEL; } diff --git a/src/panels/lovelace/cards/hui-error-card.ts b/src/panels/lovelace/cards/hui-error-card.ts index 747b700166..969ad566c7 100644 --- a/src/panels/lovelace/cards/hui-error-card.ts +++ b/src/panels/lovelace/cards/hui-error-card.ts @@ -1,4 +1,4 @@ -import { safeDump } from "js-yaml"; +import { dump } from "js-yaml"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, state } from "lit/decorators"; import { HomeAssistant } from "../../../types"; @@ -28,7 +28,7 @@ export class HuiErrorCard extends LitElement implements LovelaceCard { if (this._config.origConfig) { try { - dumped = safeDump(this._config.origConfig); + dumped = dump(this._config.origConfig); } catch (err) { dumped = `[Error dumping ${this._config.origConfig}]`; } diff --git a/src/panels/lovelace/editor/hui-element-editor.ts b/src/panels/lovelace/editor/hui-element-editor.ts index 8a595759c6..d0c0904f78 100644 --- a/src/panels/lovelace/editor/hui-element-editor.ts +++ b/src/panels/lovelace/editor/hui-element-editor.ts @@ -1,5 +1,5 @@ import "@material/mwc-button"; -import { safeDump, safeLoad } from "js-yaml"; +import { dump, load } from "js-yaml"; import { css, CSSResultGroup, @@ -77,7 +77,7 @@ export abstract class HuiElementEditor extends LitElement { public get yaml(): string { if (!this._yaml) { - this._yaml = safeDump(this._config); + this._yaml = dump(this._config); } return this._yaml || ""; } @@ -85,7 +85,7 @@ export abstract class HuiElementEditor extends LitElement { public set yaml(_yaml: string) { this._yaml = _yaml; try { - this._config = safeLoad(this.yaml); + this._config = load(this.yaml) as any; this._errors = undefined; } catch (err) { this._errors = [err.message]; diff --git a/src/panels/lovelace/hui-editor.ts b/src/panels/lovelace/hui-editor.ts index 7b86d68e43..f989ba7ac9 100644 --- a/src/panels/lovelace/hui-editor.ts +++ b/src/panels/lovelace/hui-editor.ts @@ -2,7 +2,7 @@ import { undoDepth } from "@codemirror/history"; import "@material/mwc-button"; import "@polymer/app-layout/app-header/app-header"; import "@polymer/app-layout/app-toolbar/app-toolbar"; -import { safeDump, safeLoad } from "js-yaml"; +import { dump, load } from "js-yaml"; import { css, CSSResultGroup, @@ -104,7 +104,7 @@ class LovelaceFullConfigEditor extends LitElement { protected firstUpdated(changedProps: PropertyValues) { super.firstUpdated(changedProps); - this.yamlEditor.value = safeDump(this.lovelace!.rawConfig); + this.yamlEditor.value = dump(this.lovelace!.rawConfig); } protected updated(changedProps: PropertyValues) { @@ -122,7 +122,7 @@ class LovelaceFullConfigEditor extends LitElement { ), action: { action: () => { - this.yamlEditor.value = safeDump(this.lovelace!.rawConfig); + this.yamlEditor.value = dump(this.lovelace!.rawConfig); }, text: this.hass!.localize( "ui.panel.lovelace.editor.raw_editor.reload" @@ -258,7 +258,7 @@ class LovelaceFullConfigEditor extends LitElement { let config: LovelaceConfig; try { - config = safeLoad(value); + config = load(value) as LovelaceConfig; } catch (err) { showAlertDialog(this, { text: this.hass.localize( diff --git a/src/resources/js-yaml-dump.ts b/src/resources/js-yaml-dump.ts new file mode 100644 index 0000000000..dec67712ae --- /dev/null +++ b/src/resources/js-yaml-dump.ts @@ -0,0 +1 @@ +export { dump } from "js-yaml"; diff --git a/src/util/hass-attributes-util.ts b/src/util/hass-attributes-util.ts index ff0804b00f..0e991b0fa5 100644 --- a/src/util/hass-attributes-util.ts +++ b/src/util/hass-attributes-util.ts @@ -7,7 +7,7 @@ import { isDate } from "../common/string/is_date"; import { isTimestamp } from "../common/string/is_timestamp"; import { HomeAssistant } from "../types"; -let jsYamlPromise: Promise; +let jsYamlPromise: Promise; const hassAttributeUtil = { DOMAIN_DEVICE_CLASS: { @@ -156,9 +156,9 @@ export function formatAttributeValue( (!Array.isArray(value) && value instanceof Object) ) { if (!jsYamlPromise) { - jsYamlPromise = import("js-yaml"); + jsYamlPromise = import("../resources/js-yaml-dump"); } - const yaml = jsYamlPromise.then((jsYaml) => jsYaml.safeDump(value)); + const yaml = jsYamlPromise.then((jsYaml) => jsYaml.dump(value)); return html`
${until(yaml, "")}
`; } diff --git a/yarn.lock b/yarn.lock index cadbfc3bc3..6a2a655cf3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2762,10 +2762,10 @@ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.0.tgz#682477dbbbd07cd032731cb3b0e7eaee3d026b69" integrity sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA== -"@types/js-yaml@^3.12.1": - version "3.12.1" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.1.tgz#5c6f4a1eabca84792fbd916f0cb40847f123c656" - integrity sha512-SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA== +"@types/js-yaml@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.1.tgz#5544730b65a480b18ace6b6ce914e519cec2d43b" + integrity sha512-xdOvNmXmrZqqPy3kuCQ+fz6wA0xU5pji9cd1nDrflWaAWtYLLGk5ykW0H6yg5TVyehHP1pfmuuSaZkhP+kspVA== "@types/json-schema@*": version "7.0.5" @@ -3831,6 +3831,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -8365,6 +8370,13 @@ js-yaml@3.13.1, js-yaml@^3.13.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"