From 0d1cd43cc4f7ac170674cd899a2ab82a99372d36 Mon Sep 17 00:00:00 2001 From: mistic100 Date: Wed, 21 Dec 2022 19:33:16 +0100 Subject: [PATCH] Fix #809 Can't resolve '@photo-sphere-viewer/shared' --- build/plugins/esbuild-plugin-umd.js | 3 -- build/templates/package.js | 1 - build/tsup.config.js | 4 +- package.json | 2 +- .../autorotate-plugin/src/AutorotatePlugin.ts | 2 +- packages/compass-plugin/src/style.scss | 2 +- packages/core/src/styles/index.scss | 2 +- packages/cubemap-tiles-adapter/package.json | 3 +- .../src/CubemapTilesAdapter.ts | 3 +- packages/cubemap-video-adapter/package.json | 3 +- .../src/CubemapVideoAdapter.ts | 2 +- packages/cubemap-video-adapter/src/model.ts | 2 +- .../package.json | 3 +- .../src/EquirectangularTilesAdapter.ts | 3 +- .../package.json | 3 +- .../src/EquirectangularVideoAdapter.ts | 2 +- .../src/model.ts | 2 +- packages/gallery-plugin/src/style.scss | 2 +- packages/markers-plugin/src/style.scss | 2 +- packages/settings-plugin/src/style.scss | 2 +- packages/shared/.typedoc/README.md | 1 - .../shared/{src => }/AbstractVideoAdapter.ts | 0 packages/shared/{src => }/Queue.ts | 46 ++++++++++++++++++- packages/shared/{src => }/_vars.scss | 0 packages/shared/{src => }/autorotate-utils.ts | 0 packages/shared/{src => }/index.ts | 5 +- packages/shared/package.json | 8 +--- packages/shared/src/Task.ts | 44 ------------------ packages/shared/{src => }/tiles-utils.ts | 0 packages/shared/tsconfig.json | 2 +- packages/shared/tsup.config.js | 2 +- packages/shared/{src => }/umd.spec.ts | 6 +-- packages/video-plugin/src/VideoPlugin.ts | 2 +- packages/video-plugin/src/style.scss | 2 +- packages/virtual-tour-plugin/src/style.scss | 2 +- yarn.lock | 8 ++-- 36 files changed, 83 insertions(+), 93 deletions(-) delete mode 100644 packages/shared/.typedoc/README.md rename packages/shared/{src => }/AbstractVideoAdapter.ts (100%) rename packages/shared/{src => }/Queue.ts (67%) rename packages/shared/{src => }/_vars.scss (100%) rename packages/shared/{src => }/autorotate-utils.ts (100%) rename packages/shared/{src => }/index.ts (72%) delete mode 100644 packages/shared/src/Task.ts rename packages/shared/{src => }/tiles-utils.ts (100%) rename packages/shared/{src => }/umd.spec.ts (95%) diff --git a/build/plugins/esbuild-plugin-umd.js b/build/plugins/esbuild-plugin-umd.js index 322b956b0..fbb12eb55 100644 --- a/build/plugins/esbuild-plugin-umd.js +++ b/build/plugins/esbuild-plugin-umd.js @@ -29,9 +29,6 @@ function wrapUmd(fileContent, pkg, externals) { if (!deps.includes('three')) { deps.unshift('three'); } - if (deps.includes('@photo-sphere-viewer/shared')) { - deps.splice(deps.indexOf('@photo-sphere-viewer/shared'), 1); - } const depsCommonJs = deps.map((dep) => `require('${dep}')`).join(', '); const depsAmd = deps.map((dep) => `'${dep}'`).join(', '); diff --git a/build/templates/package.js b/build/templates/package.js index a268900f3..69a52a8c5 100644 --- a/build/templates/package.js +++ b/build/templates/package.js @@ -35,7 +35,6 @@ export const packageJson = (pkg) => ]; } - delete content.dependencies['@photo-sphere-viewer/shared']; delete content.devDependencies; delete content.psv; delete content.scripts; diff --git a/build/tsup.config.js b/build/tsup.config.js index d0a8a9bd8..3fea59fef 100644 --- a/build/tsup.config.js +++ b/build/tsup.config.js @@ -18,7 +18,7 @@ const externals = { '@photo-sphere-viewer/settings-plugin': 'PhotoSphereViewer.SettingsPlugin', }; -export default function createConfig(pkg) { +export default function createConfig(pkg, entry = 'src/index.ts') { const banner = `/*! * ${pkg.psv.globalName} ${pkg.version} ${ @@ -30,7 +30,7 @@ ${ return defineConfig((options) => { const dev = options.watch || options.define?.['config'] === 'dev'; return { - entryPoints: ['src/index.ts'], + entryPoints: [entry], outDir: 'dist', format: dev ? ['iife'] : ['iife', 'esm'], globalName: pkg.psv.globalName, diff --git a/package.json b/package.json index d99b7e1bf..f02f0cfa8 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,6 @@ "vue-slider-component": "^3.2.23", "vue-swatches": "^2.1.1", "vuepress": "^1.9.7", - "yaml": "^2.1.3" + "yaml": "^2.2.0" } } diff --git a/packages/autorotate-plugin/src/AutorotatePlugin.ts b/packages/autorotate-plugin/src/AutorotatePlugin.ts index 0b982b13f..30bc8c9bc 100644 --- a/packages/autorotate-plugin/src/AutorotatePlugin.ts +++ b/packages/autorotate-plugin/src/AutorotatePlugin.ts @@ -5,7 +5,7 @@ import type { VideoPlugin } from '@photo-sphere-viewer/video-plugin'; import { MathUtils, SplineCurve, Vector2 } from 'three'; import { AutorotateEvent, AutorotatePluginEvents } from './events'; import { AutorotateKeypoint, AutorotatePluginConfig } from './model'; -// import { debugCurve } from '@photo-sphere-viewer/shared'; +// import { debugCurve } from '../../shared/autorotate-utils'; type ParsedAutorotatePluginConfig = Omit< AutorotatePluginConfig, diff --git a/packages/compass-plugin/src/style.scss b/packages/compass-plugin/src/style.scss index 3e9a46d5f..b06a9b9df 100644 --- a/packages/compass-plugin/src/style.scss +++ b/packages/compass-plugin/src/style.scss @@ -1,4 +1,4 @@ -@import '../../shared/src/vars'; +@import '../../shared/vars'; $psv-compass-margin: 10px !default; diff --git a/packages/core/src/styles/index.scss b/packages/core/src/styles/index.scss index 0a5dca036..3bda6e192 100644 --- a/packages/core/src/styles/index.scss +++ b/packages/core/src/styles/index.scss @@ -1,6 +1,6 @@ @use 'sass:list'; @use 'sass:map'; -@import '../../../shared/src/vars'; +@import '../../../shared/vars'; @import 'viewer'; @import 'loader'; @import 'navbar'; diff --git a/packages/cubemap-tiles-adapter/package.json b/packages/cubemap-tiles-adapter/package.json index 8861ac996..5adbe38b1 100644 --- a/packages/cubemap-tiles-adapter/package.json +++ b/packages/cubemap-tiles-adapter/package.json @@ -8,8 +8,7 @@ "types": "./src/index.ts", "dependencies": { "@photo-sphere-viewer/core": "0.0.0", - "@photo-sphere-viewer/cubemap-adapter": "0.0.0", - "@photo-sphere-viewer/shared": "0.0.0" + "@photo-sphere-viewer/cubemap-adapter": "0.0.0" }, "scripts": { "build": "tsup", diff --git a/packages/cubemap-tiles-adapter/src/CubemapTilesAdapter.ts b/packages/cubemap-tiles-adapter/src/CubemapTilesAdapter.ts index 7a8dac5e7..df55561f6 100644 --- a/packages/cubemap-tiles-adapter/src/CubemapTilesAdapter.ts +++ b/packages/cubemap-tiles-adapter/src/CubemapTilesAdapter.ts @@ -1,7 +1,6 @@ import type { TextureData, Viewer } from '@photo-sphere-viewer/core'; import { AbstractAdapter, CONSTANTS, events, PSVError, utils } from '@photo-sphere-viewer/core'; import { CubemapAdapter } from '@photo-sphere-viewer/cubemap-adapter'; -import { buildErrorMaterial, Queue, Task } from '@photo-sphere-viewer/shared'; import { BoxGeometry, Frustum, @@ -14,6 +13,8 @@ import { Vector2, Vector3, } from 'three'; +import { Queue, Task } from '../../shared/Queue'; +import { buildErrorMaterial } from '../../shared/tiles-utils'; import { CubemapTilesAdapterConfig, CubemapTilesPanorama } from './model'; type CubemapMesh = Mesh; diff --git a/packages/cubemap-video-adapter/package.json b/packages/cubemap-video-adapter/package.json index 92e99ab2d..14168831a 100644 --- a/packages/cubemap-video-adapter/package.json +++ b/packages/cubemap-video-adapter/package.json @@ -7,8 +7,7 @@ "main": "./src/index.ts", "types": "./src/index.ts", "dependencies": { - "@photo-sphere-viewer/core": "0.0.0", - "@photo-sphere-viewer/shared": "0.0.0" + "@photo-sphere-viewer/core": "0.0.0" }, "scripts": { "build": "tsup", diff --git a/packages/cubemap-video-adapter/src/CubemapVideoAdapter.ts b/packages/cubemap-video-adapter/src/CubemapVideoAdapter.ts index a02be5c32..551d27e6d 100644 --- a/packages/cubemap-video-adapter/src/CubemapVideoAdapter.ts +++ b/packages/cubemap-video-adapter/src/CubemapVideoAdapter.ts @@ -1,7 +1,7 @@ import type { TextureData, Viewer } from '@photo-sphere-viewer/core'; import { CONSTANTS, utils } from '@photo-sphere-viewer/core'; -import { AbstractVideoAdapter } from '@photo-sphere-viewer/shared'; import { BoxGeometry, Mesh, ShaderMaterial, Vector2, VideoTexture } from 'three'; +import { AbstractVideoAdapter } from '../../shared/AbstractVideoAdapter'; import { CubemapVideoAdapterConfig, CubemapVideoPanorama } from './model'; type CubemapMesh = Mesh; diff --git a/packages/cubemap-video-adapter/src/model.ts b/packages/cubemap-video-adapter/src/model.ts index b70aca01a..0aca4ee61 100644 --- a/packages/cubemap-video-adapter/src/model.ts +++ b/packages/cubemap-video-adapter/src/model.ts @@ -1,4 +1,4 @@ -import type { AbstractVideoAdapterConfig, AbstractVideoPanorama } from '@photo-sphere-viewer/shared'; +import type { AbstractVideoAdapterConfig, AbstractVideoPanorama } from '../../shared/AbstractVideoAdapter'; /** * Configuration of a cubemap video diff --git a/packages/equirectangular-tiles-adapter/package.json b/packages/equirectangular-tiles-adapter/package.json index 5af228b74..d72ff039d 100644 --- a/packages/equirectangular-tiles-adapter/package.json +++ b/packages/equirectangular-tiles-adapter/package.json @@ -7,8 +7,7 @@ "main": "./src/index.ts", "types": "./src/index.ts", "dependencies": { - "@photo-sphere-viewer/core": "0.0.0", - "@photo-sphere-viewer/shared": "0.0.0" + "@photo-sphere-viewer/core": "0.0.0" }, "scripts": { "build": "tsup", diff --git a/packages/equirectangular-tiles-adapter/src/EquirectangularTilesAdapter.ts b/packages/equirectangular-tiles-adapter/src/EquirectangularTilesAdapter.ts index 647506e35..fabfa5447 100644 --- a/packages/equirectangular-tiles-adapter/src/EquirectangularTilesAdapter.ts +++ b/packages/equirectangular-tiles-adapter/src/EquirectangularTilesAdapter.ts @@ -1,6 +1,5 @@ import type { TextureData, Viewer } from '@photo-sphere-viewer/core'; import { AbstractAdapter, CONSTANTS, EquirectangularAdapter, events, PSVError, utils } from '@photo-sphere-viewer/core'; -import { buildErrorMaterial, Queue, Task } from '@photo-sphere-viewer/shared'; import { Frustum, ImageLoader, @@ -12,6 +11,8 @@ import { Texture, Vector3, } from 'three'; +import { Queue, Task } from '../../shared/Queue'; +import { buildErrorMaterial } from '../../shared/tiles-utils'; import { EquirectangularTilesAdapterConfig, EquirectangularTilesPanorama } from './model'; /* the faces of the top and bottom rows are made of a single triangle (3 vertices) diff --git a/packages/equirectangular-video-adapter/package.json b/packages/equirectangular-video-adapter/package.json index 468b4d7db..8a257f9bb 100644 --- a/packages/equirectangular-video-adapter/package.json +++ b/packages/equirectangular-video-adapter/package.json @@ -7,8 +7,7 @@ "main": "./src/index.ts", "types": "./src/index.ts", "dependencies": { - "@photo-sphere-viewer/core": "0.0.0", - "@photo-sphere-viewer/shared": "0.0.0" + "@photo-sphere-viewer/core": "0.0.0" }, "scripts": { "build": "tsup", diff --git a/packages/equirectangular-video-adapter/src/EquirectangularVideoAdapter.ts b/packages/equirectangular-video-adapter/src/EquirectangularVideoAdapter.ts index dffa5c6e1..02a5237f5 100644 --- a/packages/equirectangular-video-adapter/src/EquirectangularVideoAdapter.ts +++ b/packages/equirectangular-video-adapter/src/EquirectangularVideoAdapter.ts @@ -1,7 +1,7 @@ import type { TextureData, Viewer } from '@photo-sphere-viewer/core'; import { CONSTANTS, PSVError, utils } from '@photo-sphere-viewer/core'; -import { AbstractVideoAdapter } from '@photo-sphere-viewer/shared'; import { MathUtils, Mesh, MeshBasicMaterial, SphereGeometry, VideoTexture } from 'three'; +import { AbstractVideoAdapter } from '../../shared/AbstractVideoAdapter'; import { EquirectangularVideoAdapterConfig, EquirectangularVideoPanorama } from './model'; type EquirectangularMesh = Mesh; diff --git a/packages/equirectangular-video-adapter/src/model.ts b/packages/equirectangular-video-adapter/src/model.ts index 37f11fd4a..fa994b620 100644 --- a/packages/equirectangular-video-adapter/src/model.ts +++ b/packages/equirectangular-video-adapter/src/model.ts @@ -1,5 +1,5 @@ import type { EquirectangularAdapterConfig } from '@photo-sphere-viewer/core'; -import type { AbstractVideoAdapterConfig, AbstractVideoPanorama } from '@photo-sphere-viewer/shared'; +import type { AbstractVideoAdapterConfig, AbstractVideoPanorama } from '../../shared/AbstractVideoAdapter'; /** * Configuration of an equirectangular video diff --git a/packages/gallery-plugin/src/style.scss b/packages/gallery-plugin/src/style.scss index c0ac7e331..227eefde0 100644 --- a/packages/gallery-plugin/src/style.scss +++ b/packages/gallery-plugin/src/style.scss @@ -1,4 +1,4 @@ -@import '../../shared/src/vars'; +@import '../../shared/vars'; $psv-gallery-padding: 15px !default; $psv-gallery-border: 1px solid $psv-caption-text-color !default; diff --git a/packages/markers-plugin/src/style.scss b/packages/markers-plugin/src/style.scss index a07188382..e06636adc 100644 --- a/packages/markers-plugin/src/style.scss +++ b/packages/markers-plugin/src/style.scss @@ -1,4 +1,4 @@ -@import '../../shared/src/vars'; +@import '../../shared/vars'; .psv-markers { user-select: none; diff --git a/packages/settings-plugin/src/style.scss b/packages/settings-plugin/src/style.scss index 77b2e3c4d..b35bb047c 100644 --- a/packages/settings-plugin/src/style.scss +++ b/packages/settings-plugin/src/style.scss @@ -1,5 +1,5 @@ @use 'sass:list'; -@import '../../shared/src/vars'; +@import '../../shared/vars'; $psv-settings-margin: 10px !default; $psv-settings-item-height: $psv-panel-menu-item-height !default; diff --git a/packages/shared/.typedoc/README.md b/packages/shared/.typedoc/README.md deleted file mode 100644 index 59ddaf29e..000000000 --- a/packages/shared/.typedoc/README.md +++ /dev/null @@ -1 +0,0 @@ -This module is not published but included in other packages. diff --git a/packages/shared/src/AbstractVideoAdapter.ts b/packages/shared/AbstractVideoAdapter.ts similarity index 100% rename from packages/shared/src/AbstractVideoAdapter.ts rename to packages/shared/AbstractVideoAdapter.ts diff --git a/packages/shared/src/Queue.ts b/packages/shared/Queue.ts similarity index 67% rename from packages/shared/src/Queue.ts rename to packages/shared/Queue.ts index d71d6160e..776837f04 100644 --- a/packages/shared/src/Queue.ts +++ b/packages/shared/Queue.ts @@ -1,4 +1,48 @@ -import { Status, Task } from './Task'; +/** + * @internal + */ +const enum Status { + DISABLED, + PENDING, + RUNNING, + CANCELLED, + DONE, + ERROR, +} + +/** + * @internal + */ +export class Task { + status: Status = Status.PENDING; + + constructor( + public readonly id: string, + public priority: number, + private readonly fn: (task: Task) => Promise + ) {} + + start() { + this.status = Status.RUNNING; + return this.fn(this).then( + () => { + this.status = Status.DONE; + }, + () => { + this.status = Status.ERROR; + } + ); + } + + cancel() { + this.status = Status.CANCELLED; + } + + isCancelled() { + return this.status === Status.CANCELLED; + } +} + /** * @internal diff --git a/packages/shared/src/_vars.scss b/packages/shared/_vars.scss similarity index 100% rename from packages/shared/src/_vars.scss rename to packages/shared/_vars.scss diff --git a/packages/shared/src/autorotate-utils.ts b/packages/shared/autorotate-utils.ts similarity index 100% rename from packages/shared/src/autorotate-utils.ts rename to packages/shared/autorotate-utils.ts diff --git a/packages/shared/src/index.ts b/packages/shared/index.ts similarity index 72% rename from packages/shared/src/index.ts rename to packages/shared/index.ts index 357e7c0ad..3f56ef0c8 100644 --- a/packages/shared/src/index.ts +++ b/packages/shared/index.ts @@ -1,5 +1,8 @@ +/** + * This file only exists for the UMD test + */ + export * from './AbstractVideoAdapter'; export * from './autorotate-utils'; export * from './Queue'; -export * from './Task'; export * from './tiles-utils'; diff --git a/packages/shared/package.json b/packages/shared/package.json index c89e4f862..b388e4960 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -9,14 +9,10 @@ }, "scripts": { "build:dev": "tsup --define.config dev", - "lint": "eslint . --fix && stylelint \"src/**/*.scss\" --fix", - "test": "mocha -r ts-node/register \"src/**/*.spec.ts\"" + "lint": "eslint . --fix && stylelint \"*.scss\" --fix", + "test": "mocha -r ts-node/register \"*.spec.ts\"" }, "psv": { "globalName": "PhotoSphereViewer.Shared" - }, - "typedoc": { - "displayName": "Shared", - "readmeFile": "./.typedoc/README.md" } } diff --git a/packages/shared/src/Task.ts b/packages/shared/src/Task.ts deleted file mode 100644 index c663a8317..000000000 --- a/packages/shared/src/Task.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * @internal - */ -export const enum Status { - DISABLED, - PENDING, - RUNNING, - CANCELLED, - DONE, - ERROR, -} - -/** - * @internal - */ -export class Task { - status: Status = Status.PENDING; - - constructor( - public readonly id: string, - public priority: number, - private readonly fn: (task: Task) => Promise - ) {} - - start() { - this.status = Status.RUNNING; - return this.fn(this).then( - () => { - this.status = Status.DONE; - }, - () => { - this.status = Status.ERROR; - } - ); - } - - cancel() { - this.status = Status.CANCELLED; - } - - isCancelled() { - return this.status === Status.CANCELLED; - } -} diff --git a/packages/shared/src/tiles-utils.ts b/packages/shared/tiles-utils.ts similarity index 100% rename from packages/shared/src/tiles-utils.ts rename to packages/shared/tiles-utils.ts diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json index 34bbb4fa3..60cd722d8 100644 --- a/packages/shared/tsconfig.json +++ b/packages/shared/tsconfig.json @@ -1,5 +1,5 @@ { "extends": "../../tsconfig.json", - "include": ["src/**/*.ts", "typings.d.ts"], + "include": ["*.ts"], "exclude": ["dist", "node_modules"] } diff --git a/packages/shared/tsup.config.js b/packages/shared/tsup.config.js index a1aaf53f1..0af0c0f6c 100644 --- a/packages/shared/tsup.config.js +++ b/packages/shared/tsup.config.js @@ -1,4 +1,4 @@ import createConfig from '../../build/tsup.config'; import pkg from './package.json' assert { type: 'json' }; -export default createConfig(pkg); +export default createConfig(pkg, 'index.ts'); diff --git a/packages/shared/src/umd.spec.ts b/packages/shared/umd.spec.ts similarity index 95% rename from packages/shared/src/umd.spec.ts rename to packages/shared/umd.spec.ts index 6ca265012..afc7529c1 100644 --- a/packages/shared/src/umd.spec.ts +++ b/packages/shared/umd.spec.ts @@ -1,7 +1,7 @@ import { execSync } from 'child_process'; import { readFileSync } from 'fs'; import assert from 'assert'; -import pkg from '../package.json'; +import pkg from './package.json'; /** * This test ensures that the custom UMD plugin is behaving correctly @@ -45,9 +45,7 @@ describe('UMD', () => { var require_core = () => PhotoSphereViewer; // three - var require_three = () => THREE; - - // src/index.ts`; + var require_three = () => THREE;`; const actual = output.split('\n').slice(0, expected.split('\n').length).join('\n'); diff --git a/packages/video-plugin/src/VideoPlugin.ts b/packages/video-plugin/src/VideoPlugin.ts index 7ecaf1644..f7cb35071 100644 --- a/packages/video-plugin/src/VideoPlugin.ts +++ b/packages/video-plugin/src/VideoPlugin.ts @@ -7,7 +7,7 @@ import { PauseOverlay } from './components/PauseOverlay'; import { ProgressBar } from './components/ProgressBar'; import { BufferEvent, PlayPauseEvent, ProgressEvent, VideoPluginEvents, VolumeChangeEvent } from './events'; import { VideoKeypoint, VideoPluginConfig } from './model'; -// import { debugCurve } from '@photo-sphere-viewer/shared'; +// import { debugCurve } from '../../shared/autorotate-utils'; const getConfig = utils.getConfigParser({ progressbar: true, diff --git a/packages/video-plugin/src/style.scss b/packages/video-plugin/src/style.scss index 2a1ccb912..b18409e49 100644 --- a/packages/video-plugin/src/style.scss +++ b/packages/video-plugin/src/style.scss @@ -1,5 +1,5 @@ @use 'sass:map'; -@import '../../shared/src/vars'; +@import '../../shared/vars'; $psv-progressbar-height: 3px !default; $psv-progressbar-height-active: 5px !default; diff --git a/packages/virtual-tour-plugin/src/style.scss b/packages/virtual-tour-plugin/src/style.scss index 17d11aa7d..27423244f 100644 --- a/packages/virtual-tour-plugin/src/style.scss +++ b/packages/virtual-tour-plugin/src/style.scss @@ -1,4 +1,4 @@ -@import '../../shared/src/vars'; +@import '../../shared/vars'; .psv-virtual-tour { &__marker { diff --git a/yarn.lock b/yarn.lock index 5461d1db7..6cf9d80cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11037,10 +11037,10 @@ yaml@^1.10.0, yaml@^1.10.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.3.tgz#9b3a4c8aff9821b696275c79a8bee8399d945207" - integrity sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg== +yaml@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.0.tgz#882c762992888b4144bffdec5745df340627fdd3" + integrity sha512-auf7Gi6QwO7HW//GA9seGvTXVGWl1CM/ADWh1+RxtXr6XOxnT65ovDl9fTi4e0monEyJxCHqDpF6QnFDXmJE4g== yargs-parser@20.2.4: version "20.2.4"