fix: change default options for sourceMaps inside WBIP (#31270)

* fix: change default options for sourceMaps inside WBIP

* add better error handling to @cypress/webpack-preprocessor when using typescript 5

* chore: update snapshots for protocol spec

* move options downstream into @cypress/webpack-preprocessor and see what fails

* address comments from code review
This commit is contained in:
Bill Glesias
2025-03-24 16:34:48 -04:00
committed by GitHub
parent 4670b13053
commit 7bdf1e9870
23 changed files with 850 additions and 697 deletions

View File

@@ -7,6 +7,7 @@ _Released 3/25/2025 (PENDING)_
- Applies a fix from [#30730](https://github.com/cypress-io/cypress/pull/30730) and [#30099](https://github.com/cypress-io/cypress/pull/30099) related to Node.js turning on ESM flags by default in Node.js version `20.19.0`. Fixed in [#31308](https://github.com/cypress-io/cypress/pull/31308).
- Fixed an issue where Firefox BiDi was not correctly removing prerequests on expected network request failures. Fixes [#31325](https://github.com/cypress-io/cypress/issues/31325).
- Fixed an issue in `@cypress/webpack-batteries-included-preprocessor` and `@cypress/webpack-preprocessor` where sourceMaps were not being set correctly in TypeScript 5. This should now make error code frames accurate for TypeScript 5 users. Fixes [#29614](https://github.com/cypress-io/cypress/issues/29614).
**Misc:**

View File

@@ -1,6 +1,4 @@
const path = require('path')
const fs = require('fs-extra')
const JSON5 = require('json5')
const webpack = require('webpack')
const Debug = require('debug')
const webpackPreprocessor = require('@cypress/webpack-preprocessor')
@@ -17,38 +15,6 @@ const hasTsLoader = (rules) => {
})
}
const getTSCompilerOptionsForUser = (configFilePath) => {
const compilerOptions = {
sourceMap: false,
inlineSourceMap: true,
inlineSources: true,
downlevelIteration: true,
}
if (!configFilePath) {
return compilerOptions
}
try {
// If possible, try to read the user's tsconfig.json and see if sourceMap is configured
// eslint-disable-next-line no-restricted-syntax
const tsconfigJSON = fs.readFileSync(configFilePath, 'utf8')
// file might have trailing commas, new lines, etc. JSON5 can parse those correctly
const parsedJSON = JSON5.parse(tsconfigJSON)
// if the user has sourceMap's configured, set the option to true and turn off inlineSourceMaps
if (parsedJSON?.compilerOptions?.sourceMap) {
compilerOptions.sourceMap = true
compilerOptions.inlineSourceMap = false
compilerOptions.inlineSources = false
}
} catch (e) {
debug(`error in getTSCompilerOptionsForUser. Returning default...`, e)
} finally {
return compilerOptions
}
}
const addTypeScriptConfig = (file, options) => {
// shortcut if we know we've already added typescript support
if (options.__typescriptSupportAdded) return options
@@ -60,14 +26,21 @@ const addTypeScriptConfig = (file, options) => {
if (!rules || !Array.isArray(rules)) return options
// if we find ts-loader configured, don't add it again
if (hasTsLoader(rules)) return options
if (hasTsLoader(rules)) {
debug('ts-loader already configured, not adding again')
return options
}
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin')
// node will try to load a projects tsconfig.json instead of the node
// package using require('tsconfig'), so we alias it as 'tsconfig-aliased-for-wbip'
const configFile = require('tsconfig-aliased-for-wbip').findSync(path.dirname(file.filePath))
const compilerOptions = getTSCompilerOptionsForUser(configFile)
const getTsConfig = require('get-tsconfig')
// returns null if tsconfig cannot be found in the path/parent hierarchy
const configFile = getTsConfig.getTsconfig(file.filePath)
configFile ? debug(`found user tsconfig.json at ${configFile?.path} with compilerOptions: ${JSON.stringify(configFile?.config?.compilerOptions)}`) : debug('no user tsconfig.json found')
webpackOptions.module.rules.push({
test: /\.tsx?$/,
@@ -77,7 +50,6 @@ const addTypeScriptConfig = (file, options) => {
loader: require.resolve('ts-loader'),
options: {
compiler: options.typescript,
compilerOptions,
logLevel: 'error',
silent: true,
transpileOnly: true,
@@ -88,7 +60,7 @@ const addTypeScriptConfig = (file, options) => {
webpackOptions.resolve.extensions = webpackOptions.resolve.extensions.concat(['.ts', '.tsx'])
webpackOptions.resolve.plugins = [new TsconfigPathsPlugin({
configFile,
configFile: configFile?.path,
silent: true,
})]

View File

@@ -27,9 +27,8 @@
"debug": "^4.3.4",
"domain-browser": "^4.22.0",
"events": "^3.3.0",
"fs-extra": "^9.1.0",
"get-tsconfig": "^4.10.0",
"https-browserify": "^1.0.0",
"json5": "2.2.3",
"os-browserify": "^0.3.0",
"path-browserify": "^1.0.1",
"process": "^0.11.10",
@@ -39,8 +38,7 @@
"stream-http": "^3.2.0",
"string_decoder": "1.3.0",
"timers-browserify": "^2.0.12",
"ts-loader": "9.4.4",
"tsconfig-aliased-for-wbip": "npm:tsconfig@^7.0.0",
"ts-loader": "9.5.2",
"tsconfig-paths-webpack-plugin": "^3.5.2",
"tty-browserify": "^0.0.1",
"url": "^0.11.1",

View File

@@ -32,36 +32,24 @@ describe('webpack-batteries-included-preprocessor', () => {
})
context('#getTSCompilerOptionsForUser', () => {
const mockTsconfigPath = '/path/to/tsconfig.json'
let readFileTsConfigMock
let getTsConfigMock
let preprocessor
let readFileTsConfigStub
let webpackOptions
beforeEach(() => {
const tsConfigPathSpy = sinon.spy()
readFileTsConfigMock = () => {
throw new Error('Could not read file!')
}
mock('tsconfig-paths-webpack-plugin', tsConfigPathSpy)
mock('@cypress/webpack-preprocessor', (options) => {
return (file) => undefined
})
const tsconfig = require('tsconfig-aliased-for-wbip')
const getTsConfig = require('get-tsconfig')
sinon.stub(tsconfig, 'findSync').callsFake(() => mockTsconfigPath)
getTsConfigMock = sinon.stub(getTsConfig, 'getTsconfig')
preprocessor = require('../../index')
const fs = require('fs-extra')
readFileTsConfigStub = sinon.stub(fs, 'readFileSync').withArgs(mockTsconfigPath, 'utf8').callsFake(() => {
return readFileTsConfigMock()
})
webpackOptions = {
module: {
rules: [],
@@ -74,12 +62,14 @@ describe('webpack-batteries-included-preprocessor', () => {
})
afterEach(() => {
// Remove the mock
// Remove the mock
mock.stop('tsconfig-paths-webpack-plugin')
mock.stop('@cypress/webpack-preprocessor')
})
it('always returns compilerOptions even if there is an error discovering the user\'s tsconfig.json', () => {
it('always returns loader options even if there is an error discovering the user\'s tsconfig.json', () => {
getTsConfigMock.returns(null)
const preprocessorCB = preprocessor({
typescript: true,
webpackOptions,
@@ -90,7 +80,6 @@ describe('webpack-batteries-included-preprocessor', () => {
outputPath: '.js',
})
sinon.assert.calledOnce(readFileTsConfigStub)
const tsLoader = webpackOptions.module.rules[0].use[0]
expect(tsLoader.loader).to.contain('ts-loader')
@@ -100,80 +89,8 @@ describe('webpack-batteries-included-preprocessor', () => {
expect(tsLoader.options.silent).to.be.true
expect(tsLoader.options.transpileOnly).to.be.true
const compilerOptions = tsLoader.options.compilerOptions
expect(compilerOptions.downlevelIteration).to.be.true
expect(compilerOptions.inlineSources).to.be.true
expect(compilerOptions.inlineSources).to.be.true
expect(compilerOptions.sourceMap).to.be.false
})
it('turns inlineSourceMaps on by default even if none are configured', () => {
// make json5 compat schema
const mockTsConfig = `{
"compilerOptions": {
"sourceMap": false,
"someConfigWithTrailingComma": true,
}
}`
readFileTsConfigMock = () => mockTsConfig
const preprocessorCB = preprocessor({
typescript: true,
webpackOptions,
})
preprocessorCB({
filePath: 'foo.ts',
outputPath: '.js',
})
sinon.assert.calledOnce(readFileTsConfigStub)
const tsLoader = webpackOptions.module.rules[0].use[0]
expect(tsLoader.loader).to.contain('ts-loader')
const compilerOptions = tsLoader.options.compilerOptions
expect(compilerOptions.downlevelIteration).to.be.true
expect(compilerOptions.inlineSources).to.be.true
expect(compilerOptions.inlineSources).to.be.true
expect(compilerOptions.sourceMap).to.be.false
})
it('turns on sourceMaps and disables inlineSourceMap and inlineSources if the sourceMap configuration option is set by the user', () => {
// make json5 compat schema
const mockTsConfig = `{
"compilerOptions": {
"sourceMap": true,
"someConfigWithTrailingComma": true,
}
}`
readFileTsConfigMock = () => mockTsConfig
const preprocessorCB = preprocessor({
typescript: true,
webpackOptions,
})
preprocessorCB({
filePath: 'foo.ts',
outputPath: '.js',
})
sinon.assert.calledOnce(readFileTsConfigStub)
const tsLoader = webpackOptions.module.rules[0].use[0]
expect(tsLoader.loader).to.contain('ts-loader')
const compilerOptions = tsLoader.options.compilerOptions
expect(compilerOptions.downlevelIteration).to.be.true
expect(compilerOptions.inlineSources).to.be.false
expect(compilerOptions.inlineSources).to.be.false
expect(compilerOptions.sourceMap).to.be.true
// compilerOptions are set by `@cypress/webpack-preprocessor` if ts-loader is present
expect(tsLoader.options.compilerOptions).to.be.undefined
})
})
})

View File

@@ -7,6 +7,72 @@ import webpack from 'webpack'
import utils from './lib/utils'
import { overrideSourceMaps } from './lib/typescript-overrides'
const getTsLoaderIfExists = (rules) => {
let tsLoaderRule
rules.some((rule) => {
if (!rule.use && !rule.loader) return false
if (Array.isArray(rule.use)) {
const foundRule = rule.use.find((use) => {
return use.loader && use.loader.includes('ts-loader')
})
/**
* If the rule is found, it will look like this:
* rules: [
* {
* test: /\.tsx?$/,
* exclude: [/node_modules/],
* use: [{
* loader: 'ts-loader'
* }]
* }
* ]
*/
tsLoaderRule = foundRule
return tsLoaderRule
}
if (_.isObject(rule.use) && rule.use.loader && rule.use.loader.includes('ts-loader')) {
/**
* If the rule is found, it will look like this:
* rules: [
* {
* test: /\.tsx?$/,
* exclude: [/node_modules/],
* use: {
* loader: 'ts-loader'
* }
* }
* ]
*/
tsLoaderRule = rule.use
return tsLoaderRule
}
tsLoaderRule = rules.find((rule) => {
/**
* If the rule is found, it will look like this:
* rules: [
* {
* test: /\.tsx?$/,
* exclude: [/node_modules/],
* loader: 'ts-loader'
* }
* ]
*/
return rule.loader && rule.loader.includes('ts-loader')
})
return tsLoaderRule
})
return tsLoaderRule
}
const debug = Debug('cypress:webpack')
const debugStats = Debug('cypress:webpack:stats')
@@ -208,6 +274,37 @@ const preprocessor: WebpackPreprocessor = (options: PreprocessorOptions = {}): F
filename: path.basename(outputPath),
},
})
.tap((opts) => {
try {
const tsLoaderRule = getTsLoaderIfExists(opts?.module?.rules)
if (!tsLoaderRule) {
debug('ts-loader not detected')
return
}
// FIXME: To prevent disruption, we are only passing in these 4 options to the ts-loader.
// We will be passing in the entire compilerOptions object from the tsconfig.json in Cypress 15.
// @see https://github.com/cypress-io/cypress/issues/29614#issuecomment-2722071332
// @see https://github.com/cypress-io/cypress/issues/31282
// Cypress ALWAYS wants sourceMap set to true, regardless of the user configuration.
// This is because we want to display a correct code frame in the test runner.
debug(`ts-loader detected: overriding tsconfig to use sourceMap:true, inlineSourceMap:false, inlineSources:false, downlevelIteration:true`)
tsLoaderRule.options = tsLoaderRule?.options || {}
tsLoaderRule.options.compilerOptions = tsLoaderRule.options?.compilerOptions || {}
tsLoaderRule.options.compilerOptions.sourceMap = true
tsLoaderRule.options.compilerOptions.inlineSourceMap = false
tsLoaderRule.options.compilerOptions.inlineSources = false
tsLoaderRule.options.compilerOptions.downlevelIteration = true
} catch (e) {
debug('ts-loader not detected', e)
return
}
})
.tap((opts) => {
if (opts.devtool === false) {
// disable any overrides if we've explicitly turned off sourcemaps

View File

@@ -1,8 +1,11 @@
const debug = require('debug')('cypress:webpack')
const _ = require('lodash')
import debugModule from 'debug'
import _ from 'lodash'
import semverLt from 'semver/functions/lt'
import { CompilerOptions, CreateProgramOptions } from 'typescript'
const debug = debugModule('cypress:webpack')
let patched = false
const getProgramOptions = (rootNamesOrOptions: CreateProgramOptions, options: CompilerOptions): CompilerOptions => {
@@ -10,52 +13,66 @@ const getProgramOptions = (rootNamesOrOptions: CreateProgramOptions, options: Co
}
export const overrideSourceMaps = (sourceMap: boolean, typescriptPath?: string) => {
// when using webpack-preprocessor as a local filesystem dependency (`file:...`),
// require(typescript) will resolve to this repo's `typescript` devDependency, not the
// targeted project's `typescript`, which breaks monkeypatching. resolving from the
// CWD avoids this issue.
try {
if (patched) {
debug('typescript.createProgram() already overridden')
return
}
// when using webpack-preprocessor as a local filesystem dependency (`file:...`),
// require(typescript) will resolve to this repo's `typescript` devDependency, not the
// targeted project's `typescript`, which breaks monkeypatching. resolving from the
// CWD avoids this issue.
const projectTsPath = require.resolve(typescriptPath || 'typescript', {
paths: [process.cwd()],
})
const typescript = require(projectTsPath) as typeof import('typescript')
const { createProgram } = typescript
// NOTE: typescript.createProgram can only be monkey-patched in TypeScript versions 4 and under.
// This is due to TypeScript v5 being an ESM package build with ESBuild, meaning the exports are
// unmodifiable.
debug('typescript found, overriding typescript.createProgram()')
// NOTE: typescript.createProgram is only called in typescript versions 4 and under
// For Typescript 5, please see the @cypress/webpack-batteries-included-preprocessor package
typescript.createProgram = (...args: any[]) => {
const [rootNamesOrOptions, _options] = args
const options = getProgramOptions(rootNamesOrOptions, _options)
// For TypeScript 5, we are currently setting sourceMaps in @cypress/webpack-batteries-included-preprocessor.
// If you are using @cypress/webpack-preprocessor as a standalone package, you will need to set sourceMaps=true
// inside your cypress/tsconfig.json file in order to get full codeFrame support.
if (semverLt(typescript.version, '5.0.0')) {
try {
if (patched) {
debug('typescript.createProgram() already overridden')
debug('typescript unmodified createProgram options %o', options)
return
}
// if sourceMap has been set then apply
// these overrides to force typescript
// to generate the right sourcemaps
options.sourceMap = sourceMap
debug('typescript %s found, overriding typescript.createProgram()', typescript.version)
delete options.inlineSources
delete options.inlineSourceMap
typescript.createProgram = (...args: any[]) => {
const [rootNamesOrOptions, _options] = args
const options = getProgramOptions(rootNamesOrOptions, _options)
debug('typescript modified createProgram options %o', options)
debug('typescript unmodified createProgram options %o', options)
// @ts-ignore
return createProgram.apply(typescript, args)
// if sourceMap has been set then apply
// these overrides to force typescript
// to generate the right sourcemaps
options.sourceMap = sourceMap
delete options.inlineSources
delete options.inlineSourceMap
debug('typescript modified createProgram options %o', options)
return createProgram.apply(typescript, args)
}
patched = true
} catch (err) {
debug('error overriding `typescript.createProgram()', err)
// for testing purposes
return err
}
} else {
debug(`typescript version ${typescript.version} is not supported for monkey-patching`)
}
patched = true
} catch (err) {
debug('typescript not found')
debug(`error sourcing typescript from ${typescriptPath || 'typescript'}`, err)
// for testing purposes
return err
}
}

View File

@@ -21,13 +21,13 @@
"dependencies": {
"bluebird": "3.7.1",
"debug": "^4.3.4",
"lodash": "^4.17.20"
"lodash": "^4.17.20",
"semver": "^7.3.2"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/preset-env": "^7.25.3",
"@types/mocha": "9.0.0",
"@types/webpack": "^4.41.12",
"babel-loader": "^9.1.3",
"chai": "4.1.2",
"chalk": "3.0.0",
@@ -42,7 +42,7 @@
"sinon-chai": "^3.5.0",
"snap-shot-it": "7.9.2",
"ts-node": "^10.9.2",
"webpack": "^5.88.2"
"webpack": "^5.39.0"
},
"peerDependencies": {
"@babel/core": "^7.25.2",
@@ -76,4 +76,4 @@
}
}
}
}
}

View File

@@ -370,5 +370,157 @@ describe('webpack preprocessor', function () {
})
})
})
describe('ts-loader', function () {
beforeEach(function () {
this.compilerApi.run.yields(null, this.statsApi)
sinon.stub(typescriptOverrides, 'overrideSourceMaps')
})
const COMPILER_PERMUTATIONS = [
undefined,
{
sourceMap: false,
inlineSourceMap: true,
inlineSources: true,
downlevelIteration: false,
},
]
COMPILER_PERMUTATIONS.forEach((compilerOptions) => {
describe(`sets Cypress overrides to compiler options when compiler options are ${compilerOptions ? 'defined' : 'undefined'} when`, function () {
it('rules is an array of "use" objects', function () {
const options = {
webpackOptions: {
module: {
rules: [
{
test: /\.tsx?$/,
exclude: [/node_modules/],
use: {
loader: 'ts-loader',
options: {
compilerOptions,
},
},
},
],
},
},
}
return this.run(options).then(() => {
expect(webpack).to.be.calledWithMatch({
module: {
rules: [
{
test: /\.tsx?$/,
exclude: [/node_modules/],
use: {
loader: 'ts-loader',
options: {
compilerOptions: {
downlevelIteration: true,
inlineSourceMap: false,
inlineSources: false,
sourceMap: true,
},
},
},
},
],
},
})
})
})
it('rules is an array of "use" array objects', function () {
const options = {
webpackOptions: {
module: {
rules: [
{
test: /\.tsx?$/,
exclude: [/node_modules/],
use: [{
loader: 'ts-loader',
options: {
compilerOptions,
},
}],
},
],
},
},
}
return this.run(options).then(() => {
expect(webpack).to.be.calledWithMatch({
module: {
rules: [
{
test: /\.tsx?$/,
exclude: [/node_modules/],
use: [{
loader: 'ts-loader',
options: {
compilerOptions: {
downlevelIteration: true,
inlineSourceMap: false,
inlineSources: false,
sourceMap: true,
},
},
}],
},
],
},
})
})
})
it('rules is an array of "loader" objects', function () {
const options = {
webpackOptions: {
module: {
rules: [
{
test: /\.tsx?$/,
exclude: [/node_modules/],
loader: 'ts-loader',
options: {
compilerOptions,
},
},
],
},
},
}
return this.run(options).then(() => {
expect(webpack).to.be.calledWithMatch({
module: {
rules: [
{
test: /\.tsx?$/,
exclude: [/node_modules/],
loader: 'ts-loader',
options: {
compilerOptions: {
downlevelIteration: true,
inlineSourceMap: false,
inlineSources: false,
sourceMap: true,
},
},
},
],
},
})
})
})
})
})
})
})
})

View File

@@ -4,150 +4,177 @@ const proxyquire = require('proxyquire').noPreserveCache()
type Typescript = {
createProgram: sinon.SinonStub
version: string
}
let typescript: Typescript
let createProgram: Typescript['createProgram']
describe('./lib/typescript-overrides', () => {
beforeEach(() => {
createProgram = sinon.stub()
typescript = {
createProgram,
}
describe('TypeScript v5', () => {
beforeEach(() => {
createProgram = sinon.stub()
typescript = {
createProgram,
version: '5.4.5',
}
})
context('.overrideSourceMaps', () => {
it('does not call createProgram on TypeScript v5 as it is an ESM wither getter accessors only', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
})
typescriptOverrides.overrideSourceMaps(true)
expect(createProgram).not.to.be.called
})
})
})
context('.overrideSourceMaps', () => {
it('it sets sourceMap: true', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
})
typescriptOverrides.overrideSourceMaps(true)
typescript.createProgram({
options: {
sourceMap: false,
inlineSources: true,
inlineSourceMap: true,
},
})
expect(createProgram).to.be.calledWith({
options: {
sourceMap: true,
},
})
})
it('it sets sourceMap: false', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
})
typescriptOverrides.overrideSourceMaps(false)
typescript.createProgram({
options: {
sourceMap: true,
inlineSources: true,
inlineSourceMap: true,
},
})
expect(createProgram).to.be.calledWith({
options: {
sourceMap: false,
},
})
})
it('sets options when given an array', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
})
typescriptOverrides.overrideSourceMaps(true)
typescript.createProgram([], {
sourceMap: false,
inlineSources: true,
inlineSourceMap: true,
})
expect(createProgram).to.be.calledWith([], {
sourceMap: true,
})
})
it('require "default" typescript if typescript option not specified', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
})
typescriptOverrides.overrideSourceMaps(true)
typescript.createProgram([], {
sourceMap: false,
inlineSources: true,
inlineSourceMap: true,
})
expect(createProgram).to.be.calledOn(typescript)
})
it('requires typescript from typescript option if specified', () => {
const userCreateProgram = sinon.stub()
const userTypescript = {
createProgram: userCreateProgram,
describe('TypeScript v4', () => {
beforeEach(() => {
createProgram = sinon.stub()
typescript = {
createProgram,
version: '4.5.0',
}
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
'/path/to/user/typescript': userTypescript,
})
typescriptOverrides.overrideSourceMaps(true, '/path/to/user/typescript')
userTypescript.createProgram([], {
sourceMap: false,
inlineSources: true,
inlineSourceMap: true,
})
expect(userCreateProgram).to.be.calledOn(userTypescript)
})
it('does not run twice', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
'/path/to/user/typescript': null,
context('.overrideSourceMaps', () => {
it('it sets sourceMap: true', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
})
typescriptOverrides.overrideSourceMaps(true)
typescript.createProgram({
options: {
sourceMap: false,
inlineSources: true,
inlineSourceMap: true,
},
})
expect(createProgram).to.be.calledWith({
options: {
sourceMap: true,
},
})
})
typescriptOverrides.overrideSourceMaps(true)
it('it sets sourceMap: false', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
})
typescript.createProgram([], {
sourceMap: false,
inlineSources: true,
inlineSourceMap: true,
typescriptOverrides.overrideSourceMaps(false)
typescript.createProgram({
options: {
sourceMap: true,
inlineSources: true,
inlineSourceMap: true,
},
})
expect(createProgram).to.be.calledWith({
options: {
sourceMap: false,
},
})
})
expect(createProgram).to.be.calledOn(typescript)
it('sets options when given an array', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
})
const result = typescriptOverrides.overrideSourceMaps(true, '/path/to/user/typescript')
typescriptOverrides.overrideSourceMaps(true)
// result will be the error if it tries to require typescript again
expect(result).to.be.undefined
})
typescript.createProgram([], {
sourceMap: false,
inlineSources: true,
inlineSourceMap: true,
})
it('gracefully returns error when typescript cannot be required', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript: null,
expect(createProgram).to.be.calledWith([], {
sourceMap: true,
})
})
const err = typescriptOverrides.overrideSourceMaps(true)
it('require "default" typescript if typescript option not specified', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
})
expect(err).to.be.instanceOf(Error)
expect(err.message).to.match(/Cannot find module '.*typescript\.js'/)
typescriptOverrides.overrideSourceMaps(true)
typescript.createProgram([], {
sourceMap: false,
inlineSources: true,
inlineSourceMap: true,
})
expect(createProgram).to.be.calledOn(typescript)
})
it('requires typescript from typescript option if specified', () => {
const userCreateProgram = sinon.stub()
const userTypescript = {
createProgram: userCreateProgram,
version: '4.5.0',
}
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
'/path/to/user/typescript': userTypescript,
})
typescriptOverrides.overrideSourceMaps(true, '/path/to/user/typescript')
userTypescript.createProgram([], {
sourceMap: false,
inlineSources: true,
inlineSourceMap: true,
})
expect(userCreateProgram).to.be.calledOn(userTypescript)
})
it('does not run twice', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript,
})
typescriptOverrides.overrideSourceMaps(true)
typescript.createProgram([], {
sourceMap: false,
inlineSources: true,
inlineSourceMap: true,
})
expect(createProgram).to.be.calledOn(typescript)
const result = typescriptOverrides.overrideSourceMaps(true)
// result will be the error if it tries to require typescript again
expect(result).to.be.undefined
})
it('gracefully returns error when typescript cannot be required', () => {
const typescriptOverrides = proxyquire('../../lib/typescript-overrides', {
typescript: null,
})
const err = typescriptOverrides.overrideSourceMaps(true)
expect(err).to.be.instanceOf(Error)
expect(err.message).to.match(/Cannot find module '.*typescript\.js'/)
})
})
})
})

View File

@@ -278,10 +278,6 @@ describe('errors ui', {
})
})
// FIXME: @see https://github.com/cypress-io/cypress/issues/29614
// projects using Typescript 5 do not calculate the userInvocationStack correctly,
// leading to a small mismatch when linking stack traces back to the user's IDE from
// the command log.
it('cy.intercept', () => {
const verify = loadErrorSpec({
filePath: 'errors/intercept.cy.ts',
@@ -289,6 +285,7 @@ describe('errors ui', {
})
verify('assertion failure in request callback', {
column: 22,
message: [
`expected 'a' to equal 'b'`,
],
@@ -298,7 +295,8 @@ describe('errors ui', {
})
verify('assertion failure in response callback', {
codeFrameText: '.reply(function()',
column: 24,
codeFrameText: '.reply(()=>',
message: [
`expected 'b' to equal 'c'`,
],
@@ -308,6 +306,7 @@ describe('errors ui', {
})
verify('fails when erroneous response is received while awaiting response', {
column: 6,
// TODO: determine why code frame output is different in run/open mode
// this fails the active test because it's an asynchronous
// response failure from the network

View File

@@ -261,10 +261,6 @@ describe('errors ui', {
})
})
// FIXME: @see https://github.com/cypress-io/cypress/issues/29614
// projects using Typescript 5 do not calculate the userInvocationStack correctly,
// leading to a small mismatch when linking stack traces back to the user's IDE from
// the command log.
it('typescript', () => {
const verify = loadErrorSpec({
filePath: 'errors/typescript.cy.ts',
@@ -272,15 +268,17 @@ describe('errors ui', {
})
verify('assertion failure', {
column: 25,
message: `expected 'actual' to equal 'expected'`,
})
verify('exception', {
column: 12,
column: 10,
message: 'bar is not a function',
})
verify('command failure', {
column: 8,
message: 'Timed out retrying after 0ms: Expected to find element: #does-not-exist, but never found it',
codeFrameText: `.get('#does-not-exist')`,
})

View File

@@ -5,7 +5,11 @@
"types": [
"cypress",
"node"
]
],
// We are setting sourceMap=true in order to have full codeFrame support within the driver package.
// We need to do this because we are using the standalone @cypress/webpack-preprocessor, which doesn't
// default the sourceMap option for us
"sourceMap": true
},
"include": ["**/*.ts"]
}

View File

@@ -35,7 +35,7 @@
"rimraf": "5.0.10",
"sinon": "7.3.2",
"sinon-chai": "3.3.0",
"ts-loader": "9.4.4",
"ts-loader": "9.5.2",
"webextension-polyfill": "0.4.0",
"webpack": "^5.88.2"
},

View File

@@ -205,7 +205,7 @@
"supertest": "4.0.2",
"supertest-session": "4.0.0",
"through2": "2.0.5",
"ts-loader": "9.4.4",
"ts-loader": "9.5.2",
"tsconfig-paths": "3.10.1",
"tslint": "^6.1.3",
"webpack": "^5.88.2",

View File

@@ -15,7 +15,8 @@ describe('lib/plugins/child/ts_node', () => {
describe('typescript registration', () => {
it('registers ts-node with preserveValueImports if typescript 4.5.0 and above is installed', () => {
// Since Cypress server is now bundled with Typescript 5, we can no longer stub the typescript object due to
// API changes (@see https://github.com/microsoft/TypeScript/wiki/API-Breaking-Changes#typescript-50)
// TypeScript 5 being shipped as an ESM package build with ESBuild, which means the exports are unmodifiable
// (@see https://github.com/microsoft/TypeScript/wiki/API-Breaking-Changes#typescript-50)
// Cypress no longer supports Typescript 3 and below as of Cypress 13, so this singular test to verify
// preserveValueImports is present on the compilerOptions above 4.5.0 should be valid enough.
tsNodeUtil.register('proj-root', '/path/to/plugins/file.js')

File diff suppressed because it is too large Load Diff

View File

@@ -91,7 +91,7 @@ You may need an additional loader to handle the result of these loaders.
| // The code below is ignored by eslint
| // because it tests failing spec.
> describe('fail', - > );
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdF9zeW50YXhfZXJyb3IuY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlc2NyaXB0X3N5bnRheF9lcnJvci5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FBc0M7QUFDdEMsaUNBQWlDO0FBQ2pDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFFLEFBQUQsQ0FBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhlIGNvZGUgYmVsb3cgaXMgaWdub3JlZCBieSBlc2xpbnRcbi8vIGJlY2F1c2UgaXQgdGVzdHMgZmFpbGluZyBzcGVjLlxuZGVzY3JpYmUoJ2ZhaWwnLCAtPiApXG4iXX0=
|
[tsl] ERROR in /foo/bar/.projects/e2e/cypress/e2e/typescript_syntax_error.cy.ts(3,21)
TS1109: Expression expected.

View File

@@ -18,18 +18,14 @@ describe('cy.origin errors', () => {
})
})
// FIXME: @see https://github.com/cypress-io/cypress/issues/29614
// projects using Typescript 5 do not calculate the userInvocationStack correctly,
// leading to a small mismatch when linking stack traces back to the user's IDE from
// the command log.
verify('command failure', this, {
line: 16,
column: 8,
message: 'Expected to find element',
stack: ['cy_origin_error.cy.ts'],
before () {
cy.visit('/primary_origin.html')
},
isCyOrigin: true,
})
fail('failure when using dependency', this, () => {
@@ -40,17 +36,13 @@ describe('cy.origin errors', () => {
})
})
// FIXME: @see https://github.com/cypress-io/cypress/issues/29614
// projects using Typescript 5 do not calculate the userInvocationStack correctly,
// leading to a small mismatch when linking stack traces back to the user's IDE from
// the command log.
verify('failure when using dependency', this, {
line: 34,
line: 32,
column: 8,
message: 'Expected to find element',
stack: ['cy_origin_error.cy.ts'],
before () {
cy.visit('/primary_origin.html')
},
isCyOrigin: true,
})
})

View File

@@ -24,8 +24,6 @@ export const verify = (title, ctx, options) => {
column,
message,
stack,
isCyOrigin,
isPreprocessorWithTypescript,
} = options
const codeFrameFileRegex = new RegExp(`${Cypress.spec.relative}:${line}${column ? `:${column}` : ''}`)
@@ -68,14 +66,7 @@ export const verify = (title, ctx, options) => {
.invoke('text')
.should('match', codeFrameFileRegex)
// code frames will show this as the 1st line
if (isCyOrigin) {
cy.get('.test-err-code-frame pre span').should('include.text', `('${title}',,function()`)
} else if (isPreprocessorWithTypescript) {
cy.get('.test-err-code-frame pre span').should('include.text', `'${title}',this,function(){`)
} else {
cy.get('.test-err-code-frame pre span').should('include.text', `fail('${title}',this,()=>`)
}
cy.get('.test-err-code-frame pre span').should('include.text', `fail('${title}',this,()=>`)
cy.contains('.test-err-code-frame .runnable-err-file-path', openInIdePath.relative)
})

View File

@@ -27,8 +27,8 @@ context('validation errors', function () {
})
verify('validation error', this, {
line: 19,
isPreprocessorWithTypescript: true,
line: 26,
column: 8,
message: 'can only accept a string preset or',
stack: ['throwErrBadArgs', 'From Your Spec Code:'],
})

View File

@@ -27,8 +27,8 @@ context('validation errors', function () {
})
verify('validation error', this, {
line: 19,
isPreprocessorWithTypescript: true,
line: 26,
column: 8,
message: 'can only accept a string preset or',
stack: ['throwErrBadArgs', 'From Your Spec Code:'],
})

View File

@@ -42,14 +42,9 @@ describe('e2e cy.origin errors', () => {
expect(stdout).to.contain('AssertionError')
expect(stdout).to.contain('Timed out retrying after 1ms: Expected to find element: `#doesnotexist`, but never found it.')
// FIXME: @see https://github.com/cypress-io/cypress/issues/29614
// projects using Typescript 5 do not calculate the userInvocationStack correctly,
// leading to a small mismatch when linking stack traces back to the user's IDE from
// the command log.
// check to make sure stack trace contains the 'cy.origin' source
expect(stdout).to.contain('webpack://e2e/./cypress/e2e/cy_origin_error.cy.ts:16')
expect(stdout).to.contain('webpack://e2e/./cypress/e2e/cy_origin_error.cy.ts:34')
expect(stdout).to.contain('webpack://e2e/./cypress/e2e/cy_origin_error.cy.ts:16:7')
expect(stdout).to.contain('webpack://e2e/./cypress/e2e/cy_origin_error.cy.ts:32:7')
},
})
})

402
yarn.lock
View File

@@ -5036,7 +5036,7 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.9":
"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.25"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
@@ -7904,10 +7904,10 @@
"@types/cheerio" "*"
"@types/react" "*"
"@types/eslint-scope@^3.7.3":
version "3.7.3"
resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224"
integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==
"@types/eslint-scope@^3.7.3", "@types/eslint-scope@^3.7.7":
version "3.7.7"
resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5"
integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==
dependencies:
"@types/eslint" "*"
"@types/estree" "*"
@@ -8553,16 +8553,6 @@
resolved "https://registry.yarnpkg.com/@types/stringify-object/-/stringify-object-3.3.1.tgz#9ee394931e63468de0412a8e19c9f021a7d1d24d"
integrity sha512-bpCBW0O+QrMLNFBY/+rkZtGzcYRmc2aTD8qYHOMNUmednqETfEZtFcGEA11l9xqbIeiT1PgXG0eq3zqayVzZSQ==
"@types/strip-bom@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2"
integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=
"@types/strip-json-comments@0.0.30":
version "0.0.30"
resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1"
integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==
"@types/superagent@*":
version "4.1.10"
resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-4.1.10.tgz#5e2cc721edf58f64fe9b819f326ee74803adee86"
@@ -8684,7 +8674,7 @@
"@types/source-list-map" "*"
source-map "^0.7.3"
"@types/webpack@^4", "@types/webpack@^4.41.12", "@types/webpack@^4.41.8":
"@types/webpack@^4", "@types/webpack@^4.41.8":
version "4.41.38"
resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.38.tgz#5a40ac81bdd052bf405e8bdcf3e1236f6db6dc26"
integrity sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==
@@ -9353,13 +9343,13 @@
"@webassemblyjs/helper-numbers" "1.11.1"
"@webassemblyjs/helper-wasm-bytecode" "1.11.1"
"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24"
integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==
"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1":
version "1.14.1"
resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6"
integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==
dependencies:
"@webassemblyjs/helper-numbers" "1.11.6"
"@webassemblyjs/helper-wasm-bytecode" "1.11.6"
"@webassemblyjs/helper-numbers" "1.13.2"
"@webassemblyjs/helper-wasm-bytecode" "1.13.2"
"@webassemblyjs/ast@1.9.0":
version "1.9.0"
@@ -9375,10 +9365,10 @@
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f"
integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==
"@webassemblyjs/floating-point-hex-parser@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431"
integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==
"@webassemblyjs/floating-point-hex-parser@1.13.2":
version "1.13.2"
resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb"
integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==
"@webassemblyjs/floating-point-hex-parser@1.9.0":
version "1.9.0"
@@ -9390,10 +9380,10 @@
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16"
integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==
"@webassemblyjs/helper-api-error@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768"
integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==
"@webassemblyjs/helper-api-error@1.13.2":
version "1.13.2"
resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7"
integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==
"@webassemblyjs/helper-api-error@1.9.0":
version "1.9.0"
@@ -9405,10 +9395,10 @@
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5"
integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==
"@webassemblyjs/helper-buffer@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093"
integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==
"@webassemblyjs/helper-buffer@1.14.1":
version "1.14.1"
resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b"
integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==
"@webassemblyjs/helper-buffer@1.9.0":
version "1.9.0"
@@ -9443,13 +9433,13 @@
"@webassemblyjs/helper-api-error" "1.11.1"
"@xtuc/long" "4.2.2"
"@webassemblyjs/helper-numbers@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5"
integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==
"@webassemblyjs/helper-numbers@1.13.2":
version "1.13.2"
resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d"
integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==
dependencies:
"@webassemblyjs/floating-point-hex-parser" "1.11.6"
"@webassemblyjs/helper-api-error" "1.11.6"
"@webassemblyjs/floating-point-hex-parser" "1.13.2"
"@webassemblyjs/helper-api-error" "1.13.2"
"@xtuc/long" "4.2.2"
"@webassemblyjs/helper-wasm-bytecode@1.11.1":
@@ -9457,10 +9447,10 @@
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1"
integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==
"@webassemblyjs/helper-wasm-bytecode@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9"
integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==
"@webassemblyjs/helper-wasm-bytecode@1.13.2":
version "1.13.2"
resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b"
integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==
"@webassemblyjs/helper-wasm-bytecode@1.9.0":
version "1.9.0"
@@ -9477,15 +9467,15 @@
"@webassemblyjs/helper-wasm-bytecode" "1.11.1"
"@webassemblyjs/wasm-gen" "1.11.1"
"@webassemblyjs/helper-wasm-section@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577"
integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==
"@webassemblyjs/helper-wasm-section@1.14.1":
version "1.14.1"
resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348"
integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==
dependencies:
"@webassemblyjs/ast" "1.11.6"
"@webassemblyjs/helper-buffer" "1.11.6"
"@webassemblyjs/helper-wasm-bytecode" "1.11.6"
"@webassemblyjs/wasm-gen" "1.11.6"
"@webassemblyjs/ast" "1.14.1"
"@webassemblyjs/helper-buffer" "1.14.1"
"@webassemblyjs/helper-wasm-bytecode" "1.13.2"
"@webassemblyjs/wasm-gen" "1.14.1"
"@webassemblyjs/helper-wasm-section@1.9.0":
version "1.9.0"
@@ -9504,10 +9494,10 @@
dependencies:
"@xtuc/ieee754" "^1.2.0"
"@webassemblyjs/ieee754@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a"
integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==
"@webassemblyjs/ieee754@1.13.2":
version "1.13.2"
resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba"
integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==
dependencies:
"@xtuc/ieee754" "^1.2.0"
@@ -9525,10 +9515,10 @@
dependencies:
"@xtuc/long" "4.2.2"
"@webassemblyjs/leb128@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7"
integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==
"@webassemblyjs/leb128@1.13.2":
version "1.13.2"
resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0"
integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==
dependencies:
"@xtuc/long" "4.2.2"
@@ -9544,10 +9534,10 @@
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff"
integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==
"@webassemblyjs/utf8@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a"
integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==
"@webassemblyjs/utf8@1.13.2":
version "1.13.2"
resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1"
integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==
"@webassemblyjs/utf8@1.9.0":
version "1.9.0"
@@ -9582,19 +9572,19 @@
"@webassemblyjs/wasm-parser" "1.9.0"
"@webassemblyjs/wast-printer" "1.9.0"
"@webassemblyjs/wasm-edit@^1.11.5":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab"
integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==
"@webassemblyjs/wasm-edit@^1.14.1":
version "1.14.1"
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597"
integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==
dependencies:
"@webassemblyjs/ast" "1.11.6"
"@webassemblyjs/helper-buffer" "1.11.6"
"@webassemblyjs/helper-wasm-bytecode" "1.11.6"
"@webassemblyjs/helper-wasm-section" "1.11.6"
"@webassemblyjs/wasm-gen" "1.11.6"
"@webassemblyjs/wasm-opt" "1.11.6"
"@webassemblyjs/wasm-parser" "1.11.6"
"@webassemblyjs/wast-printer" "1.11.6"
"@webassemblyjs/ast" "1.14.1"
"@webassemblyjs/helper-buffer" "1.14.1"
"@webassemblyjs/helper-wasm-bytecode" "1.13.2"
"@webassemblyjs/helper-wasm-section" "1.14.1"
"@webassemblyjs/wasm-gen" "1.14.1"
"@webassemblyjs/wasm-opt" "1.14.1"
"@webassemblyjs/wasm-parser" "1.14.1"
"@webassemblyjs/wast-printer" "1.14.1"
"@webassemblyjs/wasm-gen@1.11.1":
version "1.11.1"
@@ -9607,16 +9597,16 @@
"@webassemblyjs/leb128" "1.11.1"
"@webassemblyjs/utf8" "1.11.1"
"@webassemblyjs/wasm-gen@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268"
integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==
"@webassemblyjs/wasm-gen@1.14.1":
version "1.14.1"
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570"
integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==
dependencies:
"@webassemblyjs/ast" "1.11.6"
"@webassemblyjs/helper-wasm-bytecode" "1.11.6"
"@webassemblyjs/ieee754" "1.11.6"
"@webassemblyjs/leb128" "1.11.6"
"@webassemblyjs/utf8" "1.11.6"
"@webassemblyjs/ast" "1.14.1"
"@webassemblyjs/helper-wasm-bytecode" "1.13.2"
"@webassemblyjs/ieee754" "1.13.2"
"@webassemblyjs/leb128" "1.13.2"
"@webassemblyjs/utf8" "1.13.2"
"@webassemblyjs/wasm-gen@1.9.0":
version "1.9.0"
@@ -9639,15 +9629,15 @@
"@webassemblyjs/wasm-gen" "1.11.1"
"@webassemblyjs/wasm-parser" "1.11.1"
"@webassemblyjs/wasm-opt@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2"
integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==
"@webassemblyjs/wasm-opt@1.14.1":
version "1.14.1"
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b"
integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==
dependencies:
"@webassemblyjs/ast" "1.11.6"
"@webassemblyjs/helper-buffer" "1.11.6"
"@webassemblyjs/wasm-gen" "1.11.6"
"@webassemblyjs/wasm-parser" "1.11.6"
"@webassemblyjs/ast" "1.14.1"
"@webassemblyjs/helper-buffer" "1.14.1"
"@webassemblyjs/wasm-gen" "1.14.1"
"@webassemblyjs/wasm-parser" "1.14.1"
"@webassemblyjs/wasm-opt@1.9.0":
version "1.9.0"
@@ -9671,17 +9661,17 @@
"@webassemblyjs/leb128" "1.11.1"
"@webassemblyjs/utf8" "1.11.1"
"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1"
integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==
"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1":
version "1.14.1"
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb"
integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==
dependencies:
"@webassemblyjs/ast" "1.11.6"
"@webassemblyjs/helper-api-error" "1.11.6"
"@webassemblyjs/helper-wasm-bytecode" "1.11.6"
"@webassemblyjs/ieee754" "1.11.6"
"@webassemblyjs/leb128" "1.11.6"
"@webassemblyjs/utf8" "1.11.6"
"@webassemblyjs/ast" "1.14.1"
"@webassemblyjs/helper-api-error" "1.13.2"
"@webassemblyjs/helper-wasm-bytecode" "1.13.2"
"@webassemblyjs/ieee754" "1.13.2"
"@webassemblyjs/leb128" "1.13.2"
"@webassemblyjs/utf8" "1.13.2"
"@webassemblyjs/wasm-parser@1.9.0":
version "1.9.0"
@@ -9715,12 +9705,12 @@
"@webassemblyjs/ast" "1.11.1"
"@xtuc/long" "4.2.2"
"@webassemblyjs/wast-printer@1.11.6":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20"
integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==
"@webassemblyjs/wast-printer@1.14.1":
version "1.14.1"
resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07"
integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==
dependencies:
"@webassemblyjs/ast" "1.11.6"
"@webassemblyjs/ast" "1.14.1"
"@xtuc/long" "4.2.2"
"@webassemblyjs/wast-printer@1.9.0":
@@ -9832,7 +9822,7 @@ accepts@^1.3.7, accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7, accepts@~1.3.8:
mime-types "~2.1.34"
negotiator "0.6.3"
acorn-import-assertions@^1.7.6, acorn-import-assertions@^1.9.0:
acorn-import-assertions@^1.7.6:
version "1.9.0"
resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
@@ -9876,7 +9866,7 @@ acorn@^7.0.0, acorn@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
acorn@^8.11.3, acorn@^8.12.1, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0:
acorn@^8.11.3, acorn@^8.12.1, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.8.2, acorn@^8.9.0:
version "8.14.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb"
integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==
@@ -11550,15 +11540,15 @@ browserslist-to-esbuild@^2.1.1:
dependencies:
meow "^13.0.0"
browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.23.0, browserslist@^4.23.1, browserslist@^4.23.3:
version "4.23.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800"
integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==
browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.23.0, browserslist@^4.23.1, browserslist@^4.23.3, browserslist@^4.24.0:
version "4.24.4"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b"
integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==
dependencies:
caniuse-lite "^1.0.30001646"
electron-to-chromium "^1.5.4"
node-releases "^2.0.18"
update-browserslist-db "^1.1.0"
caniuse-lite "^1.0.30001688"
electron-to-chromium "^1.5.73"
node-releases "^2.0.19"
update-browserslist-db "^1.1.1"
bser@2.1.1:
version "2.1.1"
@@ -12004,10 +11994,10 @@ camelcase@^7.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048"
integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==
caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001646:
version "1.0.30001651"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz#52de59529e8b02b1aedcaaf5c05d9e23c0c28138"
integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==
caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001688:
version "1.0.30001704"
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001704.tgz#6644fe909d924ac3a7125e8a0ab6af95b1f32990"
integrity sha512-+L2IgBbV6gXB4ETf0keSvLr7JUrRVbIaB/lrQ1+z8mRcQiisG5k+lG6O4n6Y5q6f5EuNfaYXKgymucphlEXQew==
capital-case@^1.0.4:
version "1.0.4"
@@ -15058,10 +15048,10 @@ electron-publish@25.1.7:
lazy-val "^1.0.5"
mime "^2.5.2"
electron-to-chromium@^1.5.4:
version "1.5.13"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6"
integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==
electron-to-chromium@^1.5.73:
version "1.5.116"
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.116.tgz#b779d73cd0cc75305d12ae4f061d7f7bcee4c761"
integrity sha512-mufxTCJzLBQVvSdZzX1s5YAuXsN1M4tTyYxOOL1TcSKtIzQ9rjIrm7yFK80rN5dwGTePgdoABDSHpuVtRQh0Zw==
electron@33.2.1:
version "33.2.1"
@@ -15256,10 +15246,10 @@ enhanced-resolve@^4.5.0:
memory-fs "^0.5.0"
tapable "^1.0.0"
enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0, enhanced-resolve@^5.7.0, enhanced-resolve@^5.9.2:
version "5.17.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5"
integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==
enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.1, enhanced-resolve@^5.7.0, enhanced-resolve@^5.9.2:
version "5.18.1"
resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf"
integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.2.0"
@@ -15824,10 +15814,10 @@ esbuild@^0.24.0:
"@esbuild/win32-ia32" "0.24.0"
"@esbuild/win32-x64" "0.24.0"
escalade@^3.1.1, escalade@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27"
integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==
escalade@^3.1.1, escalade@^3.2.0:
version "3.2.0"
resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
escape-goat@^2.0.0:
version "2.1.1"
@@ -17752,6 +17742,13 @@ get-symbol-description@^1.0.2:
es-errors "^1.3.0"
get-intrinsic "^1.2.4"
get-tsconfig@^4.10.0:
version "4.10.0"
resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz#403a682b373a823612475a4c2928c7326fc0f6bb"
integrity sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==
dependencies:
resolve-pkg-maps "^1.0.0"
get-uri@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-6.0.1.tgz#cff2ba8d456c3513a04b70c45de4dbcca5b1527c"
@@ -20713,11 +20710,6 @@ json3@3.3.2:
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=
json5@2.2.3, json5@^2.1.2, json5@^2.2.0, json5@^2.2.2, json5@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
json5@^1.0.1, json5@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
@@ -20725,6 +20717,11 @@ json5@^1.0.1, json5@^1.0.2:
dependencies:
minimist "^1.2.0"
json5@^2.1.2, json5@^2.2.0, json5@^2.2.2, json5@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
jsonc-eslint-parser@^2.3.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz#74ded53f9d716e8d0671bd167bf5391f452d5461"
@@ -23846,10 +23843,10 @@ node-machine-id@1.1.12:
resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267"
integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==
node-releases@^2.0.18:
version "2.0.18"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f"
integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==
node-releases@^2.0.19:
version "2.0.19"
resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
node-sass-glob-importer@5.3.3:
version "5.3.3"
@@ -27574,6 +27571,11 @@ resolve-package-path@4.0.3, resolve-package-path@^4.0.3:
dependencies:
path-root "^0.1.1"
resolve-pkg-maps@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
resolve-pkg@2.0.0, resolve-pkg@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-2.0.0.tgz#ac06991418a7623edc119084edc98b0e6bf05a41"
@@ -28022,10 +28024,10 @@ scheduler@^0.23.2:
dependencies:
loose-envify "^1.1.0"
schema-utils@>1.0.0, schema-utils@^4.0.0, schema-utils@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b"
integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==
schema-utils@>1.0.0, schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0:
version "4.3.0"
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz#3b669f04f71ff2dfb5aba7ce2d5a9d79b35622c0"
integrity sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==
dependencies:
"@types/json-schema" "^7.0.9"
ajv "^8.9.0"
@@ -28041,7 +28043,7 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
schema-utils@^3.1.0, schema-utils@^3.1.1, schema-utils@^3.2.0:
schema-utils@^3.1.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe"
integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
@@ -28255,10 +28257,10 @@ serialize-javascript@^4.0.0:
dependencies:
randombytes "^2.1.0"
serialize-javascript@^6.0.0, serialize-javascript@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c"
integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==
serialize-javascript@^6.0.0, serialize-javascript@^6.0.2:
version "6.0.2"
resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2"
integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==
dependencies:
randombytes "^2.1.0"
@@ -29203,7 +29205,7 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
source-map@0.7.4, source-map@^0.7.3:
source-map@0.7.4, source-map@^0.7.3, source-map@^0.7.4:
version "0.7.4"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656"
integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==
@@ -29891,7 +29893,7 @@ strip-indent@^4.0.0:
dependencies:
min-indent "^1.0.1"
strip-json-comments@2.0.1, strip-json-comments@^2.0.0, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
strip-json-comments@2.0.1, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
@@ -30460,18 +30462,18 @@ terser-webpack-plugin@^1.4.3:
webpack-sources "^1.4.0"
worker-farm "^1.7.0"
terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.7:
version "5.3.9"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1"
integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==
terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.11:
version "5.3.14"
resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06"
integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==
dependencies:
"@jridgewell/trace-mapping" "^0.3.17"
"@jridgewell/trace-mapping" "^0.3.25"
jest-worker "^27.4.5"
schema-utils "^3.1.1"
serialize-javascript "^6.0.1"
terser "^5.16.8"
schema-utils "^4.3.0"
serialize-javascript "^6.0.2"
terser "^5.31.1"
terser@5.39.0, terser@^5.10.0, terser@^5.16.8:
terser@5.39.0, terser@^5.10.0, terser@^5.31.1:
version "5.39.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-5.39.0.tgz#0e82033ed57b3ddf1f96708d123cca717d86ca3a"
integrity sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==
@@ -30917,15 +30919,16 @@ ts-interface-checker@^0.1.9:
resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
ts-loader@9.4.4:
version "9.4.4"
resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.4.4.tgz#6ceaf4d58dcc6979f84125335904920884b7cee4"
integrity sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==
ts-loader@9.5.2:
version "9.5.2"
resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.2.tgz#1f3d7f4bb709b487aaa260e8f19b301635d08020"
integrity sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==
dependencies:
chalk "^4.1.0"
enhanced-resolve "^5.0.0"
micromatch "^4.0.0"
semver "^7.3.4"
source-map "^0.7.4"
ts-log@^2.2.3:
version "2.2.3"
@@ -30963,19 +30966,9 @@ ts-node@^9:
source-map-support "^0.5.17"
yn "3.1.1"
"tsconfig-aliased-for-wbip@npm:tsconfig@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7"
integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==
dependencies:
"@types/strip-bom" "^3.0.0"
"@types/strip-json-comments" "0.0.30"
strip-bom "^3.0.0"
strip-json-comments "^2.0.0"
tsconfig-paths-webpack-plugin@^3.5.2:
version "3.5.2"
resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz#01aafff59130c04a8c4ebc96a3045c43c376449a"
resolved "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz#01aafff59130c04a8c4ebc96a3045c43c376449a"
integrity sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw==
dependencies:
chalk "^4.1.0"
@@ -31700,13 +31693,13 @@ upath@^1.1.1:
resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
update-browserslist-db@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e"
integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==
update-browserslist-db@^1.1.1:
version "1.1.3"
resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420"
integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
dependencies:
escalade "^3.1.2"
picocolors "^1.0.1"
escalade "^3.2.0"
picocolors "^1.1.1"
update-check@1.5.4:
version "1.5.4"
@@ -32424,10 +32417,10 @@ watchpack@^1.7.4:
chokidar "^3.4.1"
watchpack-chokidar2 "^2.0.1"
watchpack@^2.3.1, watchpack@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
watchpack@^2.3.1, watchpack@^2.4.1:
version "2.4.2"
resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da"
integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==
dependencies:
glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"
@@ -32669,34 +32662,33 @@ webpack-virtual-modules@^0.6.1, webpack-virtual-modules@^0.6.2:
resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8"
integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==
webpack@^5, webpack@^5.88.2:
version "5.88.2"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.2.tgz#f62b4b842f1c6ff580f3fcb2ed4f0b579f4c210e"
integrity sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==
webpack@^5, webpack@^5.39.0, webpack@^5.88.2:
version "5.98.0"
resolved "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz#44ae19a8f2ba97537978246072fb89d10d1fbd17"
integrity sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==
dependencies:
"@types/eslint-scope" "^3.7.3"
"@types/estree" "^1.0.0"
"@webassemblyjs/ast" "^1.11.5"
"@webassemblyjs/wasm-edit" "^1.11.5"
"@webassemblyjs/wasm-parser" "^1.11.5"
acorn "^8.7.1"
acorn-import-assertions "^1.9.0"
browserslist "^4.14.5"
"@types/eslint-scope" "^3.7.7"
"@types/estree" "^1.0.6"
"@webassemblyjs/ast" "^1.14.1"
"@webassemblyjs/wasm-edit" "^1.14.1"
"@webassemblyjs/wasm-parser" "^1.14.1"
acorn "^8.14.0"
browserslist "^4.24.0"
chrome-trace-event "^1.0.2"
enhanced-resolve "^5.15.0"
enhanced-resolve "^5.17.1"
es-module-lexer "^1.2.1"
eslint-scope "5.1.1"
events "^3.2.0"
glob-to-regexp "^0.4.1"
graceful-fs "^4.2.9"
graceful-fs "^4.2.11"
json-parse-even-better-errors "^2.3.1"
loader-runner "^4.2.0"
mime-types "^2.1.27"
neo-async "^2.6.2"
schema-utils "^3.2.0"
schema-utils "^4.3.0"
tapable "^2.1.1"
terser-webpack-plugin "^5.3.7"
watchpack "^2.4.0"
terser-webpack-plugin "^5.3.11"
watchpack "^2.4.1"
webpack-sources "^3.2.3"
"webpack@npm:webpack@^5":