From c51d7d82a669741fb9befe21c60ce20a874025f9 Mon Sep 17 00:00:00 2001 From: Nick Gerleman Date: Thu, 19 Oct 2023 04:59:10 -0700 Subject: [PATCH] Consolidate JavaScript Flavors Fixes https://github.com/facebook/yoga/issues/1417 This dramatically simplifies the matrix of Node vs web, ASM vs WASM, sync vs async compilation, or CommonJS vs ES Modules. We have one variant, using without, with ESModule top-level await to do async compilation. Web/node share the same binary, and we base64 encode the WASM into a wrapper JS file for compatibility with Node and bundlers. After this change we target: This has some downsides, like requiring an environment with top level await, but also has upsides, like a consistent, sync looking API compatible with older Yoga, and mitigating TypeScript issues with package exports and typings resolution. ## Test Plan 1. `yarn test` 2. `yarn lint` 3. `yarn tsc` 4. `yarn build` website-next 5. Locally test website 5. Examine package artifact created by GitHub --- .eslintrc.js | 17 +- gentest/gentest-javascript.js | 2 +- javascript/CMakeLists.txt | 76 +-- javascript/README.md | 31 +- javascript/babel.config.cjs | 22 + javascript/{.babelrc.js => jest.config.js} | 11 +- javascript/jest.config.ts | 27 - javascript/{jest.setup.ts => jest.setup.js} | 5 - .../{just.config.ts => just.config.cjs} | 63 +- javascript/package.json | 51 +- javascript/src/entrypoint/asmjs-async-node.ts | 26 - javascript/src/entrypoint/asmjs-async-web.ts | 26 - javascript/src/entrypoint/asmjs-sync-web.ts | 23 - javascript/src/entrypoint/wasm-async-node.ts | 26 - javascript/src/entrypoint/wasm-async-web.ts | 26 - javascript/src/entrypoint/wasm-sync-node.ts | 23 - javascript/src/entrypoint/wasm-sync-web.ts | 23 - .../asmjs-sync-node.ts => index.ts} | 12 +- javascript/src/wrapAssembly.js | 3 +- .../tests/Benchmarks/YGBenchmark.test.ts | 6 +- javascript/tests/YGAlignBaselineTest.test.ts | 2 +- javascript/tests/YGComputedBorderTest.test.ts | 2 +- javascript/tests/YGComputedMarginTest.test.ts | 2 +- .../tests/YGComputedPaddingTest.test.ts | 2 +- javascript/tests/YGDirtiedTest.test.ts | 2 +- javascript/tests/YGErrataTest.test.ts | 2 +- javascript/tests/YGFlexBasisAuto.test.ts | 2 +- javascript/tests/YGMeasureCacheTest.test.ts | 4 +- javascript/tests/YGMeasureTest.test.ts | 4 +- javascript/tests/bin/run-bench.ts | 12 +- .../generated/YGAbsolutePositionTest.test.ts | 2 +- .../generated/YGAlignContentTest.test.ts | 2 +- .../tests/generated/YGAlignItemsTest.test.ts | 2 +- .../tests/generated/YGAlignSelfTest.test.ts | 2 +- .../tests/generated/YGAndroidNewsFeed.test.ts | 2 +- .../tests/generated/YGAspectRatioTest.test.ts | 2 +- .../tests/generated/YGBorderTest.test.ts | 2 +- .../tests/generated/YGDimensionTest.test.ts | 2 +- .../tests/generated/YGDisplayTest.test.ts | 2 +- .../generated/YGFlexDirectionTest.test.ts | 2 +- javascript/tests/generated/YGFlexTest.test.ts | 2 +- .../tests/generated/YGFlexWrapTest.test.ts | 2 +- javascript/tests/generated/YGGapTest.test.ts | 2 +- .../generated/YGJustifyContentTest.test.ts | 2 +- .../tests/generated/YGMarginTest.test.ts | 2 +- .../generated/YGMinMaxDimensionTest.test.ts | 2 +- .../tests/generated/YGPaddingTest.test.ts | 2 +- .../tests/generated/YGPercentageTest.test.ts | 2 +- .../tests/generated/YGRoundingTest.test.ts | 2 +- .../generated/YGSizeOverflowTest.test.ts | 2 +- javascript/tests/tools/MeasureCounter.ts | 2 +- javascript/tests/tools/globals.ts | 10 +- javascript/tsconfig.json | 8 +- package.json | 3 +- .../{babel.config.js => babel.config.cjs} | 0 ...saurus.config.js => docusaurus.config.cjs} | 2 +- website-next/{sidebars.js => sidebars.cjs} | 0 .../src/components/Playground/Editor.tsx | 2 +- .../components/Playground/LayoutRecord.tsx | 23 +- .../components/Playground/YogaEnumSelect.tsx | 2 +- .../src/components/Playground/YogaNode.tsx | 4 +- .../src/components/Playground/index.tsx | 2 +- website-next/src/pages/index.tsx | 13 +- website-next/tsconfig.json | 6 +- yarn.lock | 570 +----------------- 65 files changed, 188 insertions(+), 1032 deletions(-) create mode 100644 javascript/babel.config.cjs rename javascript/{.babelrc.js => jest.config.js} (58%) delete mode 100644 javascript/jest.config.ts rename javascript/{jest.setup.ts => jest.setup.js} (67%) rename javascript/{just.config.ts => just.config.cjs} (66%) delete mode 100644 javascript/src/entrypoint/asmjs-async-node.ts delete mode 100644 javascript/src/entrypoint/asmjs-async-web.ts delete mode 100644 javascript/src/entrypoint/asmjs-sync-web.ts delete mode 100644 javascript/src/entrypoint/wasm-async-node.ts delete mode 100644 javascript/src/entrypoint/wasm-async-web.ts delete mode 100644 javascript/src/entrypoint/wasm-sync-node.ts delete mode 100644 javascript/src/entrypoint/wasm-sync-web.ts rename javascript/src/{entrypoint/asmjs-sync-node.ts => index.ts} (55%) rename website-next/{babel.config.js => babel.config.cjs} (100%) rename website-next/{docusaurus.config.js => docusaurus.config.cjs} (98%) rename website-next/{sidebars.js => sidebars.cjs} (100%) diff --git a/.eslintrc.js b/.eslintrc.js index 1f2a76ab..0da671fa 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -27,8 +27,7 @@ module.exports = { 'require-await': 'error', }, env: { - commonjs: true, - es2018: true, + es2020: true, }, parserOptions: { sourceType: 'module', @@ -36,7 +35,7 @@ module.exports = { }, overrides: [ { - files: ['**/*.ts', '**/*.tsx'], + files: ['**/*.ts', '**/*.cts', '**/*.mts'], extends: ['plugin:@typescript-eslint/recommended'], parser: '@typescript-eslint/parser', parserOptions: { @@ -59,18 +58,8 @@ module.exports = { }, }, { - files: ['jest.*', '**/tests/**'], - env: { - node: true, - }, + files: ['**/tests/**'], extends: ['plugin:jest/recommended'], - globals: { - getMeasureCounter: 'writable', - getMeasureCounterMax: 'writable', - getMeasureCounterMin: 'writable', - Yoga: 'writable', - YGBENCHMARK: 'writable', - }, }, ], }; diff --git a/gentest/gentest-javascript.js b/gentest/gentest-javascript.js index 69ebee84..d9e3e167 100644 --- a/gentest/gentest-javascript.js +++ b/gentest/gentest-javascript.js @@ -23,7 +23,7 @@ JavascriptEmitter.prototype = Object.create(Emitter.prototype, { emitPrologue: { value: function () { - this.push('import {Yoga} from "../tools/globals";'); + this.push("import Yoga from 'yoga-layout';"); this.push('import {'); this.pushIndent(); this.push('Align,'); diff --git a/javascript/CMakeLists.txt b/javascript/CMakeLists.txt index 44cbfceb..4eb4e67a 100644 --- a/javascript/CMakeLists.txt +++ b/javascript/CMakeLists.txt @@ -31,9 +31,9 @@ add_compile_options(${COMPILE_OPTIONS}) add_link_options( ${COMPILE_OPTIONS} - --closure 1 - --memory-init-file 0 - --no-entry + "SHELL:--closure 1" + "SHELL:--memory-init-file 0" + "SHELL:--no-entry" "SHELL:-s ALLOW_MEMORY_GROWTH=1" "SHELL:-s ASSERTIONS=0" "SHELL:-s DYNAMIC_EXECUTION=0" @@ -42,8 +42,9 @@ add_link_options( "SHELL:-s FILESYSTEM=0" "SHELL:-s MALLOC='emmalloc'" "SHELL:-s MODULARIZE=1" - "SHELL:-s TEXTDECODER=0" - "SHELL:-s SINGLE_FILE=1") + "SHELL:-s EXPORT_ES6=1" + "SHELL:-s WASM=1" + "SHELL:-s TEXTDECODER=0") link_libraries(embind) @@ -51,62 +52,9 @@ add_library(yogaObjLib OBJECT ${SOURCES}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/binaries) -add_executable(asmjs-sync-node $) -target_link_options(asmjs-sync-node PUBLIC - "SHELL:-s ENVIRONMENT='node'" - "SHELL:-s WASM=0" - "SHELL:-s WASM_ASYNC_COMPILATION=0") - -add_executable(asmjs-async-node $) -target_link_options(asmjs-async-node PUBLIC - "SHELL:-s ENVIRONMENT='node'" - "SHELL:-s WASM=0" - "SHELL:-s WASM_ASYNC_COMPILATION=1") - -add_executable(asmjs-sync-web $) -target_link_options(asmjs-sync-web PUBLIC - "SHELL:-s ENVIRONMENT='web'" - "SHELL:-s WASM=0" - "SHELL:-s WASM_ASYNC_COMPILATION=0") - -add_executable(asmjs-async-web $) -target_link_options(asmjs-async-web PUBLIC - "SHELL:-s ENVIRONMENT='web'" - "SHELL:-s WASM=0" - "SHELL:-s WASM_ASYNC_COMPILATION=1") - -add_executable(asmjs-sync $) -target_link_options(asmjs-sync PUBLIC - "SHELL:-s ENVIRONMENT='web,node'" - "SHELL:-s WASM=0" - "SHELL:-s WASM_ASYNC_COMPILATION=0") - -add_executable(asmjs-async $) -target_link_options(asmjs-async PUBLIC - "SHELL:-s ENVIRONMENT='web,node'" - "SHELL:-s WASM=0" - "SHELL:-s WASM_ASYNC_COMPILATION=1") - -add_executable(wasm-sync-node $) -target_link_options(wasm-sync-node PUBLIC - "SHELL:-s ENVIRONMENT='node'" - "SHELL:-s WASM=1" - "SHELL:-s WASM_ASYNC_COMPILATION=0") - -add_executable(wasm-async-node $) -target_link_options(wasm-async-node PUBLIC - "SHELL:-s ENVIRONMENT='node'" - "SHELL:-s WASM=1" - "SHELL:-s WASM_ASYNC_COMPILATION=1") - -add_executable(wasm-sync-web $) -target_link_options(wasm-sync-web PUBLIC - "SHELL:-s ENVIRONMENT='web'" - "SHELL:-s WASM=1" - "SHELL:-s WASM_ASYNC_COMPILATION=0") - -add_executable(wasm-async-web $) -target_link_options(wasm-async-web PUBLIC - "SHELL:-s ENVIRONMENT='web'" - "SHELL:-s WASM=1" - "SHELL:-s WASM_ASYNC_COMPILATION=1") +add_executable(web $) +target_link_options(web PRIVATE + # SINGLE_FILE=1 combined with ENVIRONMENT='web' creates code that works on + # both bundlders and Node. + "SHELL:-s SINGLE_FILE=1" + "SHELL:-s ENVIRONMENT='web'") diff --git a/javascript/README.md b/javascript/README.md index f8cd930a..1f95e910 100644 --- a/javascript/README.md +++ b/javascript/README.md @@ -1,24 +1,11 @@ # yoga-layout -This package provides prebuilt JavaScript bindings for the Yoga layout engine. Both WebAssembly and asm.js variants are packaged, with the optimal loaded based on platform. +This package provides prebuilt WebAssembly bindings for the Yoga layout engine. ## Usage -The default entrypoint provides an asynchronous loader function to return a Yoga instance. - ```ts -import {loadYoga, Align} from 'yoga-layout'; - -const Yoga = await loadYoga(); - -const node = Yoga.Node.create(); -node.setAlignContent(Align.Center); -``` - -An alternative synchronous API is provided for compatibility, but requires using asm.js in browsers instead of WebAssembly, leading to worse performance and larger assets. - -```ts -import Yoga, {Align} from 'yoga-layout/sync'; +import {Yoga, Align} from 'yoga-layout'; const node = Yoga.Node.create(); node.setAlignContent(Align.Center); @@ -37,20 +24,14 @@ node.freeRecursive(); node.free(); ``` -## Selecting WebAssembly or asm.js - -For better performance and smaller packages, WebAssembly is preferred to asm.js where available. `yoga-layout` tries to provide the right default using [export maps](https://webpack.js.org/guides/package-exports/#conditional-syntax) so that platforms which can take advantage of WebAssembly use it by default. - -Different entrypoints are exposed to choose a flavor explicitly. - -```ts -import {loadYoga} from 'yoga-layout/wasm-async'; -``` - ## Using TypeScript This package provides out-of-the-box TypeScript typings so long as `tsc` is configured to support ESM resolution. It is recommended to set `moduleResolution: 'bundler'` or `moduleResolution: node16` in your `tsconfig.json` according to your environment. +## ES Modules + +`yoga-layout` is only provided as an ES Module, relying on top-level await. This allows providing a synchronous API, while still allowing async WebAssembly compilation in browsers, and will allow eventual usage of ESM/WASM interop. + ## Contributing ### Requirements diff --git a/javascript/babel.config.cjs b/javascript/babel.config.cjs new file mode 100644 index 00000000..62bbd880 --- /dev/null +++ b/javascript/babel.config.cjs @@ -0,0 +1,22 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +module.exports = { + presets: [ + ['@babel/preset-env', { + targets: "> 5%, maintained node versions", + + // Preserve ES Modules + modules: false, + }], + ['@babel/preset-typescript', { + "rewriteImportExtensions": true + }], + ], +}; diff --git a/javascript/.babelrc.js b/javascript/jest.config.js similarity index 58% rename from javascript/.babelrc.js rename to javascript/jest.config.js index c46c034b..6d697687 100644 --- a/javascript/.babelrc.js +++ b/javascript/jest.config.js @@ -7,9 +7,10 @@ * @format */ -module.exports = { - presets: [ - ['@babel/preset-env', {targets: 'defaults'}], - '@babel/preset-typescript', - ], +const config = { + setupFiles: ['./jest.setup.js'], + testRegex: '/tests/.*\\.test\\.ts$', + extensionsToTreatAsEsm: ['.ts'], }; + +export default config; diff --git a/javascript/jest.config.ts b/javascript/jest.config.ts deleted file mode 100644 index 477f6646..00000000 --- a/javascript/jest.config.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @format - */ - -import type {Config} from 'jest'; - -const config: Config = { - setupFiles: ['./jest.setup.ts'], - testRegex: '/tests/.*\\.test\\.[jt]s$', - moduleNameMapper: { - 'yoga-layout': - process.env['SYNC'] === '1' && process.env['WASM'] === '1' - ? 'yoga-layout/wasm-sync' - : process.env['SYNC'] === '1' - ? 'yoga-layout/asmjs-sync' - : process.env['WASM'] === '1' - ? 'yoga-layout/wasm-async' - : 'yoga-layout/asmjs-async', - }, -}; - -export default config; diff --git a/javascript/jest.setup.ts b/javascript/jest.setup.js similarity index 67% rename from javascript/jest.setup.ts rename to javascript/jest.setup.js index 705024ce..df291cb2 100644 --- a/javascript/jest.setup.ts +++ b/javascript/jest.setup.js @@ -7,11 +7,6 @@ * @format */ -module.exports = async () => { - const {loadYoga, default: Yoga} = require('yoga-layout'); - globalThis.Yoga = Yoga ?? (await loadYoga()); -}; - Object.defineProperty(globalThis, 'YGBENCHMARK', { get: () => globalThis.test, }); diff --git a/javascript/just.config.ts b/javascript/just.config.cjs similarity index 66% rename from javascript/just.config.ts rename to javascript/just.config.cjs index 68d8421f..11505079 100644 --- a/javascript/just.config.ts +++ b/javascript/just.config.cjs @@ -7,7 +7,7 @@ * @format */ -import { +const { argv, cleanTask, logger, @@ -18,13 +18,13 @@ import { spawn, task, tscTask, -} from 'just-scripts'; +} = require('just-scripts'); -import {readFile, writeFile} from 'fs/promises'; +const {readFile, writeFile} = require('fs/promises'); -import glob from 'glob'; -import path from 'path'; -import which from 'which'; +const glob = require('glob'); +const path = require('path'); +const which = require('which'); const node = process.execPath; @@ -32,11 +32,15 @@ option('fix'); task('clean', cleanTask({paths: ['build', 'dist']})); -function defineFlavor(flavor: string, env: NodeJS.ProcessEnv) { +function defineFlavor(flavor, env) { task(`cmake-build:${flavor}`, cmakeBuildTask({targets: [flavor]})); task( `jest:${flavor}`, - jestTask({config: path.join(__dirname, 'jest.config.ts'), env}), + jestTask({ + config: path.join(__dirname, 'jest.config.js'), + nodeArgs: ['--experimental-vm-modules'], + env + }), ); task( `test:${flavor}`, @@ -44,14 +48,7 @@ function defineFlavor(flavor: string, env: NodeJS.ProcessEnv) { ); } -defineFlavor('asmjs-async-node', {WASM: '0', SYNC: '0'}); -defineFlavor('asmjs-sync-node', {WASM: '0', SYNC: '1'}); -defineFlavor('asmjs-async-web', {WASM: '0', SYNC: '0'}); -defineFlavor('asmjs-sync-web', {WASM: '0', SYNC: '1'}); -defineFlavor('wasm-async-node', {WASM: '1', SYNC: '0'}); -defineFlavor('wasm-sync-node', {WASM: '1', SYNC: '1'}); -defineFlavor('wasm-async-web', {WASM: '1', SYNC: '0'}); -defineFlavor('wasm-sync-web', {WASM: '1', SYNC: '1'}); +defineFlavor('web'); task('build', series(emcmakeGenerateTask(), cmakeBuildTask())); @@ -59,10 +56,8 @@ task( 'test', series( emcmakeGenerateTask(), - series('cmake-build:asmjs-async-node', 'jest:asmjs-async-node'), - series('cmake-build:asmjs-sync-node', 'jest:asmjs-sync-node'), - series('cmake-build:wasm-async-node', 'jest:wasm-async-node'), - series('cmake-build:wasm-sync-node', 'jest:wasm-sync-node'), + 'cmake-build:web', + 'jest:web', ), ); @@ -70,7 +65,7 @@ task( 'benchmark', series( emcmakeGenerateTask(), - cmakeBuildTask({targets: ['asmjs-sync-node', 'wasm-sync-node']}), + cmakeBuildTask({targets: ['node']}), runBenchTask(), ), ); @@ -96,20 +91,20 @@ task( ); function recursiveReplace( - obj: Record, - pattern: RegExp, - replacement: string, + obj, + pattern, + replacement, ) { for (const [key, value] of Object.entries(obj)) { if (typeof value === 'string') { obj[key] = value.replace(pattern, replacement); } else if (typeof value === 'object' && value != null) { - recursiveReplace(value as Record, pattern, replacement); + recursiveReplace(value, pattern, replacement); } } } -function babelTransformTask(opts: {dir: string}) { +function babelTransformTask(opts) { return () => { const args = [ opts.dir, @@ -117,7 +112,7 @@ function babelTransformTask(opts: {dir: string}) { '--out-dir', opts.dir, '--extensions', - '.js,.ts', + '.js,.cjs,.mjs,.ts,.cts,.mts', ]; logger.info(`Transforming "${path.resolve(opts.dir)}"`); @@ -132,19 +127,15 @@ function runBenchTask() { const files = glob.sync('./tests/Benchmarks/**/*'); const args = [ - '--extensions', - '.js,.ts', - '--config-file', - path.join(__dirname, '.babelrc.js'), - '--', + '--loader=babel-register-esm', './tests/bin/run-bench.ts', ...files, ]; - logger.info(['babel-node', ...args].join(' ')); + logger.info(['node', ...args].join(' ')); return spawn( node, - [require.resolve('@babel/node/bin/babel-node'), ...args], + args, { stdio: 'inherit', }, @@ -170,7 +161,7 @@ function emcmakeGenerateTask() { }; } -function cmakeBuildTask(opts?: {targets?: ReadonlyArray}) { +function cmakeBuildTask(opts) { return () => { const cmake = which.sync('cmake'); const args = [ @@ -184,7 +175,7 @@ function cmakeBuildTask(opts?: {targets?: ReadonlyArray}) { }; } -function clangFormatTask(opts?: {fix?: boolean}) { +function clangFormatTask(opts) { return () => { const args = [ ...(opts?.fix ? ['-i'] : ['--dry-run', '--Werror']), diff --git a/javascript/package.json b/javascript/package.json index 2e9a2b48..59787789 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -9,69 +9,38 @@ "type": "git", "url": "git@github.com:facebook/yoga.git" }, - "exports": { - ".": { - "browser": "./src/entrypoint/wasm-async-web.ts", - "node": "./src/entrypoint/wasm-async-node.ts", - "default": "./src/entrypoint/asmjs-async-web.ts" - }, - "./sync": { - "browser": "./src/entrypoint/asmjs-sync-web.ts", - "node": "./src/entrypoint/wasm-sync-node.ts", - "default": "./src/entrypoint/asmjs-sync-web.ts" - }, - "./asmjs-async": { - "browser": "./src/entrypoint/asmjs-async-web.ts", - "node": "./src/entrypoint/asmjs-async-node.ts", - "default": "./src/entrypoint/asmjs-async-web.ts" - }, - "./asmjs-sync": { - "browser": "./src/entrypoint/asmjs-sync-web.ts", - "node": "./src/entrypoint/asmjs-sync-node.ts", - "default": "./src/entrypoint/asmjs-sync-web.ts" - }, - "./wasm-async": { - "browser": "./src/entrypoint/wasm-async-web.ts", - "node": "./src/entrypoint/wasm-async-node.ts", - "default": "./src/entrypoint/wasm-async-web.ts" - }, - "./wasm-sync": { - "browser": "./src/entrypoint/wasm-sync-web.ts", - "node": "./src/entrypoint/wasm-sync-node.ts", - "default": "./src/entrypoint/wasm-async-web.ts" - } - }, + "type": "module", + "main": "./src/index.ts", "files": [ "binaries/**", "src/**" ], "scripts": { - "benchmark": "just benchmark", - "build": "just build", - "clang-format": "just clang-format", - "clang-format:fix": "just clang-format --fix", - "clean": "just clean", + "benchmark": "just benchmark --config just.config.cjs", + "build": "just build --config just.config.cjs", + "clang-format": "just clang-format --config just.config.cjs", + "clang-format:fix": "just clang-format --fix --config just.config.cjs", + "clean": "just clean --config just.config.cjs", "lint": "eslint .", "lint:fix": "eslint . --fix", - "prepack": "just prepack", - "test": "just test", + "prepack": "just prepack --config just.config.cjs", + "test": "just test --config just.config.cjs", "tsc": "tsc --noEmit" }, "devDependencies": { "@babel/cli": "^7.21.4", "@babel/core": "^7.21.4", - "@babel/node": "^7.21.4", "@babel/preset-env": "^7.21.4", "@babel/preset-typescript": "^7.21.4", "@types/glob": "^8.1.0", "@types/jest": "^29.5.1", "@types/node": "^16.18.25", "@types/which": "^3.0.0", + "babel-register-esm": "^1.2.5", "clang-format": "^1.8.0", "glob": "^8.0.3", "jest": "^29.3.1", "just-scripts": "^2.1.0", - "ts-node": "^10.9.1", "which": "^3.0.0" } } diff --git a/javascript/src/entrypoint/asmjs-async-node.ts b/javascript/src/entrypoint/asmjs-async-node.ts deleted file mode 100644 index 36217d77..00000000 --- a/javascript/src/entrypoint/asmjs-async-node.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @format - */ - -import wrapAssembly from '../wrapAssembly'; -import type {Yoga} from '../wrapAssembly'; - -export * from '../generated/YGEnums'; -export type { - Config, - DirtiedFunction, - MeasureFunction, - Node, - Yoga, -} from '../wrapAssembly'; - -const loadAssembly = require('../../binaries/asmjs-async-node'); - -export async function loadYoga(): Promise { - return wrapAssembly(await loadAssembly()); -} diff --git a/javascript/src/entrypoint/asmjs-async-web.ts b/javascript/src/entrypoint/asmjs-async-web.ts deleted file mode 100644 index 9069c1d8..00000000 --- a/javascript/src/entrypoint/asmjs-async-web.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @format - */ - -import wrapAssembly from '../wrapAssembly'; -import type {Yoga} from '../wrapAssembly'; - -export * from '../generated/YGEnums'; -export type { - Config, - DirtiedFunction, - MeasureFunction, - Node, - Yoga, -} from '../wrapAssembly'; - -const loadAssembly = require('../../binaries/asmjs-async-web'); - -export async function loadYoga(): Promise { - return wrapAssembly(await loadAssembly()); -} diff --git a/javascript/src/entrypoint/asmjs-sync-web.ts b/javascript/src/entrypoint/asmjs-sync-web.ts deleted file mode 100644 index 5984e0a0..00000000 --- a/javascript/src/entrypoint/asmjs-sync-web.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @format - */ - -import wrapAssembly from '../wrapAssembly'; - -export * from '../generated/YGEnums'; -export type { - Config, - DirtiedFunction, - MeasureFunction, - Node, - Yoga, -} from '../wrapAssembly'; - -const loadAssembly = require('../../binaries/asmjs-sync-web'); -const Yoga = wrapAssembly(loadAssembly()); -export default Yoga; diff --git a/javascript/src/entrypoint/wasm-async-node.ts b/javascript/src/entrypoint/wasm-async-node.ts deleted file mode 100644 index 8dea482e..00000000 --- a/javascript/src/entrypoint/wasm-async-node.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @format - */ - -import wrapAssembly from '../wrapAssembly'; -import type {Yoga} from '../wrapAssembly'; - -export * from '../generated/YGEnums'; -export type { - Config, - DirtiedFunction, - MeasureFunction, - Node, - Yoga, -} from '../wrapAssembly'; - -const loadAssembly = require('../../binaries/wasm-async-node'); - -export async function loadYoga(): Promise { - return wrapAssembly(await loadAssembly()); -} diff --git a/javascript/src/entrypoint/wasm-async-web.ts b/javascript/src/entrypoint/wasm-async-web.ts deleted file mode 100644 index 092c7d86..00000000 --- a/javascript/src/entrypoint/wasm-async-web.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @format - */ - -import wrapAssembly from '../wrapAssembly'; -import type {Yoga} from '../wrapAssembly'; - -export * from '../generated/YGEnums'; -export type { - Config, - DirtiedFunction, - MeasureFunction, - Node, - Yoga, -} from '../wrapAssembly'; - -const loadAssembly = require('../../binaries/wasm-async-web'); - -export async function loadYoga(): Promise { - return wrapAssembly(await loadAssembly()); -} diff --git a/javascript/src/entrypoint/wasm-sync-node.ts b/javascript/src/entrypoint/wasm-sync-node.ts deleted file mode 100644 index f9f208d3..00000000 --- a/javascript/src/entrypoint/wasm-sync-node.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @format - */ - -import wrapAssembly from '../wrapAssembly'; - -export * from '../generated/YGEnums'; -export type { - Config, - DirtiedFunction, - MeasureFunction, - Node, - Yoga, -} from '../wrapAssembly'; - -const loadAssembly = require('../../binaries/wasm-sync-node'); -const Yoga = wrapAssembly(loadAssembly()); -export default Yoga; diff --git a/javascript/src/entrypoint/wasm-sync-web.ts b/javascript/src/entrypoint/wasm-sync-web.ts deleted file mode 100644 index da1a53aa..00000000 --- a/javascript/src/entrypoint/wasm-sync-web.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @format - */ - -import wrapAssembly from '../wrapAssembly'; - -export * from '../generated/YGEnums'; -export type { - Config, - DirtiedFunction, - MeasureFunction, - Node, - Yoga, -} from '../wrapAssembly'; - -const loadAssembly = require('../../binaries/wasm-sync-web'); -const Yoga = wrapAssembly(loadAssembly()); -export default Yoga; diff --git a/javascript/src/entrypoint/asmjs-sync-node.ts b/javascript/src/index.ts similarity index 55% rename from javascript/src/entrypoint/asmjs-sync-node.ts rename to javascript/src/index.ts index d9102923..888257e7 100644 --- a/javascript/src/entrypoint/asmjs-sync-node.ts +++ b/javascript/src/index.ts @@ -7,17 +7,17 @@ * @format */ -import wrapAssembly from '../wrapAssembly'; +// @ts-ignore untyped from Emscripten +import loadYoga from '../binaries/web.js'; +import wrapAssembly from './wrapAssembly.js'; -export * from '../generated/YGEnums'; export type { Config, DirtiedFunction, MeasureFunction, Node, - Yoga, -} from '../wrapAssembly'; +} from './wrapAssembly.ts'; -const loadAssembly = require('../../binaries/asmjs-sync-node'); -const Yoga = wrapAssembly(loadAssembly()); +const Yoga = wrapAssembly(await loadYoga()); export default Yoga; +export * from './generated/YGEnums.ts'; diff --git a/javascript/src/wrapAssembly.js b/javascript/src/wrapAssembly.js index ff7c3654..eeeb8c30 100644 --- a/javascript/src/wrapAssembly.js +++ b/javascript/src/wrapAssembly.js @@ -7,7 +7,8 @@ * @format */ -import YGEnums, {Unit, Direction} from './generated/YGEnums'; +import {Unit, Direction} from './generated/YGEnums.ts'; +import YGEnums from './generated/YGEnums.ts'; export default function wrapAssembly(lib) { function patch(prototype, name, fn) { diff --git a/javascript/tests/Benchmarks/YGBenchmark.test.ts b/javascript/tests/Benchmarks/YGBenchmark.test.ts index 8dbfcf8f..e65f4ddb 100644 --- a/javascript/tests/Benchmarks/YGBenchmark.test.ts +++ b/javascript/tests/Benchmarks/YGBenchmark.test.ts @@ -5,8 +5,10 @@ * LICENSE file in the root directory of this source tree. */ -import {getMeasureCounter} from '../tools/MeasureCounter'; -import {Yoga, YGBENCHMARK} from '../tools/globals'; +import {getMeasureCounter} from '../tools/MeasureCounter.ts'; +import {YGBENCHMARK} from '../tools/globals.ts'; + +import Yoga from 'yoga-layout'; const ITERATIONS = 2000; diff --git a/javascript/tests/YGAlignBaselineTest.test.ts b/javascript/tests/YGAlignBaselineTest.test.ts index da9613db..fd03ddfe 100644 --- a/javascript/tests/YGAlignBaselineTest.test.ts +++ b/javascript/tests/YGAlignBaselineTest.test.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import {Yoga} from './tools/globals'; +import Yoga from 'yoga-layout'; test('align_baseline_parent_using_child_in_column_as_reference', () => { const config = Yoga.Config.create(); diff --git a/javascript/tests/YGComputedBorderTest.test.ts b/javascript/tests/YGComputedBorderTest.test.ts index c74bc956..09e98f67 100644 --- a/javascript/tests/YGComputedBorderTest.test.ts +++ b/javascript/tests/YGComputedBorderTest.test.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import {Yoga} from './tools/globals'; +import Yoga from 'yoga-layout'; test('border_start', () => { const root = Yoga.Node.create(); diff --git a/javascript/tests/YGComputedMarginTest.test.ts b/javascript/tests/YGComputedMarginTest.test.ts index 91a1ed87..3b3944e5 100644 --- a/javascript/tests/YGComputedMarginTest.test.ts +++ b/javascript/tests/YGComputedMarginTest.test.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import {Yoga} from './tools/globals'; +import Yoga from 'yoga-layout'; test('margin_start', () => { const root = Yoga.Node.create(); diff --git a/javascript/tests/YGComputedPaddingTest.test.ts b/javascript/tests/YGComputedPaddingTest.test.ts index c07c54d4..75653f22 100644 --- a/javascript/tests/YGComputedPaddingTest.test.ts +++ b/javascript/tests/YGComputedPaddingTest.test.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import {Yoga} from './tools/globals'; +import Yoga from 'yoga-layout'; test('padding_start', () => { const root = Yoga.Node.create(); diff --git a/javascript/tests/YGDirtiedTest.test.ts b/javascript/tests/YGDirtiedTest.test.ts index ef5ff40d..6d2fa671 100644 --- a/javascript/tests/YGDirtiedTest.test.ts +++ b/javascript/tests/YGDirtiedTest.test.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import {Yoga} from './tools/globals'; +import Yoga from 'yoga-layout'; test('dirtied', () => { const root = Yoga.Node.create(); diff --git a/javascript/tests/YGErrataTest.test.ts b/javascript/tests/YGErrataTest.test.ts index 02dda49a..da186fce 100644 --- a/javascript/tests/YGErrataTest.test.ts +++ b/javascript/tests/YGErrataTest.test.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import {Yoga} from './tools/globals'; +import Yoga from 'yoga-layout'; test('errata_all_contains_example_errata', () => { const config = Yoga.Config.create(); diff --git a/javascript/tests/YGFlexBasisAuto.test.ts b/javascript/tests/YGFlexBasisAuto.test.ts index 903ead2d..d6e28d69 100644 --- a/javascript/tests/YGFlexBasisAuto.test.ts +++ b/javascript/tests/YGFlexBasisAuto.test.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import {Yoga} from './tools/globals'; +import Yoga from 'yoga-layout'; test('flex_basis_auto', () => { const root = Yoga.Node.create(); diff --git a/javascript/tests/YGMeasureCacheTest.test.ts b/javascript/tests/YGMeasureCacheTest.test.ts index 8866281c..4a95d1c6 100644 --- a/javascript/tests/YGMeasureCacheTest.test.ts +++ b/javascript/tests/YGMeasureCacheTest.test.ts @@ -5,9 +5,9 @@ * LICENSE file in the root directory of this source tree. */ -import {Yoga} from './tools/globals'; +import Yoga from 'yoga-layout'; -import {getMeasureCounterMax} from './tools/MeasureCounter'; +import {getMeasureCounterMax} from './tools/MeasureCounter.ts'; test('measure_once_single_flexible_child', () => { const root = Yoga.Node.create(); diff --git a/javascript/tests/YGMeasureTest.test.ts b/javascript/tests/YGMeasureTest.test.ts index e4d4a132..941d424f 100644 --- a/javascript/tests/YGMeasureTest.test.ts +++ b/javascript/tests/YGMeasureTest.test.ts @@ -5,8 +5,8 @@ * LICENSE file in the root directory of this source tree. */ -import {Yoga} from './tools/globals'; -import {getMeasureCounter} from './tools/MeasureCounter'; +import Yoga from 'yoga-layout'; +import {getMeasureCounter} from './tools/MeasureCounter.ts'; test('dont_measure_single_grow_shrink_child', () => { const root = Yoga.Node.create(); diff --git a/javascript/tests/bin/run-bench.ts b/javascript/tests/bin/run-bench.ts index d5c4d088..b7e21fbc 100644 --- a/javascript/tests/bin/run-bench.ts +++ b/javascript/tests/bin/run-bench.ts @@ -10,9 +10,6 @@ import path from 'path'; -import YogaAsmjs from 'yoga-layout/asmjs-sync'; -import YogaWasm from 'yoga-layout/wasm-sync'; - const WARMUP_ITERATIONS = 3; const BENCHMARK_ITERATIONS = 10; @@ -20,9 +17,7 @@ const testFiles = process.argv.slice(2); const testResults = new Map>(); -for (const type of ['asmjs', 'wasm']) { - globalThis.Yoga = type === 'asmjs' ? YogaAsmjs : YogaWasm; - +for (const type of ['wasm']) { for (const file of testFiles) { globalThis.YGBENCHMARK = (name: string, fn: () => void) => { let testEntry = testResults.get(name); @@ -42,10 +37,7 @@ for (const type of ['asmjs', 'wasm']) { }; const modulePath = path.resolve(file); - - delete require.cache[require.resolve('../tools/globals')]; - delete require.cache[modulePath]; - require(modulePath); + await import(modulePath); } } diff --git a/javascript/tests/generated/YGAbsolutePositionTest.test.ts b/javascript/tests/generated/YGAbsolutePositionTest.test.ts index 2ec0ce82..50a4461b 100644 --- a/javascript/tests/generated/YGAbsolutePositionTest.test.ts +++ b/javascript/tests/generated/YGAbsolutePositionTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGAbsolutePositionTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGAlignContentTest.test.ts b/javascript/tests/generated/YGAlignContentTest.test.ts index adfe3ee9..263626a5 100644 --- a/javascript/tests/generated/YGAlignContentTest.test.ts +++ b/javascript/tests/generated/YGAlignContentTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGAlignContentTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGAlignItemsTest.test.ts b/javascript/tests/generated/YGAlignItemsTest.test.ts index 24350c85..ce356979 100644 --- a/javascript/tests/generated/YGAlignItemsTest.test.ts +++ b/javascript/tests/generated/YGAlignItemsTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGAlignItemsTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGAlignSelfTest.test.ts b/javascript/tests/generated/YGAlignSelfTest.test.ts index af12224e..55891d63 100644 --- a/javascript/tests/generated/YGAlignSelfTest.test.ts +++ b/javascript/tests/generated/YGAlignSelfTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGAlignSelfTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGAndroidNewsFeed.test.ts b/javascript/tests/generated/YGAndroidNewsFeed.test.ts index ff0dd916..324f3af3 100644 --- a/javascript/tests/generated/YGAndroidNewsFeed.test.ts +++ b/javascript/tests/generated/YGAndroidNewsFeed.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGAndroidNewsFeed.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGAspectRatioTest.test.ts b/javascript/tests/generated/YGAspectRatioTest.test.ts index c2ea8353..bbd0f3d6 100644 --- a/javascript/tests/generated/YGAspectRatioTest.test.ts +++ b/javascript/tests/generated/YGAspectRatioTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGAspectRatioTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGBorderTest.test.ts b/javascript/tests/generated/YGBorderTest.test.ts index b7904c30..994c6e51 100644 --- a/javascript/tests/generated/YGBorderTest.test.ts +++ b/javascript/tests/generated/YGBorderTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGBorderTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGDimensionTest.test.ts b/javascript/tests/generated/YGDimensionTest.test.ts index 998f5cfd..834c79d4 100644 --- a/javascript/tests/generated/YGDimensionTest.test.ts +++ b/javascript/tests/generated/YGDimensionTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGDimensionTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGDisplayTest.test.ts b/javascript/tests/generated/YGDisplayTest.test.ts index 96cdd77c..833062ce 100644 --- a/javascript/tests/generated/YGDisplayTest.test.ts +++ b/javascript/tests/generated/YGDisplayTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGDisplayTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGFlexDirectionTest.test.ts b/javascript/tests/generated/YGFlexDirectionTest.test.ts index 87180643..7ceb15e0 100644 --- a/javascript/tests/generated/YGFlexDirectionTest.test.ts +++ b/javascript/tests/generated/YGFlexDirectionTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGFlexDirectionTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGFlexTest.test.ts b/javascript/tests/generated/YGFlexTest.test.ts index af26541a..79876f51 100644 --- a/javascript/tests/generated/YGFlexTest.test.ts +++ b/javascript/tests/generated/YGFlexTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGFlexTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGFlexWrapTest.test.ts b/javascript/tests/generated/YGFlexWrapTest.test.ts index 7f2daaa8..a0180624 100644 --- a/javascript/tests/generated/YGFlexWrapTest.test.ts +++ b/javascript/tests/generated/YGFlexWrapTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGFlexWrapTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGGapTest.test.ts b/javascript/tests/generated/YGGapTest.test.ts index caf9865e..5e62620c 100644 --- a/javascript/tests/generated/YGGapTest.test.ts +++ b/javascript/tests/generated/YGGapTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGGapTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGJustifyContentTest.test.ts b/javascript/tests/generated/YGJustifyContentTest.test.ts index 8f7e813f..381a1b96 100644 --- a/javascript/tests/generated/YGJustifyContentTest.test.ts +++ b/javascript/tests/generated/YGJustifyContentTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGJustifyContentTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGMarginTest.test.ts b/javascript/tests/generated/YGMarginTest.test.ts index 19b5ad2a..ac563eb9 100644 --- a/javascript/tests/generated/YGMarginTest.test.ts +++ b/javascript/tests/generated/YGMarginTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGMarginTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGMinMaxDimensionTest.test.ts b/javascript/tests/generated/YGMinMaxDimensionTest.test.ts index dc951060..cb7978aa 100644 --- a/javascript/tests/generated/YGMinMaxDimensionTest.test.ts +++ b/javascript/tests/generated/YGMinMaxDimensionTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGMinMaxDimensionTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGPaddingTest.test.ts b/javascript/tests/generated/YGPaddingTest.test.ts index 75e74b6a..342009b5 100644 --- a/javascript/tests/generated/YGPaddingTest.test.ts +++ b/javascript/tests/generated/YGPaddingTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGPaddingTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGPercentageTest.test.ts b/javascript/tests/generated/YGPercentageTest.test.ts index effa8763..50a0f76a 100644 --- a/javascript/tests/generated/YGPercentageTest.test.ts +++ b/javascript/tests/generated/YGPercentageTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGPercentageTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGRoundingTest.test.ts b/javascript/tests/generated/YGRoundingTest.test.ts index 63c981bf..0b267f11 100644 --- a/javascript/tests/generated/YGRoundingTest.test.ts +++ b/javascript/tests/generated/YGRoundingTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGRoundingTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/generated/YGSizeOverflowTest.test.ts b/javascript/tests/generated/YGSizeOverflowTest.test.ts index 436bcb89..f82c630e 100644 --- a/javascript/tests/generated/YGSizeOverflowTest.test.ts +++ b/javascript/tests/generated/YGSizeOverflowTest.test.ts @@ -7,7 +7,7 @@ // @generated by gentest/gentest.rb from gentest/fixtures/YGSizeOverflowTest.html -import {Yoga} from "../tools/globals"; +import Yoga from 'yoga-layout'; import { Align, Direction, diff --git a/javascript/tests/tools/MeasureCounter.ts b/javascript/tests/tools/MeasureCounter.ts index 542f0266..d7af4735 100644 --- a/javascript/tests/tools/MeasureCounter.ts +++ b/javascript/tests/tools/MeasureCounter.ts @@ -8,7 +8,7 @@ */ import type {MeasureFunction} from 'yoga-layout'; -import {Yoga} from './globals'; +import Yoga from 'yoga-layout'; export type MeasureCounter = { inc: MeasureFunction; diff --git a/javascript/tests/tools/globals.ts b/javascript/tests/tools/globals.ts index e7d958a7..2e92b5aa 100644 --- a/javascript/tests/tools/globals.ts +++ b/javascript/tests/tools/globals.ts @@ -5,23 +5,15 @@ * LICENSE file in the root directory of this source tree. */ -import type {Yoga} from 'yoga-layout'; - declare global { - // eslint-disable-next-line no-var - var Yoga: Yoga | undefined; // eslint-disable-next-line no-var var YGBENCHMARK: (title: string, fn: () => void) => void; } -if (globalThis.Yoga === undefined) { - throw new Error('Expected "Yoga" global to be set'); -} if (globalThis.YGBENCHMARK === undefined) { throw new Error('Expected "YGBENCHMARK" global to be set'); } -const yoga = globalThis.Yoga; const benchmark = globalThis.YGBENCHMARK; -export {yoga as Yoga, benchmark as YGBENCHMARK}; +export {benchmark as YGBENCHMARK}; diff --git a/javascript/tsconfig.json b/javascript/tsconfig.json index a1434af8..ede5f35d 100644 --- a/javascript/tsconfig.json +++ b/javascript/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { - "target": "es2018", - "module": "commonjs", + "target": "es2020", + "module": "esnext", "strict": true, "declaration": true, "esModuleInterop": true, @@ -11,12 +11,14 @@ "forceConsistentCasingInFileNames": false, "baseUrl": ".", "moduleResolution": "nodenext", + "allowImportingTsExtensions": true, "paths": { "yoga-layout": ["src"] } }, "ts-node": { - "transpileOnly": true + "transpileOnly": true, + "esm": true }, "exclude": [ "binaries/**/*", diff --git a/package.json b/package.json index e6f69ce2..6453741f 100644 --- a/package.json +++ b/package.json @@ -19,5 +19,6 @@ "eslint-plugin-prettier": "^4.2.1", "prettier": "2.8.8", "typescript": "5.0.4" - } + }, + "dependencies": {} } diff --git a/website-next/babel.config.js b/website-next/babel.config.cjs similarity index 100% rename from website-next/babel.config.js rename to website-next/babel.config.cjs diff --git a/website-next/docusaurus.config.js b/website-next/docusaurus.config.cjs similarity index 98% rename from website-next/docusaurus.config.js rename to website-next/docusaurus.config.cjs index b92e8423..f8f1ef5f 100644 --- a/website-next/docusaurus.config.js +++ b/website-next/docusaurus.config.cjs @@ -37,7 +37,7 @@ const config = { /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { - sidebarPath: require.resolve('./sidebars.js'), + sidebarPath: require.resolve('./sidebars.cjs'), editUrl: 'https://github.com/facebook/yoga/tree/main/website', }, blog: { diff --git a/website-next/sidebars.js b/website-next/sidebars.cjs similarity index 100% rename from website-next/sidebars.js rename to website-next/sidebars.cjs diff --git a/website-next/src/components/Playground/Editor.tsx b/website-next/src/components/Playground/Editor.tsx index c77a6ed7..7006fd9f 100644 --- a/website-next/src/components/Playground/Editor.tsx +++ b/website-next/src/components/Playground/Editor.tsx @@ -11,7 +11,7 @@ import React, {Component} from 'react'; import {Row, Col, Button, Tabs} from 'antd'; import EditValue from './EditValue'; import type {LayoutRecordType} from './LayoutRecord'; -import type {Direction} from 'yoga-layout/sync'; +import type {Direction} from 'yoga-layout'; import InfoText from './InfoText'; import './Editor.css'; const TabPane = Tabs.TabPane; diff --git a/website-next/src/components/Playground/LayoutRecord.tsx b/website-next/src/components/Playground/LayoutRecord.tsx index 764ab438..0892da1d 100644 --- a/website-next/src/components/Playground/LayoutRecord.tsx +++ b/website-next/src/components/Playground/LayoutRecord.tsx @@ -10,15 +10,8 @@ import {Record, List} from 'immutable'; import PositionRecord from './PositionRecord'; import type {PositionRecordType} from './PositionRecord'; -import yoga from 'yoga-layout/sync'; -import type { - Align, - Justify, - FlexDirection, - Wrap, - PositionType, -} from 'yoga-layout/sync'; +import {Align, Justify, FlexDirection, Wrap, PositionType} from 'yoga-layout'; export type LayoutRecordType = ReturnType; @@ -50,11 +43,11 @@ export type LayoutRecordFactory = Record.Factory<{ const r: LayoutRecordFactory = Record({ width: 'auto', height: 'auto', - justifyContent: yoga.JUSTIFY_FLEX_START, - alignItems: yoga.ALIGN_STRETCH, - alignSelf: yoga.ALIGN_AUTO, - alignContent: yoga.ALIGN_STRETCH, - flexDirection: yoga.FLEX_DIRECTION_ROW, + justifyContent: Justify.FlexStart, + alignItems: Align.Stretch, + alignSelf: Align.Auto, + alignContent: Align.Stretch, + flexDirection: FlexDirection.Row, padding: PositionRecord(), margin: PositionRecord(), border: PositionRecord(), @@ -64,8 +57,8 @@ const r: LayoutRecordFactory = Record({ right: NaN, bottom: NaN, }), - positionType: yoga.POSITION_TYPE_RELATIVE, - flexWrap: yoga.WRAP_NO_WRAP, + positionType: PositionType.Relative, + flexWrap: Wrap.NoWrap, flexBasis: 'auto', flexGrow: 0, flexShrink: 1, diff --git a/website-next/src/components/Playground/YogaEnumSelect.tsx b/website-next/src/components/Playground/YogaEnumSelect.tsx index 31d2bb51..94946b0e 100644 --- a/website-next/src/components/Playground/YogaEnumSelect.tsx +++ b/website-next/src/components/Playground/YogaEnumSelect.tsx @@ -8,7 +8,7 @@ */ import React, {Component} from 'react'; -import Yoga from 'yoga-layout/sync'; +import Yoga from 'yoga-layout'; import {Radio, Menu, Dropdown, Button, Icon} from 'antd'; import './YogaEnumSelect.css'; const RadioButton = Radio.Button; diff --git a/website-next/src/components/Playground/YogaNode.tsx b/website-next/src/components/Playground/YogaNode.tsx index da5322d6..65ad4d47 100644 --- a/website-next/src/components/Playground/YogaNode.tsx +++ b/website-next/src/components/Playground/YogaNode.tsx @@ -8,12 +8,12 @@ */ import React, {Component} from 'react'; -import Yoga from 'yoga-layout/sync'; +import Yoga from 'yoga-layout'; import PositionGuide from './PositionGuide'; import PositionRecord from './PositionRecord'; import LayoutRecord from './LayoutRecord'; import type {LayoutRecordType} from './LayoutRecord'; -import {Direction, Display, Edge, Node, Wrap} from 'yoga-layout/sync'; +import {Direction, Display, Edge, Node, Wrap} from 'yoga-layout'; import './YogaNode.css'; diff --git a/website-next/src/components/Playground/index.tsx b/website-next/src/components/Playground/index.tsx index 12171a5b..19f90e74 100644 --- a/website-next/src/components/Playground/index.tsx +++ b/website-next/src/components/Playground/index.tsx @@ -8,7 +8,7 @@ */ import React, {Component} from 'react'; -import {Direction} from 'yoga-layout/sync'; +import {Direction} from 'yoga-layout'; import YogaNode from './YogaNode'; import Editor from './Editor'; import {List, setIn} from 'immutable'; diff --git a/website-next/src/pages/index.tsx b/website-next/src/pages/index.tsx index c011234c..5e6e1fcc 100644 --- a/website-next/src/pages/index.tsx +++ b/website-next/src/pages/index.tsx @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import React from 'react'; +import React, {Suspense} from 'react'; import clsx from 'clsx'; import Link from '@docusaurus/Link'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; @@ -34,6 +34,8 @@ function HomepageHeader() { ); } +const LazyPlayground = React.lazy(() => import('../components/Playground')); + export default function Home(): JSX.Element { const {siteConfig} = useDocusaurusContext(); return ( @@ -44,10 +46,11 @@ export default function Home(): JSX.Element {
- {() => { - const Playground = require('../components/Playground'); - return ; - }} + {() => ( + + + + )}
diff --git a/website-next/tsconfig.json b/website-next/tsconfig.json index 6f475698..a7d78311 100644 --- a/website-next/tsconfig.json +++ b/website-next/tsconfig.json @@ -2,6 +2,10 @@ // This file is not used in compilation. It is here just for a nice editor experience. "extends": "@tsconfig/docusaurus/tsconfig.json", "compilerOptions": { - "baseUrl": "." + "baseUrl": ".", + "target": "esnext", + "module": "esnext", + "moduleResolution": "bundler", + "allowImportingTsExtensions": true } } diff --git a/yarn.lock b/yarn.lock index 5879177d..9e808326 100644 --- a/yarn.lock +++ b/yarn.lock @@ -813,18 +813,6 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/node@^7.21.4": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.22.6.tgz#a47b4f150f06bad1808823c4519690ded6c93911" - integrity sha512-Lt6v+RUQOTsEOXLv+KfjogLFkFfsLPPSoXZqmbngfVatkWjQPnFGHO0xjFRcN6XEvm3vsnZn+AWQiRpgZFsdIA== - dependencies: - "@babel/register" "^7.22.5" - commander "^4.0.1" - core-js "^3.30.2" - node-environment-flags "^1.0.5" - regenerator-runtime "^0.13.11" - v8flags "^3.1.1" - "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7": version "7.21.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.8.tgz#642af7d0333eab9c0ad70b14ac5e76dbde7bfdf8" @@ -1780,17 +1768,6 @@ "@babel/plugin-transform-modules-commonjs" "^7.21.5" "@babel/plugin-transform-typescript" "^7.21.3" -"@babel/register@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.22.5.tgz#e4d8d0f615ea3233a27b5c6ada6750ee59559939" - integrity sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ== - dependencies: - clone-deep "^4.0.1" - find-cache-dir "^2.0.0" - make-dir "^2.1.0" - pirates "^4.0.5" - source-map-support "^0.5.16" - "@babel/regjsgen@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" @@ -1898,13 +1875,6 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - "@discoveryjs/json-ext@0.5.7": version "0.5.7" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" @@ -2633,11 +2603,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" @@ -2656,14 +2621,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.18" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" @@ -2942,26 +2899,6 @@ resolved "https://registry.yarnpkg.com/@tsconfig/docusaurus/-/docusaurus-1.0.7.tgz#a3ee3c8109b3fec091e3d61a61834e563aeee3c3" integrity sha512-ffTXxGIP/IRMCjuzHd6M4/HdIrw1bMfC7Bv8hMkTadnePkpe0lG0oDSdbRpSDZb2rQMAgpbWiR10BvxvNYwYrg== -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== - "@types/babel__core@^7.1.14": version "7.1.20" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" @@ -3575,12 +3512,12 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@^8.0.0, acorn-walk@^8.1.1: +acorn-walk@^8.0.0: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^8.0.4, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.0, acorn@^8.8.2: +acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.0, acorn@^8.8.2: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== @@ -3797,11 +3734,6 @@ anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - arg@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" @@ -3838,14 +3770,6 @@ arr-map@^2.0.0, arr-map@^2.0.2: dependencies: make-iterator "^1.0.0" -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - array-each@^1.0.0, array-each@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" @@ -3891,17 +3815,6 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.reduce@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz#6b20b0daa9d9734dd6bc7ea66b5bbce395471eac" - integrity sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -3967,11 +3880,6 @@ autoprefixer@^10.4.12, autoprefixer@^10.4.7: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - axios@^0.25.0: version "0.25.0" resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a" @@ -4119,6 +4027,11 @@ babel-preset-jest@^29.2.0: babel-plugin-jest-hoist "^29.2.0" babel-preset-current-node-syntax "^1.0.0" +babel-register-esm@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/babel-register-esm/-/babel-register-esm-1.2.5.tgz#66ff8e0b795f4af3ee11bf4895c73f2780dafde8" + integrity sha512-WaVd3Rm42kndYnufn8u1SbUUwuCxL2GAQX/7QXUL3w/7PffB+HcXrzmAqk1x01TjhFh/npSZ9Z3MNBc6dDb6Uw== + babel-runtime@6.x, babel-runtime@^6.18.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -4375,20 +4288,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001502: - version "1.0.30001502" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001502.tgz#f7e4a76eb1d2d585340f773767be1fefc118dca8" - integrity sha512-AZ+9tFXw1sS0o0jcpJQIXvFTOB/xGiQ4OQ2t98QX3NDn2EZTSRBC801gxrsGgViuq2ak/NLkNgSNEPtCr5lfKg== - -caniuse-lite@^1.0.30001400: - version "1.0.30001441" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e" - integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== - -caniuse-lite@^1.0.30001503: - version "1.0.30001515" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001515.tgz#418aefeed9d024cd3129bfae0ccc782d4cb8f12b" - integrity sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001502, caniuse-lite@^1.0.30001503: + version "1.0.30001551" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz" + integrity sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg== cardinal@^2.1.1: version "2.1.1" @@ -4865,11 +4768,6 @@ core-js@^3.23.3: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.31.0.tgz#4471dd33e366c79d8c0977ed2d940821719db344" integrity sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ== -core-js@^3.30.2: - version "3.31.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.31.1.tgz#f2b0eea9be9da0def2c5fece71064a7e5d687653" - integrity sha512-2sKLtfq1eFST7l7v62zaqXacPc7uG8ZAya8ogijLhTtaKNcpzpB4TMoTw2Si+8GYKRwFPMMtUT0263QFWFfqyQ== - core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" @@ -4915,11 +4813,6 @@ create-react-class@^15.5.3: loose-envify "^1.3.1" object-assign "^4.1.1" -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - cross-fetch@^3.1.5: version "3.1.6" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.6.tgz#bae05aa31a4da760969756318feeee6e70f15d6c" @@ -5164,7 +5057,7 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: +define-properties@^1.1.4: version "1.2.0" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== @@ -5249,11 +5142,6 @@ diff-sequences@^29.4.3: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -5497,74 +5385,11 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2: - version "1.21.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" - integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== - dependencies: - array-buffer-byte-length "^1.0.0" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.0" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.10" - is-weakref "^1.0.2" - object-inspect "^1.12.3" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.9" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - es-module-lexer@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.0.tgz#6be9c9e0b4543a60cd166ff6f8b4e9dae0b0c16f" integrity sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA== -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50: version "0.10.62" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" @@ -6047,15 +5872,6 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-cache-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - find-cache-dir@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" @@ -6114,13 +5930,6 @@ follow-redirects@^1.0.0, follow-redirects@^1.14.7: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - for-in@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -6232,21 +6041,6 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functions-have-names@^1.2.2, functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -6257,7 +6051,7 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== @@ -6295,14 +6089,6 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - github-slugger@^1.4.0: version "1.5.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" @@ -6385,13 +6171,6 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -6422,13 +6201,6 @@ good-listener@^1.2.2: dependencies: delegate "^3.1.2" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -6493,11 +6265,6 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -6515,23 +6282,11 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: +has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -6656,13 +6411,6 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0: dependencies: react-is "^16.7.0" -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - dependencies: - parse-passwd "^1.0.0" - hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -6923,15 +6671,6 @@ inline-style-parser@0.1.1: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== -internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" - interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" @@ -6967,27 +6706,11 @@ is-alphanumerical@^1.0.0: is-alphabetical "^1.0.0" is-decimal "^1.0.0" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -6995,24 +6718,11 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-buffer@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -7034,13 +6744,6 @@ is-core-module@^2.9.0: dependencies: has "^1.0.3" -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - is-decimal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" @@ -7096,23 +6799,11 @@ is-mobile@^2.1.0: resolved "https://registry.yarnpkg.com/is-mobile/-/is-mobile-2.2.2.tgz#f6c9c5d50ee01254ce05e739bdd835f1ed4e9954" integrity sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg== -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - is-npm@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - is-number@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" @@ -7160,14 +6851,6 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -7178,13 +6861,6 @@ is-root@^2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - is-stream@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -7195,43 +6871,11 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - is-whitespace-character@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" @@ -7259,11 +6903,6 @@ isarray@0.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -8079,7 +7718,7 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -make-dir@^2.0.0, make-dir@^2.1.0: +make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== @@ -8094,11 +7733,6 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: dependencies: semver "^6.0.0" -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - make-iterator@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" @@ -8408,14 +8042,6 @@ node-emoji@^1.10.0: dependencies: lodash "^4.17.21" -node-environment-flags@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" - integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== - dependencies: - object.getownpropertydescriptors "^2.0.3" - semver "^5.7.0" - node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -8509,7 +8135,7 @@ object-assign@4.x, object-assign@^4.1.0, object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.12.3, object-inspect@^1.9.0: +object-inspect@^1.9.0: version "1.12.3" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== @@ -8519,7 +8145,7 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.0, object.assign@^4.1.4: +object.assign@^4.1.0: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== @@ -8539,17 +8165,6 @@ object.defaults@^1.0.0: for-own "^1.0.0" isobject "^3.0.0" -object.getownpropertydescriptors@^2.0.3: - version "2.1.6" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz#5e5c384dd209fa4efffead39e3a0512770ccc312" - integrity sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ== - dependencies: - array.prototype.reduce "^1.0.5" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.21.2" - safe-array-concat "^1.0.0" - object.reduce@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" @@ -8746,11 +8361,6 @@ parse-numeric-range@^1.3.0: resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== - parse5-htmlparser2-tree-adapter@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" @@ -8856,18 +8466,11 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pirates@^4.0.4, pirates@^4.0.5: +pirates@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -10077,15 +9680,6 @@ regenerator-transform@^0.15.1: dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.4.3: - version "1.5.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" - integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - functions-have-names "^1.2.3" - regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" @@ -10364,16 +9958,6 @@ rxjs@^7.5.4: dependencies: tslib "^2.1.0" -safe-array-concat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" - integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - has-symbols "^1.0.3" - isarray "^2.0.5" - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -10384,15 +9968,6 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -10480,7 +10055,7 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -semver@^5.4.1, semver@^5.6.0, semver@^5.7.0: +semver@^5.4.1, semver@^5.6.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -10705,7 +10280,7 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.5.16, source-map-support@~0.5.20: +source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -10824,33 +10399,6 @@ string-width@^5.0.1: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.trim@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" - integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -11119,25 +10667,6 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== -ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - tslib@^1.8.1: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -11200,15 +10729,6 @@ type@^2.7.2: resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -11231,16 +10751,6 @@ ua-parser-js@^1.0.35: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.35.tgz#c4ef44343bc3db0a3cbefdf21822f1b1fc1ab011" integrity sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA== -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - undertaker-registry@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" @@ -11508,11 +11018,6 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - v8-to-istanbul@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" @@ -11522,13 +11027,6 @@ v8-to-istanbul@^9.0.1: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" -v8flags@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" - integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== - dependencies: - homedir-polyfill "^1.0.1" - validator@^13.7.0: version "13.7.0" resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" @@ -11768,29 +11266,6 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-typed-array@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" - which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -11960,11 +11435,6 @@ yargs@^17.3.1: y18n "^5.0.5" yargs-parser "^21.1.1" -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"