mirror of
https://github.com/cypress-io/cypress.git
synced 2025-12-30 19:19:53 -06:00
merge develop into 15
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
# Bump this version to force CI to re-create the cache from scratch.
|
||||
|
||||
4-28-2025
|
||||
4-29-2025
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
version: 2.1
|
||||
|
||||
chrome-stable-version: &chrome-stable-version "136.0.7103.92"
|
||||
chrome-beta-version: &chrome-beta-version "137.0.7151.6"
|
||||
chrome-beta-version: &chrome-beta-version "137.0.7151.15"
|
||||
firefox-stable-version: &firefox-stable-version "137.0"
|
||||
|
||||
orbs:
|
||||
|
||||
@@ -22,6 +22,15 @@ _Released 07/01/2025 (PENDING)_
|
||||
|
||||
- Migration helpers and related errors are no longer shown when upgrading from Cypress versions earlier than 10.0.0. To migrate from a pre-10.0.0 version, upgrade one major version at a time to receive the appropriate guidance. Addresses [#31345](https://github.com/cypress-io/cypress/issues/31345). Addressed in [https://github.com/cypress-io/cypress/pull/31629/](https://github.com/cypress-io/cypress/pull/31629/).
|
||||
|
||||
## 14.3.4
|
||||
|
||||
_Released 5/20/2025 (PENDING)_
|
||||
|
||||
**Dependency Updates:**
|
||||
|
||||
- Upgraded `trash` from `5.2.0` to `7.2.0`. Addressed in [#31667](https://github.com/cypress-io/cypress/pull/31667).
|
||||
|
||||
|
||||
## 14.3.3
|
||||
|
||||
_Released 5/6/2025_
|
||||
|
||||
@@ -43,3 +43,31 @@ export function launchStudio ({ specName = 'spec.cy.js', createNewTest = false,
|
||||
cy.get('[data-cy="hook-name-studio commands"]').should('exist')
|
||||
}
|
||||
}
|
||||
|
||||
export function assertClosingPanelWithoutChanges () {
|
||||
// Cypress re-runs after you cancel Studio.
|
||||
// Original spec should pass
|
||||
cy.waitForSpecToFinish({ passCount: 1 })
|
||||
|
||||
cy.get('.command').should('have.length', 1)
|
||||
|
||||
// Assert the spec was executed without any new commands.
|
||||
cy.get('.command-name-visit').within(() => {
|
||||
cy.contains('visit')
|
||||
cy.contains('cypress/e2e/index.html')
|
||||
})
|
||||
|
||||
cy.findByTestId('hook-name-studio commands').should('not.exist')
|
||||
|
||||
cy.withCtx(async (ctx) => {
|
||||
const spec = await ctx.actions.file.readFileInProject('cypress/e2e/spec.cy.js')
|
||||
|
||||
// No change, since we closed studio
|
||||
expect(spec.trim().replace(/\r/g, '')).to.eq(`
|
||||
describe('studio functionality', () => {
|
||||
it('visits a basic html page', () => {
|
||||
cy.visit('cypress/e2e/index.html')
|
||||
})
|
||||
})`.trim())
|
||||
})
|
||||
}
|
||||
|
||||
191
packages/app/cypress/e2e/studio/studio-cloud.cy.ts
Normal file
191
packages/app/cypress/e2e/studio/studio-cloud.cy.ts
Normal file
@@ -0,0 +1,191 @@
|
||||
import { launchStudio, loadProjectAndRunSpec, assertClosingPanelWithoutChanges } from './helper'
|
||||
import pDefer from 'p-defer'
|
||||
|
||||
describe('Studio Cloud', () => {
|
||||
it('enables protocol for cloud studio', () => {
|
||||
launchStudio({ enableCloudStudio: true })
|
||||
|
||||
cy.window().then((win) => {
|
||||
expect(win.Cypress.config('isDefaultProtocolEnabled')).to.be.false
|
||||
expect(win.Cypress.state('isProtocolEnabled')).to.be.true
|
||||
})
|
||||
})
|
||||
|
||||
it('loads the studio UI correctly when studio bundle is taking too long to load', () => {
|
||||
loadProjectAndRunSpec({ enableCloudStudio: false })
|
||||
|
||||
cy.window().then(() => {
|
||||
cy.withCtx((ctx) => {
|
||||
// Mock the studioLifecycleManager.getStudio method to return a hanging promise
|
||||
if (ctx.coreData.studioLifecycleManager) {
|
||||
const neverResolvingPromise = new Promise<null>(() => {})
|
||||
|
||||
ctx.coreData.studioLifecycleManager.getStudio = () => neverResolvingPromise
|
||||
ctx.coreData.studioLifecycleManager.isStudioReady = () => false
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
cy.contains('visits a basic html page')
|
||||
.closest('.runnable-wrapper')
|
||||
.findByTestId('launch-studio')
|
||||
.click()
|
||||
|
||||
cy.waitForSpecToFinish()
|
||||
|
||||
// Verify the cloud studio panel is not present
|
||||
cy.findByTestId('studio-panel').should('not.exist')
|
||||
|
||||
cy.get('[data-cy="loading-studio-panel"]').should('not.exist')
|
||||
|
||||
cy.get('[data-cy="hook-name-studio commands"]').should('exist')
|
||||
|
||||
cy.getAutIframe().within(() => {
|
||||
cy.get('#increment').realClick()
|
||||
})
|
||||
|
||||
cy.findByTestId('hook-name-studio commands').closest('.hook-studio').within(() => {
|
||||
cy.get('.command').should('have.length', 2)
|
||||
cy.get('.command-name-get').should('contain.text', '#increment')
|
||||
cy.get('.command-name-click').should('contain.text', 'click')
|
||||
})
|
||||
|
||||
cy.get('button').contains('Save Commands').should('not.be.disabled')
|
||||
})
|
||||
|
||||
it('immediately loads the studio panel', () => {
|
||||
const deferred = pDefer()
|
||||
|
||||
loadProjectAndRunSpec({ enableCloudStudio: true })
|
||||
|
||||
cy.findByTestId('studio-panel').should('not.exist')
|
||||
|
||||
cy.intercept('/cypress/e2e/index.html', () => {
|
||||
// wait for the promise to resolve before responding
|
||||
// this will ensure the studio panel is loaded before the test finishes
|
||||
return deferred.promise
|
||||
}).as('indexHtml')
|
||||
|
||||
cy.contains('visits a basic html page')
|
||||
.closest('.runnable-wrapper')
|
||||
.findByTestId('launch-studio')
|
||||
.click()
|
||||
|
||||
// regular studio is not loaded until after the test finishes
|
||||
cy.get('[data-cy="hook-name-studio commands"]').should('not.exist')
|
||||
// cloud studio is loaded immediately
|
||||
cy.findByTestId('studio-panel').then(() => {
|
||||
// check for the loading panel from the app first
|
||||
cy.get('[data-cy="loading-studio-panel"]').should('be.visible')
|
||||
// we've verified the studio panel is loaded, now resolve the promise so the test can finish
|
||||
deferred.resolve()
|
||||
})
|
||||
|
||||
cy.wait('@indexHtml')
|
||||
|
||||
// Studio re-executes spec before waiting for commands - wait for the spec to finish executing.
|
||||
cy.waitForSpecToFinish()
|
||||
|
||||
// Verify the studio panel is still open
|
||||
cy.findByTestId('studio-panel')
|
||||
cy.get('[data-cy="hook-name-studio commands"]')
|
||||
})
|
||||
|
||||
it('hides selector playground and studio controls when studio beta is available', () => {
|
||||
launchStudio({ enableCloudStudio: true })
|
||||
cy.get('[data-cy="studio-header-studio-button"]').click()
|
||||
|
||||
cy.get('[data-cy="playground-activator"]').should('not.exist')
|
||||
cy.get('[data-cy="studio-toolbar"]').should('not.exist')
|
||||
})
|
||||
|
||||
it('closes studio panel when clicking studio button (from the cloud)', () => {
|
||||
launchStudio({ enableCloudStudio: true })
|
||||
|
||||
cy.get('[data-cy="studio-header-studio-button"]').click()
|
||||
|
||||
assertClosingPanelWithoutChanges()
|
||||
})
|
||||
|
||||
it('opens studio panel to new test when clicking on studio button (from the app) next to url', () => {
|
||||
cy.viewport(1500, 1000)
|
||||
loadProjectAndRunSpec({ enableCloudStudio: true })
|
||||
// studio button should be visible when using cloud studio
|
||||
cy.get('[data-cy="studio-button"]').should('be.visible').click()
|
||||
cy.get('[data-cy="studio-panel"]').should('be.visible')
|
||||
|
||||
cy.contains('New Test')
|
||||
|
||||
cy.get('[data-cy="studio-url-prompt"]').should('not.exist')
|
||||
|
||||
cy.percySnapshot()
|
||||
})
|
||||
|
||||
it('opens a cloud studio session with AI enabled', () => {
|
||||
cy.mockNodeCloudRequest({
|
||||
url: '/studio/testgen/n69px6/enabled',
|
||||
method: 'get',
|
||||
body: { enabled: true },
|
||||
})
|
||||
|
||||
const aiOutput = 'cy.get(\'button\').should(\'have.text\', \'Increment\')'
|
||||
|
||||
cy.mockNodeCloudStreamingRequest({
|
||||
url: '/studio/testgen/n69px6/generate',
|
||||
method: 'post',
|
||||
body: { recommendations: [{ content: aiOutput }] },
|
||||
})
|
||||
|
||||
cy.mockStudioFullSnapshot({
|
||||
id: 1,
|
||||
nodeType: 1,
|
||||
nodeName: 'div',
|
||||
localName: 'div',
|
||||
nodeValue: 'div',
|
||||
children: [],
|
||||
shadowRoots: [],
|
||||
})
|
||||
|
||||
const deferred = pDefer()
|
||||
|
||||
loadProjectAndRunSpec({ enableCloudStudio: true })
|
||||
|
||||
cy.findByTestId('studio-panel').should('not.exist')
|
||||
|
||||
cy.intercept('/cypress/e2e/index.html', () => {
|
||||
// wait for the promise to resolve before responding
|
||||
// this will ensure the studio panel is loaded before the test finishes
|
||||
return deferred.promise
|
||||
}).as('indexHtml')
|
||||
|
||||
cy.contains('visits a basic html page')
|
||||
.closest('.runnable-wrapper')
|
||||
.findByTestId('launch-studio')
|
||||
.click()
|
||||
|
||||
// regular studio is not loaded until after the test finishes
|
||||
cy.get('[data-cy="hook-name-studio commands"]').should('not.exist')
|
||||
// cloud studio is loaded immediately
|
||||
cy.findByTestId('studio-panel').then(() => {
|
||||
// check for the loading panel from the app first
|
||||
cy.get('[data-cy="loading-studio-panel"]').should('be.visible')
|
||||
// we've verified the studio panel is loaded, now resolve the promise so the test can finish
|
||||
deferred.resolve()
|
||||
})
|
||||
|
||||
cy.wait('@indexHtml')
|
||||
|
||||
// Studio re-executes spec before waiting for commands - wait for the spec to finish executing.
|
||||
cy.waitForSpecToFinish()
|
||||
|
||||
// Verify the studio panel is still open
|
||||
cy.findByTestId('studio-panel')
|
||||
cy.get('[data-cy="hook-name-studio commands"]')
|
||||
|
||||
// Verify that AI is enabled
|
||||
cy.get('[data-cy="ai-status-text"]').should('contain.text', 'Enabled')
|
||||
|
||||
// Verify that the AI output is correct
|
||||
cy.get('[data-cy="recommendation-editor"]').should('contain', aiOutput)
|
||||
})
|
||||
})
|
||||
@@ -1,5 +1,4 @@
|
||||
import { launchStudio, loadProjectAndRunSpec } from './helper'
|
||||
import pDefer from 'p-defer'
|
||||
import { launchStudio, loadProjectAndRunSpec, assertClosingPanelWithoutChanges } from './helper'
|
||||
|
||||
describe('Cypress Studio', () => {
|
||||
function incrementCounter (initialCount: number) {
|
||||
@@ -22,219 +21,10 @@ describe('Cypress Studio', () => {
|
||||
})
|
||||
}
|
||||
|
||||
function assertClosingPanelWithoutChanges () {
|
||||
// Cypress re-runs after you cancel Studio.
|
||||
// Original spec should pass
|
||||
cy.waitForSpecToFinish({ passCount: 1 })
|
||||
it('does not display Studio button when not using cloud studio', () => {
|
||||
loadProjectAndRunSpec({ })
|
||||
|
||||
cy.get('.command').should('have.length', 1)
|
||||
|
||||
// Assert the spec was executed without any new commands.
|
||||
cy.get('.command-name-visit').within(() => {
|
||||
cy.contains('visit')
|
||||
cy.contains('cypress/e2e/index.html')
|
||||
})
|
||||
|
||||
cy.findByTestId('hook-name-studio commands').should('not.exist')
|
||||
|
||||
cy.withCtx(async (ctx) => {
|
||||
const spec = await ctx.actions.file.readFileInProject('cypress/e2e/spec.cy.js')
|
||||
|
||||
// No change, since we closed studio
|
||||
expect(spec.trim().replace(/\r/g, '')).to.eq(`
|
||||
describe('studio functionality', () => {
|
||||
it('visits a basic html page', () => {
|
||||
cy.visit('cypress/e2e/index.html')
|
||||
})
|
||||
})`.trim())
|
||||
})
|
||||
}
|
||||
|
||||
context('cloud studio', () => {
|
||||
it('loads the studio page', () => {
|
||||
launchStudio({ enableCloudStudio: true })
|
||||
|
||||
cy.window().then((win) => {
|
||||
expect(win.Cypress.config('isDefaultProtocolEnabled')).to.be.false
|
||||
expect(win.Cypress.state('isProtocolEnabled')).to.be.true
|
||||
})
|
||||
})
|
||||
|
||||
it('loads the studio UI correctly when studio bundle is taking too long to load', () => {
|
||||
loadProjectAndRunSpec({ enableCloudStudio: false })
|
||||
|
||||
cy.window().then(() => {
|
||||
cy.withCtx((ctx) => {
|
||||
// Mock the studioLifecycleManager.getStudio method to return a hanging promise
|
||||
if (ctx.coreData.studioLifecycleManager) {
|
||||
const neverResolvingPromise = new Promise<null>(() => {})
|
||||
|
||||
ctx.coreData.studioLifecycleManager.getStudio = () => neverResolvingPromise
|
||||
ctx.coreData.studioLifecycleManager.isStudioReady = () => false
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
cy.contains('visits a basic html page')
|
||||
.closest('.runnable-wrapper')
|
||||
.findByTestId('launch-studio')
|
||||
.click()
|
||||
|
||||
cy.waitForSpecToFinish()
|
||||
|
||||
// Verify the cloud studio panel is not present
|
||||
cy.findByTestId('studio-panel').should('not.exist')
|
||||
|
||||
cy.get('[data-cy="loading-studio-panel"]').should('not.exist')
|
||||
|
||||
cy.get('[data-cy="hook-name-studio commands"]').should('exist')
|
||||
|
||||
cy.getAutIframe().within(() => {
|
||||
cy.get('#increment').realClick()
|
||||
})
|
||||
|
||||
cy.findByTestId('hook-name-studio commands').closest('.hook-studio').within(() => {
|
||||
cy.get('.command').should('have.length', 2)
|
||||
cy.get('.command-name-get').should('contain.text', '#increment')
|
||||
cy.get('.command-name-click').should('contain.text', 'click')
|
||||
})
|
||||
|
||||
cy.get('button').contains('Save Commands').should('not.be.disabled')
|
||||
})
|
||||
|
||||
it('does not display Studio button when not using cloud studio', () => {
|
||||
loadProjectAndRunSpec({ })
|
||||
|
||||
cy.get('[data-cy="studio-button"]').should('not.exist')
|
||||
})
|
||||
|
||||
it('immediately loads the studio panel', () => {
|
||||
const deferred = pDefer()
|
||||
|
||||
loadProjectAndRunSpec({ enableCloudStudio: true })
|
||||
|
||||
cy.findByTestId('studio-panel').should('not.exist')
|
||||
|
||||
cy.intercept('/cypress/e2e/index.html', () => {
|
||||
// wait for the promise to resolve before responding
|
||||
// this will ensure the studio panel is loaded before the test finishes
|
||||
return deferred.promise
|
||||
}).as('indexHtml')
|
||||
|
||||
cy.contains('visits a basic html page')
|
||||
.closest('.runnable-wrapper')
|
||||
.findByTestId('launch-studio')
|
||||
.click()
|
||||
|
||||
// regular studio is not loaded until after the test finishes
|
||||
cy.get('[data-cy="hook-name-studio commands"]').should('not.exist')
|
||||
// cloud studio is loaded immediately
|
||||
cy.findByTestId('studio-panel').then(() => {
|
||||
// check for the loading panel from the app first
|
||||
cy.get('[data-cy="loading-studio-panel"]').should('be.visible')
|
||||
// we've verified the studio panel is loaded, now resolve the promise so the test can finish
|
||||
deferred.resolve()
|
||||
})
|
||||
|
||||
cy.wait('@indexHtml')
|
||||
|
||||
// Studio re-executes spec before waiting for commands - wait for the spec to finish executing.
|
||||
cy.waitForSpecToFinish()
|
||||
|
||||
// Verify the studio panel is still open
|
||||
cy.findByTestId('studio-panel')
|
||||
cy.get('[data-cy="hook-name-studio commands"]')
|
||||
})
|
||||
|
||||
it('closes studio panel when clicking studio button (from the cloud)', () => {
|
||||
launchStudio({ enableCloudStudio: true })
|
||||
|
||||
cy.get('[data-cy="studio-header-studio-button"]').click()
|
||||
|
||||
assertClosingPanelWithoutChanges()
|
||||
})
|
||||
|
||||
it('opens studio panel to new test when clicking on studio button (from the app) next to url', () => {
|
||||
cy.viewport(1500, 1000)
|
||||
loadProjectAndRunSpec({ enableCloudStudio: true })
|
||||
// studio button should be visible when using cloud studio
|
||||
cy.get('[data-cy="studio-button"]').should('be.visible').click()
|
||||
cy.get('[data-cy="studio-panel"]').should('be.visible')
|
||||
|
||||
cy.contains('New Test')
|
||||
|
||||
cy.get('[data-cy="studio-url-prompt"]').should('not.exist')
|
||||
|
||||
cy.percySnapshot()
|
||||
})
|
||||
|
||||
it('opens a cloud studio session with AI enabled', () => {
|
||||
cy.mockNodeCloudRequest({
|
||||
url: '/studio/testgen/n69px6/enabled',
|
||||
method: 'get',
|
||||
body: { enabled: true },
|
||||
})
|
||||
|
||||
const aiOutput = 'cy.get(\'button\').should(\'have.text\', \'Increment\')'
|
||||
|
||||
cy.mockNodeCloudStreamingRequest({
|
||||
url: '/studio/testgen/n69px6/generate',
|
||||
method: 'post',
|
||||
body: { recommendations: [{ content: aiOutput }] },
|
||||
})
|
||||
|
||||
cy.mockStudioFullSnapshot({
|
||||
id: 1,
|
||||
nodeType: 1,
|
||||
nodeName: 'div',
|
||||
localName: 'div',
|
||||
nodeValue: 'div',
|
||||
children: [],
|
||||
shadowRoots: [],
|
||||
})
|
||||
|
||||
const deferred = pDefer()
|
||||
|
||||
loadProjectAndRunSpec({ enableCloudStudio: true })
|
||||
|
||||
cy.findByTestId('studio-panel').should('not.exist')
|
||||
|
||||
cy.intercept('/cypress/e2e/index.html', () => {
|
||||
// wait for the promise to resolve before responding
|
||||
// this will ensure the studio panel is loaded before the test finishes
|
||||
return deferred.promise
|
||||
}).as('indexHtml')
|
||||
|
||||
cy.contains('visits a basic html page')
|
||||
.closest('.runnable-wrapper')
|
||||
.findByTestId('launch-studio')
|
||||
.click()
|
||||
|
||||
// regular studio is not loaded until after the test finishes
|
||||
cy.get('[data-cy="hook-name-studio commands"]').should('not.exist')
|
||||
// cloud studio is loaded immediately
|
||||
cy.findByTestId('studio-panel').then(() => {
|
||||
// check for the loading panel from the app first
|
||||
cy.get('[data-cy="loading-studio-panel"]').should('be.visible')
|
||||
// we've verified the studio panel is loaded, now resolve the promise so the test can finish
|
||||
deferred.resolve()
|
||||
})
|
||||
|
||||
cy.wait('@indexHtml')
|
||||
|
||||
// Studio re-executes spec before waiting for commands - wait for the spec to finish executing.
|
||||
cy.waitForSpecToFinish()
|
||||
|
||||
// Verify the studio panel is still open
|
||||
cy.findByTestId('studio-panel')
|
||||
cy.get('[data-cy="hook-name-studio commands"]')
|
||||
|
||||
// Verify that AI is enabled
|
||||
cy.get('[data-cy="ai-status-text"]').should('contain.text', 'Enabled')
|
||||
|
||||
// Verify that the AI output is correct
|
||||
cy.get('[data-cy="recommendation-editor"]').should('contain', aiOutput)
|
||||
})
|
||||
cy.get('[data-cy="studio-button"]').should('not.exist')
|
||||
})
|
||||
|
||||
it('updates an existing test with an action', () => {
|
||||
|
||||
@@ -5,7 +5,7 @@ import { createEventManager, createTestAutIframe } from '../../cypress/component
|
||||
import { ExternalLink_OpenExternalDocument } from '@packages/frontend-shared/src/generated/graphql'
|
||||
import { cyGeneralGlobeX16 } from '@cypress-design/icon-registry'
|
||||
|
||||
function renderWithGql (gqlVal: SpecRunnerHeaderFragment, shouldShowStudioButton = false) {
|
||||
function renderWithGql (gqlVal: SpecRunnerHeaderFragment, shouldShowStudioButton = false, studioBetaAvailable = false) {
|
||||
const eventManager = createEventManager()
|
||||
const autIframe = createTestAutIframe()
|
||||
|
||||
@@ -17,6 +17,7 @@ function renderWithGql (gqlVal: SpecRunnerHeaderFragment, shouldShowStudioButton
|
||||
eventManager={eventManager}
|
||||
getAutIframe={() => autIframe}
|
||||
shouldShowStudioButton={shouldShowStudioButton}
|
||||
studioBetaAvailable={studioBetaAvailable}
|
||||
/>)
|
||||
}
|
||||
|
||||
@@ -37,42 +38,54 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => {
|
||||
cy.findByTestId('viewport-size').should('be.visible').contains('500x500')
|
||||
})
|
||||
|
||||
it('disabled selector playground button when isRunning is true', () => {
|
||||
const autStore = useAutStore()
|
||||
describe('selector playground button', () => {
|
||||
it('is enabled by default', () => {
|
||||
cy.mountFragment(SpecRunnerHeaderFragmentDoc, {
|
||||
render: (gqlVal) => {
|
||||
return renderWithGql(gqlVal)
|
||||
},
|
||||
})
|
||||
|
||||
autStore.setIsRunning(true)
|
||||
|
||||
cy.mountFragment(SpecRunnerHeaderFragmentDoc, {
|
||||
render: (gqlVal) => {
|
||||
return renderWithGql(gqlVal)
|
||||
},
|
||||
cy.get('[data-cy="playground-activator"]').should('not.be.disabled')
|
||||
})
|
||||
|
||||
cy.get('[data-cy="playground-activator"]').should('be.disabled')
|
||||
})
|
||||
it('is disabled when isRunning is true', () => {
|
||||
const autStore = useAutStore()
|
||||
|
||||
it('disabled selector playground button when isLoading is true', () => {
|
||||
const autStore = useAutStore()
|
||||
autStore.setIsRunning(true)
|
||||
|
||||
autStore.setIsLoading(true)
|
||||
cy.mountFragment(SpecRunnerHeaderFragmentDoc, {
|
||||
render: (gqlVal) => {
|
||||
return renderWithGql(gqlVal)
|
||||
},
|
||||
})
|
||||
|
||||
cy.mountFragment(SpecRunnerHeaderFragmentDoc, {
|
||||
render: (gqlVal) => {
|
||||
return renderWithGql(gqlVal)
|
||||
},
|
||||
cy.get('[data-cy="playground-activator"]').should('be.disabled')
|
||||
})
|
||||
|
||||
cy.get('[data-cy="playground-activator"]').should('be.disabled')
|
||||
})
|
||||
it('is disabled when isLoading is true', () => {
|
||||
const autStore = useAutStore()
|
||||
|
||||
it('enables selector playground button by default', () => {
|
||||
cy.mountFragment(SpecRunnerHeaderFragmentDoc, {
|
||||
render: (gqlVal) => {
|
||||
return renderWithGql(gqlVal)
|
||||
},
|
||||
autStore.setIsLoading(true)
|
||||
|
||||
cy.mountFragment(SpecRunnerHeaderFragmentDoc, {
|
||||
render: (gqlVal) => {
|
||||
return renderWithGql(gqlVal)
|
||||
},
|
||||
})
|
||||
|
||||
cy.get('[data-cy="playground-activator"]').should('be.disabled')
|
||||
})
|
||||
|
||||
cy.get('[data-cy="playground-activator"]').should('not.be.disabled')
|
||||
it('is hidden when studio beta is available', () => {
|
||||
cy.mountFragment(SpecRunnerHeaderFragmentDoc, {
|
||||
render: (gqlVal) => {
|
||||
return renderWithGql(gqlVal, true, true)
|
||||
},
|
||||
})
|
||||
|
||||
cy.get('[data-cy="playground-activator"]').should('not.exist')
|
||||
})
|
||||
})
|
||||
|
||||
it('shows url section if currentTestingType is e2e', () => {
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
>
|
||||
<div class="flex flex-wrap grow p-[16px] gap-[12px] h-[64px] flex-nowrap">
|
||||
<button
|
||||
v-if="!studioBetaAvailable"
|
||||
data-cy="playground-activator"
|
||||
:disabled="isDisabled"
|
||||
class="bg-gray-1100 border rounded-md flex h-full border-gray-800 outline-solid outline-indigo-500 transition w-[40px] duration-150 items-center justify-center hover:bg-gray-800"
|
||||
@@ -97,7 +98,7 @@
|
||||
:event-manager="eventManager"
|
||||
/>
|
||||
|
||||
<StudioControls v-if="studioStore.isActive" />
|
||||
<StudioControls v-if="!studioBetaAvailable && studioStore.isActive" />
|
||||
|
||||
<Alert
|
||||
v-model="showAlert"
|
||||
@@ -173,6 +174,7 @@ const props = defineProps<{
|
||||
eventManager: EventManager
|
||||
getAutIframe: () => AutIframe
|
||||
shouldShowStudioButton: boolean
|
||||
studioBetaAvailable: boolean
|
||||
}>()
|
||||
|
||||
const showAlert = ref(false)
|
||||
|
||||
@@ -73,6 +73,7 @@
|
||||
:event-manager="eventManager"
|
||||
:get-aut-iframe="getAutIframeModel"
|
||||
:should-show-studio-button="shouldShowStudioButton"
|
||||
:studio-beta-available="studioBetaAvailable"
|
||||
/>
|
||||
</HideDuringScreenshot>
|
||||
|
||||
@@ -247,8 +248,12 @@ const studioStatus = computed(() => {
|
||||
return props.gql.studio?.status
|
||||
})
|
||||
|
||||
const studioBetaAvailable = computed(() => {
|
||||
return studioStatus.value === 'ENABLED' && !!props.gql.studio
|
||||
})
|
||||
|
||||
const shouldShowStudioButton = computed(() => {
|
||||
return !!props.gql.studio && studioStatus.value === 'ENABLED' && !studioStore.isOpen
|
||||
return studioStatus.value === 'ENABLED' && !!props.gql.studio && !studioStore.isOpen
|
||||
})
|
||||
|
||||
const shouldShowStudioPanel = computed(() => {
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import path from 'path'
|
||||
import os from 'os'
|
||||
import { ensureDir, copy, readFile } from 'fs-extra'
|
||||
import { ensureDir, copy, readFile, remove } from 'fs-extra'
|
||||
import { StudioManager } from '../../studio'
|
||||
import tar from 'tar'
|
||||
import { verifySignatureFromFile } from '../../encryption'
|
||||
import crypto from 'crypto'
|
||||
import fs from 'fs'
|
||||
import fetch from 'cross-fetch'
|
||||
import { agent } from '@packages/network'
|
||||
@@ -47,6 +46,10 @@ const downloadStudioBundleToTempDirectory = async ({ studioUrl, projectId }: Opt
|
||||
encrypt: 'signed',
|
||||
})
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`Failed to download studio bundle: ${response.statusText}`)
|
||||
}
|
||||
|
||||
responseSignature = response.headers.get('x-cypress-signature')
|
||||
|
||||
await new Promise<void>((resolve, reject) => {
|
||||
@@ -77,26 +80,12 @@ const downloadStudioBundleToTempDirectory = async ({ studioUrl, projectId }: Opt
|
||||
}
|
||||
}
|
||||
|
||||
const getTarHash = (): Promise<string> => {
|
||||
let hash = ''
|
||||
|
||||
return new Promise<string>((resolve, reject) => {
|
||||
fs.createReadStream(bundlePath)
|
||||
.pipe(crypto.createHash('sha256'))
|
||||
.setEncoding('base64url')
|
||||
.on('data', (data) => {
|
||||
hash += String(data)
|
||||
})
|
||||
.on('error', reject)
|
||||
.on('close', () => {
|
||||
resolve(hash)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const retrieveAndExtractStudioBundle = async ({ studioUrl, projectId }: Options): Promise<{ studioHash: string | undefined }> => {
|
||||
// The studio hash is the last part of the studio URL, after the last slash and before the extension
|
||||
const studioHash = studioUrl.split('/').pop()?.split('.')[0]
|
||||
|
||||
// First remove studioPath to ensure we have a clean slate
|
||||
await fs.promises.rm(studioPath, { recursive: true, force: true })
|
||||
await remove(studioPath)
|
||||
await ensureDir(studioPath)
|
||||
|
||||
// Note: CYPRESS_LOCAL_STUDIO_PATH is stripped from the binary, effectively removing this code path
|
||||
@@ -112,8 +101,6 @@ export const retrieveAndExtractStudioBundle = async ({ studioUrl, projectId }: O
|
||||
|
||||
await downloadStudioBundleToTempDirectory({ studioUrl, projectId })
|
||||
|
||||
const studioHash = await getTarHash()
|
||||
|
||||
await tar.extract({
|
||||
file: bundlePath,
|
||||
cwd: studioPath,
|
||||
@@ -177,6 +164,6 @@ export const getAndInitializeStudioManager = async ({ studioUrl, projectId, clou
|
||||
studioMethod: 'getAndInitializeStudioManager',
|
||||
})
|
||||
} finally {
|
||||
await fs.promises.rm(bundlePath, { force: true })
|
||||
await remove(bundlePath)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ export const postStudioSession = async ({ projectId }: GetStudioSessionOptions)
|
||||
})
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error('Failed to create studio session')
|
||||
throw new Error(`Failed to create studio session: ${response.statusText}`)
|
||||
}
|
||||
|
||||
const data = await response.json()
|
||||
|
||||
@@ -40,7 +40,8 @@ export function reportStudioError ({
|
||||
// When developing locally, do not send to Sentry, but instead log to console.
|
||||
if (
|
||||
process.env.CYPRESS_LOCAL_STUDIO_PATH ||
|
||||
process.env.NODE_ENV === 'development'
|
||||
process.env.NODE_ENV === 'development' ||
|
||||
process.env.CYPRESS_INTERNAL_E2E_TESTING_SELF
|
||||
) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error(`Error in ${studioMethod}:`, error)
|
||||
|
||||
@@ -215,7 +215,7 @@ async function trashAssets (config: Cfg) {
|
||||
try {
|
||||
await Promise.all([
|
||||
trash.folder(config.videosFolder),
|
||||
trash.folder(config.screenshotsFolder),
|
||||
typeof config.screenshotsFolder === 'string' ? trash.folder(config.screenshotsFolder) : Promise.resolve(),
|
||||
trash.folder(config.downloadsFolder),
|
||||
])
|
||||
} catch (err) {
|
||||
|
||||
@@ -431,21 +431,26 @@ export class ProjectBase extends EE {
|
||||
|
||||
const studio = await this.ctx.coreData.studioLifecycleManager?.getStudio()
|
||||
|
||||
try {
|
||||
studio?.captureStudioEvent({
|
||||
type: StudioMetricsTypes.STUDIO_STARTED,
|
||||
machineId: await this.ctx.coreData.machineId,
|
||||
projectId: this.cfg.projectId,
|
||||
browser: this.browser ? {
|
||||
name: this.browser.name,
|
||||
family: this.browser.family,
|
||||
channel: this.browser.channel,
|
||||
version: this.browser.version,
|
||||
} : undefined,
|
||||
cypressVersion: pkg.version,
|
||||
})
|
||||
} catch (error) {
|
||||
debug('Error capturing studio event:', error)
|
||||
const isCloudStudio = !!(process.env.CYPRESS_ENABLE_CLOUD_STUDIO || process.env.CYPRESS_LOCAL_STUDIO_PATH)
|
||||
|
||||
// only capture studio started event if the user is accessing legacy studio
|
||||
if (!isCloudStudio) {
|
||||
try {
|
||||
studio?.captureStudioEvent({
|
||||
type: StudioMetricsTypes.STUDIO_STARTED,
|
||||
machineId: await this.ctx.coreData.machineId,
|
||||
projectId: this.cfg.projectId,
|
||||
browser: this.browser ? {
|
||||
name: this.browser.name,
|
||||
family: this.browser.family,
|
||||
channel: this.browser.channel,
|
||||
version: this.browser.version,
|
||||
} : undefined,
|
||||
cypressVersion: pkg.version,
|
||||
})
|
||||
} catch (error) {
|
||||
debug('Error capturing studio event:', error)
|
||||
}
|
||||
}
|
||||
|
||||
if (this.spec && studio?.protocolManager) {
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
const { fs } = require('./fs')
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
const trash = require('trash')
|
||||
const Promise = require('bluebird')
|
||||
|
||||
module.exports = {
|
||||
folder (pathToFolder) {
|
||||
return fs.statAsync(pathToFolder)
|
||||
.then(() => {
|
||||
if (os.platform() === 'linux') {
|
||||
return fs.emptyDir(pathToFolder)
|
||||
}
|
||||
|
||||
return Promise.map(fs.readdirAsync(pathToFolder), (item) => {
|
||||
return trash([path.join(pathToFolder, item)])
|
||||
})
|
||||
}).catch({ code: 'ENOENT' }, () => {})
|
||||
},
|
||||
}
|
||||
34
packages/server/lib/util/trash.ts
Normal file
34
packages/server/lib/util/trash.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { fs } from './fs'
|
||||
import os from 'os'
|
||||
import path from 'path'
|
||||
import trash from 'trash'
|
||||
import Bluebird from 'bluebird'
|
||||
|
||||
// Moves a folder's contents to the trash (or empties it on Linux)
|
||||
export const folder = async (pathToFolder: string): Promise<void> => {
|
||||
try {
|
||||
await fs.statAsync(pathToFolder)
|
||||
|
||||
if (os.platform() === 'linux') {
|
||||
await fs.emptyDir(pathToFolder)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
const items = await fs.readdir(pathToFolder)
|
||||
|
||||
await Bluebird.map(items, (item: string) => {
|
||||
return trash([path.join(pathToFolder, item)])
|
||||
})
|
||||
} catch (error) {
|
||||
if ((error as NodeJS.ErrnoException).code === 'ENOENT') {
|
||||
return
|
||||
}
|
||||
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
folder,
|
||||
}
|
||||
@@ -128,7 +128,7 @@
|
||||
"term-size": "2.1.0",
|
||||
"through": "2.3.8",
|
||||
"tough-cookie": "4.1.3",
|
||||
"trash": "5.2.0",
|
||||
"trash": "7.2.0",
|
||||
"ts-node": "^10.9.2",
|
||||
"tslib": "2.3.1",
|
||||
"underscore.string": "3.3.6",
|
||||
@@ -175,7 +175,7 @@
|
||||
"@types/request-promise": "^4.1.48",
|
||||
"@types/tar": "^6.1.0",
|
||||
"babel-loader": "10.0.0",
|
||||
"chai": "1.10.0",
|
||||
"chai": "3.5.0",
|
||||
"chai-as-promised": "7.1.1",
|
||||
"chai-subset": "1.6.0",
|
||||
"chai-uuid": "1.0.6",
|
||||
|
||||
@@ -219,8 +219,9 @@ describe('lib/cloud/api', () => {
|
||||
return api.ping()
|
||||
.then(() => {
|
||||
throw new Error('should have thrown here')
|
||||
}).catch((err) => {
|
||||
expect(err.isApiError).to.be.true
|
||||
})
|
||||
.catch((err) => {
|
||||
expect(err).to.have.property('isApiError', true)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -500,10 +501,8 @@ describe('lib/cloud/api', () => {
|
||||
scopeApi.done()
|
||||
|
||||
expect(err).not.to.have.property('statusCode')
|
||||
expect(err).to.contain({
|
||||
name: 'DecryptionError',
|
||||
message: 'JWE Recipients missing or incorrect type',
|
||||
})
|
||||
expect(err).to.have.property('name', 'DecryptionError')
|
||||
expect(err).to.have.property('message', 'JWE Recipients missing or incorrect type')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -523,10 +522,8 @@ describe('lib/cloud/api', () => {
|
||||
scopeApi.done()
|
||||
|
||||
expect(err).not.to.have.property('statusCode')
|
||||
expect(err).to.contain({
|
||||
name: 'DecryptionError',
|
||||
message: 'General JWE must be an object',
|
||||
})
|
||||
expect(err).to.have.property('name', 'DecryptionError')
|
||||
expect(err).to.have.property('message', 'General JWE must be an object')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -546,10 +543,8 @@ describe('lib/cloud/api', () => {
|
||||
scopeApi.done()
|
||||
|
||||
expect(err).not.to.have.property('statusCode')
|
||||
expect(err).to.contain({
|
||||
name: 'DecryptionError',
|
||||
message: 'General JWE must be an object',
|
||||
})
|
||||
expect(err).to.have.property('name', 'DecryptionError')
|
||||
expect(err).to.have.property('message', 'General JWE must be an object')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -943,7 +938,7 @@ describe('lib/cloud/api', () => {
|
||||
.then(() => {
|
||||
throw new Error('should have thrown here')
|
||||
}).catch((err) => {
|
||||
expect(err.isApiError).to.be.true
|
||||
expect(err).to.have.property('isApiError', true)
|
||||
expect(this.protocolManager.prepareAndSetupProtocol).not.to.be.called
|
||||
})
|
||||
})
|
||||
@@ -958,7 +953,7 @@ describe('lib/cloud/api', () => {
|
||||
throw new Error('should have thrown here')
|
||||
})
|
||||
.catch((err) => {
|
||||
expect(err.isApiError).to.be.true
|
||||
expect(err).to.have.property('isApiError', true)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -1059,8 +1054,9 @@ describe('lib/cloud/api', () => {
|
||||
return api.postInstanceTests(this.props)
|
||||
.then(() => {
|
||||
throw new Error('should have thrown here')
|
||||
}).catch((err) => {
|
||||
expect(err.isApiError).to.be.true
|
||||
})
|
||||
.catch((err) => {
|
||||
expect(err).to.have.property('isApiError', true)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -1163,8 +1159,9 @@ describe('lib/cloud/api', () => {
|
||||
return api.postInstanceResults(this.updateProps)
|
||||
.then(() => {
|
||||
throw new Error('should have thrown here')
|
||||
}).catch((err) => {
|
||||
expect(err.isApiError).to.be.true
|
||||
})
|
||||
.catch((err) => {
|
||||
expect(err).to.have.property('isApiError', true)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -1260,8 +1257,9 @@ describe('lib/cloud/api', () => {
|
||||
})
|
||||
.then(() => {
|
||||
throw new Error('should have thrown here')
|
||||
}).catch((err) => {
|
||||
expect(err.isApiError).to.be.true
|
||||
})
|
||||
.catch((err) => {
|
||||
expect(err).to.have.property('isApiError', true)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -1285,8 +1283,9 @@ describe('lib/cloud/api', () => {
|
||||
return api.getAuthUrls()
|
||||
.then(() => {
|
||||
throw new Error('should have thrown here')
|
||||
}).catch((err) => {
|
||||
expect(err.isApiError).to.be.true
|
||||
})
|
||||
.catch((err) => {
|
||||
expect(err).to.have.property('isApiError', true)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1332,8 +1331,9 @@ describe('lib/cloud/api', () => {
|
||||
return api.postLogout('auth-token-123')
|
||||
.then(() => {
|
||||
throw new Error('should have thrown here')
|
||||
}).catch((err) => {
|
||||
expect(err.isApiError).to.be.true
|
||||
})
|
||||
.catch((err) => {
|
||||
expect(err).to.have.property('isApiError', true)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -1395,8 +1395,9 @@ describe('lib/cloud/api', () => {
|
||||
return api.createCrashReport({ foo: 'bar' }, 'auth-token-123')
|
||||
.then(() => {
|
||||
throw new Error('should have thrown here')
|
||||
}).catch((err) => {
|
||||
expect(err.isApiError).to.be.true
|
||||
})
|
||||
.catch((err) => {
|
||||
expect(err).to.have.property('isApiError', true)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -28,7 +28,11 @@ describe('getAndInitializeStudioManager', () => {
|
||||
ensureStub = sinon.stub()
|
||||
copyStub = sinon.stub()
|
||||
readFileStub = sinon.stub()
|
||||
crossFetchStub = sinon.stub()
|
||||
crossFetchStub = sinon.stub().resolves({
|
||||
ok: true,
|
||||
statusText: 'OK',
|
||||
})
|
||||
|
||||
createReadStreamStub = sinon.stub()
|
||||
createWriteStreamStub = sinon.stub()
|
||||
verifySignatureFromFileStub = sinon.stub()
|
||||
@@ -38,9 +42,6 @@ describe('getAndInitializeStudioManager', () => {
|
||||
|
||||
getAndInitializeStudioManager = (proxyquire('../lib/cloud/api/studio/get_and_initialize_studio_manager', {
|
||||
fs: {
|
||||
promises: {
|
||||
rm: rmStub.resolves(),
|
||||
},
|
||||
createReadStream: createReadStreamStub,
|
||||
createWriteStream: createWriteStreamStub,
|
||||
},
|
||||
@@ -49,6 +50,7 @@ describe('getAndInitializeStudioManager', () => {
|
||||
platform: () => 'linux',
|
||||
},
|
||||
'fs-extra': {
|
||||
remove: rmStub.resolves(),
|
||||
ensureDir: ensureStub.resolves(),
|
||||
copy: copyStub.resolves(),
|
||||
readFile: readFileStub.resolves('console.log("studio script")'),
|
||||
@@ -110,6 +112,8 @@ describe('getAndInitializeStudioManager', () => {
|
||||
})
|
||||
|
||||
crossFetchStub.resolves({
|
||||
ok: true,
|
||||
statusText: 'OK',
|
||||
body: readStream,
|
||||
headers: {
|
||||
get: (header) => {
|
||||
@@ -251,6 +255,8 @@ describe('getAndInitializeStudioManager', () => {
|
||||
})
|
||||
|
||||
crossFetchStub.resolves({
|
||||
ok: true,
|
||||
statusText: 'OK',
|
||||
body: readStream,
|
||||
headers: {
|
||||
get: (header) => {
|
||||
@@ -298,7 +304,7 @@ describe('getAndInitializeStudioManager', () => {
|
||||
expect(studioManagerSetupStub).to.be.calledWithMatch({
|
||||
script: 'console.log("studio script")',
|
||||
studioPath: '/tmp/cypress/studio',
|
||||
studioHash: 'V8T1PKuSTK1h9gr-1Z2Wtx__bxTpCXWRZ57sKmPVTSs',
|
||||
studioHash: 'abc',
|
||||
})
|
||||
})
|
||||
|
||||
@@ -318,6 +324,8 @@ describe('getAndInitializeStudioManager', () => {
|
||||
|
||||
crossFetchStub.onFirstCall().rejects(new HttpError('Failed to fetch', 'url', 502, 'Bad Gateway', 'Bad Gateway', sinon.stub()))
|
||||
crossFetchStub.onSecondCall().resolves({
|
||||
ok: true,
|
||||
statusText: 'OK',
|
||||
body: readStream,
|
||||
headers: {
|
||||
get: (header) => {
|
||||
@@ -365,7 +373,7 @@ describe('getAndInitializeStudioManager', () => {
|
||||
expect(studioManagerSetupStub).to.be.calledWithMatch({
|
||||
script: 'console.log("studio script")',
|
||||
studioPath: '/tmp/cypress/studio',
|
||||
studioHash: 'V8T1PKuSTK1h9gr-1Z2Wtx__bxTpCXWRZ57sKmPVTSs',
|
||||
studioHash: 'abc',
|
||||
})
|
||||
})
|
||||
|
||||
@@ -424,6 +432,43 @@ describe('getAndInitializeStudioManager', () => {
|
||||
})
|
||||
})
|
||||
|
||||
it('throws an error and returns a studio manager in error state if the response status is not ok', async () => {
|
||||
const mockGetCloudUrl = sinon.stub()
|
||||
const mockAdditionalHeaders = sinon.stub()
|
||||
const cloud = {
|
||||
getCloudUrl: mockGetCloudUrl,
|
||||
additionalHeaders: mockAdditionalHeaders,
|
||||
} as unknown as CloudDataSource
|
||||
|
||||
mockGetCloudUrl.returns('http://localhost:1234')
|
||||
mockAdditionalHeaders.resolves({
|
||||
a: 'b',
|
||||
c: 'd',
|
||||
})
|
||||
|
||||
crossFetchStub.resolves({
|
||||
ok: false,
|
||||
statusText: 'Some failure',
|
||||
})
|
||||
|
||||
const projectId = '12345'
|
||||
|
||||
await getAndInitializeStudioManager({ studioUrl: 'http://localhost:1234/studio/bundle/abc.tgz', projectId, cloudDataSource: cloud })
|
||||
|
||||
expect(rmStub).to.be.calledWith('/tmp/cypress/studio')
|
||||
expect(ensureStub).to.be.calledWith('/tmp/cypress/studio')
|
||||
expect(createInErrorManagerStub).to.be.calledWithMatch({
|
||||
error: sinon.match.instanceOf(Error).and(sinon.match.has('message', 'Failed to download studio bundle: Some failure')),
|
||||
cloudApi: {
|
||||
cloudUrl: 'http://localhost:1234',
|
||||
cloudHeaders: { a: 'b', c: 'd' },
|
||||
},
|
||||
studioHash: undefined,
|
||||
projectSlug: '12345',
|
||||
studioMethod: 'getAndInitializeStudioManager',
|
||||
})
|
||||
})
|
||||
|
||||
it('throws an error and returns a studio manager in error state if the signature verification fails', async () => {
|
||||
const mockGetCloudUrl = sinon.stub()
|
||||
const mockAdditionalHeaders = sinon.stub()
|
||||
@@ -439,6 +484,8 @@ describe('getAndInitializeStudioManager', () => {
|
||||
})
|
||||
|
||||
crossFetchStub.resolves({
|
||||
ok: true,
|
||||
statusText: 'OK',
|
||||
body: readStream,
|
||||
headers: {
|
||||
get: (header) => {
|
||||
@@ -501,6 +548,8 @@ describe('getAndInitializeStudioManager', () => {
|
||||
})
|
||||
|
||||
crossFetchStub.resolves({
|
||||
ok: true,
|
||||
statusText: 'OK',
|
||||
body: readStream,
|
||||
headers: {
|
||||
get: () => null,
|
||||
|
||||
@@ -54,6 +54,7 @@ describe('postStudioSession', () => {
|
||||
it('should throw immediately if the response is not ok', async () => {
|
||||
crossFetchStub.resolves({
|
||||
ok: false,
|
||||
statusText: 'Some failure',
|
||||
json: () => {
|
||||
return Promise.resolve({
|
||||
error: 'Failed to create studio session',
|
||||
@@ -63,7 +64,7 @@ describe('postStudioSession', () => {
|
||||
|
||||
await expect(postStudioSession({
|
||||
projectId: '12345',
|
||||
})).to.be.rejectedWith('Failed to create studio session')
|
||||
})).to.be.rejectedWith('Failed to create studio session: Some failure')
|
||||
|
||||
expect(crossFetchStub).to.have.been.calledOnce
|
||||
})
|
||||
|
||||
@@ -62,6 +62,26 @@ describe('lib/cloud/api/studio/report_studio_error', () => {
|
||||
)
|
||||
})
|
||||
|
||||
it('logs error when CYPRESS_INTERNAL_E2E_TESTING_SELF is set', () => {
|
||||
sinon.stub(console, 'error')
|
||||
process.env.CYPRESS_INTERNAL_E2E_TESTING_SELF = 'true'
|
||||
const error = new Error('test error')
|
||||
|
||||
reportStudioError({
|
||||
cloudApi,
|
||||
studioHash: 'abc123',
|
||||
projectSlug: 'test-project',
|
||||
error,
|
||||
studioMethod: 'testMethod',
|
||||
})
|
||||
|
||||
// eslint-disable-next-line no-console
|
||||
expect(console.error).to.have.been.calledWith(
|
||||
'Error in testMethod:',
|
||||
error,
|
||||
)
|
||||
})
|
||||
|
||||
it('converts non-Error objects to Error', () => {
|
||||
const error = 'string error'
|
||||
|
||||
|
||||
@@ -896,6 +896,63 @@ This option will not have an effect in Some-other-name. Tests that rely on web s
|
||||
expect(this.project['_protocolManager']).to.be.undefined
|
||||
})
|
||||
|
||||
it('does not capture studio started event if the user is accessing cloud studio', async function () {
|
||||
process.env.CYPRESS_ENABLE_CLOUD_STUDIO = 'true'
|
||||
process.env.CYPRESS_LOCAL_STUDIO_PATH = 'false'
|
||||
|
||||
const mockAccessStudioAI = sinon.stub().resolves(true)
|
||||
const mockCaptureStudioEvent = sinon.stub().resolves()
|
||||
|
||||
this.project.spec = {}
|
||||
|
||||
this.project._cfg = this.project._cfg || {}
|
||||
this.project._cfg.projectId = 'test-project-id'
|
||||
this.project.ctx.coreData.user = { email: 'test@example.com' }
|
||||
this.project.ctx.coreData.machineId = Promise.resolve('test-machine-id')
|
||||
|
||||
const studioManager = new StudioManager()
|
||||
|
||||
studioManager.canAccessStudioAI = mockAccessStudioAI
|
||||
studioManager.captureStudioEvent = mockCaptureStudioEvent
|
||||
const studioLifecycleManager = new StudioLifecycleManager()
|
||||
|
||||
this.project.ctx.coreData.studioLifecycleManager = studioLifecycleManager
|
||||
|
||||
studioLifecycleManager.studioManagerPromise = Promise.resolve(studioManager)
|
||||
|
||||
studioLifecycleManager.isStudioReady = sinon.stub().returns(true)
|
||||
|
||||
// Create a browser object
|
||||
this.project.browser = {
|
||||
name: 'chrome',
|
||||
family: 'chromium',
|
||||
}
|
||||
|
||||
this.project.options = { browsers: [this.project.browser] }
|
||||
|
||||
sinon.stub(browsers, 'closeProtocolConnection').resolves()
|
||||
|
||||
sinon.stub(browsers, 'connectProtocolToBrowser').resolves()
|
||||
sinon.stub(this.project, 'protocolManager').get(() => {
|
||||
return this.project['_protocolManager']
|
||||
}).set((protocolManager) => {
|
||||
this.project['_protocolManager'] = protocolManager
|
||||
})
|
||||
|
||||
let studioInitPromise
|
||||
|
||||
this.project.server.startWebsockets.callsFake(async (automation, config, callbacks) => {
|
||||
studioInitPromise = callbacks.onStudioInit()
|
||||
})
|
||||
|
||||
this.project.startWebsockets({}, {})
|
||||
|
||||
const { canAccessStudioAI } = await studioInitPromise
|
||||
|
||||
expect(canAccessStudioAI).to.be.false
|
||||
expect(mockCaptureStudioEvent).not.to.be.called
|
||||
})
|
||||
|
||||
it('passes onStudioDestroy callback', async function () {
|
||||
// Set up minimal required properties
|
||||
this.project.ctx = this.project.ctx || {}
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
const mockFs = require('mock-fs')
|
||||
|
||||
require('../../spec_helper')
|
||||
|
||||
const fs = require('fs')
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
const trash = require(`../../../lib/util/trash`)
|
||||
|
||||
const populateDirectories = function (basePath) {
|
||||
fs.mkdirSync(basePath)
|
||||
fs.mkdirSync(path.resolve(basePath, 'bar'))
|
||||
fs.mkdirSync(path.resolve(basePath, 'bar', 'baz'))
|
||||
|
||||
fs.writeFileSync(path.resolve(basePath, 'a.txt'), '')
|
||||
fs.writeFileSync(path.resolve(basePath, 'bar', 'b.txt'), '')
|
||||
fs.writeFileSync(path.resolve(basePath, 'bar', 'baz', 'c.txt'), '')
|
||||
|
||||
expect(fs.existsSync(path.resolve(basePath, 'a.txt'))).to.be.true
|
||||
expect(fs.existsSync(path.resolve(basePath, 'bar', 'b.txt'))).to.be.true
|
||||
|
||||
expect(fs.existsSync(path.resolve(basePath, 'bar', 'baz', 'c.txt'))).to.be.true
|
||||
}
|
||||
|
||||
const expectDirectoriesExist = function (basePath) {
|
||||
expect(fs.existsSync(basePath)).to.be.true
|
||||
expect(fs.existsSync(path.resolve(basePath, 'a.txt'))).to.be.false
|
||||
expect(fs.existsSync(path.resolve(basePath, 'bar', 'b.txt'))).to.be.false
|
||||
|
||||
expect(fs.existsSync(path.resolve(basePath, 'bar', 'baz', 'c.txt'))).to.be.false
|
||||
}
|
||||
|
||||
describe('lib/util/trash', () => {
|
||||
beforeEach(() => {
|
||||
sinon.stub(process, 'cwd').returns(os.tmpdir())
|
||||
mockFs({})
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
mockFs.restore()
|
||||
})
|
||||
|
||||
context('.folder', () => {
|
||||
it('trashes contents of directory in non-Linux', () => {
|
||||
sinon.stub(os, 'platform').returns('darwin')
|
||||
const basePath = 'foo'
|
||||
|
||||
populateDirectories(basePath)
|
||||
|
||||
return trash.folder(basePath).then(() => {
|
||||
expectDirectoriesExist(basePath)
|
||||
|
||||
return fs.rmdirSync(basePath)
|
||||
})
|
||||
})
|
||||
|
||||
it(`doesn't fail if directory is non-existent`, () => {
|
||||
return trash.folder('bar')
|
||||
.tapCatch(() => {
|
||||
throw new Error('should not have errored')
|
||||
})
|
||||
})
|
||||
|
||||
it('completely removes directory on Linux', () => {
|
||||
sinon.stub(os, 'platform').returns('linux')
|
||||
const basePath = 'foo'
|
||||
|
||||
populateDirectories(basePath)
|
||||
|
||||
return trash.folder(basePath).then(() => {
|
||||
expectDirectoriesExist(basePath)
|
||||
|
||||
return fs.rmdirSync(basePath)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
74
packages/server/test/unit/util/trash_spec.ts
Normal file
74
packages/server/test/unit/util/trash_spec.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import fs from 'fs'
|
||||
import os from 'os'
|
||||
import path from 'path'
|
||||
import trash from '../../../lib/util/trash'
|
||||
import sinon from 'sinon'
|
||||
import { expect } from 'chai'
|
||||
|
||||
require('../../spec_helper')
|
||||
|
||||
// Creates test directories and files for trash testing
|
||||
const populateDirectories = (basePath: string): void => {
|
||||
fs.mkdirSync(basePath, { recursive: true })
|
||||
fs.mkdirSync(path.resolve(basePath, 'bar'), { recursive: true })
|
||||
fs.mkdirSync(path.resolve(basePath, 'bar', 'baz'), { recursive: true })
|
||||
|
||||
fs.writeFileSync(path.resolve(basePath, 'a.txt'), '')
|
||||
fs.writeFileSync(path.resolve(basePath, 'bar', 'b.txt'), '')
|
||||
fs.writeFileSync(path.resolve(basePath, 'bar', 'baz', 'c.txt'), '')
|
||||
|
||||
expect(fs.existsSync(path.resolve(basePath, 'a.txt'))).to.be.true
|
||||
expect(fs.existsSync(path.resolve(basePath, 'bar', 'b.txt'))).to.be.true
|
||||
expect(fs.existsSync(path.resolve(basePath, 'bar', 'baz', 'c.txt'))).to.be.true
|
||||
}
|
||||
|
||||
// Verifies that directories exist but their contents have been removed
|
||||
const expectDirectoriesExist = (basePath: string): void => {
|
||||
expect(fs.existsSync(basePath)).to.be.true
|
||||
expect(fs.existsSync(path.resolve(basePath, 'a.txt'))).to.be.false
|
||||
expect(fs.existsSync(path.resolve(basePath, 'bar', 'b.txt'))).to.be.false
|
||||
expect(fs.existsSync(path.resolve(basePath, 'bar', 'baz', 'c.txt'))).to.be.false
|
||||
}
|
||||
|
||||
describe('lib/util/trash', () => {
|
||||
let tempDir: string
|
||||
|
||||
beforeEach(() => {
|
||||
tempDir = path.join(os.tmpdir(), `cypress-test-${Date.now()}`)
|
||||
fs.mkdirSync(tempDir, { recursive: true })
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
if (fs.existsSync(tempDir)) {
|
||||
fs.rmSync(tempDir, { recursive: true, force: true })
|
||||
}
|
||||
})
|
||||
|
||||
context('.folder', () => {
|
||||
it('trashes contents of directory in non-Linux', async () => {
|
||||
sinon.stub(os, 'platform').returns('darwin')
|
||||
const basePath = path.join(tempDir, 'foo')
|
||||
|
||||
populateDirectories(basePath)
|
||||
|
||||
await trash.folder(basePath)
|
||||
expectDirectoriesExist(basePath)
|
||||
fs.rmdirSync(basePath)
|
||||
})
|
||||
|
||||
it('doesn\'t fail if directory is non-existent', async () => {
|
||||
await trash.folder(path.join(tempDir, 'bar'))
|
||||
})
|
||||
|
||||
it('completely removes directory on Linux', async () => {
|
||||
sinon.stub(os, 'platform').returns('linux')
|
||||
const basePath = path.join(tempDir, 'foo')
|
||||
|
||||
populateDirectories(basePath)
|
||||
|
||||
await trash.folder(basePath)
|
||||
expectDirectoriesExist(basePath)
|
||||
fs.rmdirSync(basePath)
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -54,6 +54,7 @@ const getDependencyPathsToKeep = async (buildAppDir) => {
|
||||
'node_modules/html-webpack-plugin-5/index.js',
|
||||
'node_modules/mocha-7.2.0/index.js',
|
||||
'packages/server/node_modules/webdriver/build/index.js',
|
||||
'packages/server/node_modules/@wdio/utils/build/node.js',
|
||||
// dependencies needed for geckodriver when running firefox in the binary
|
||||
'node_modules/pump/index.js',
|
||||
'node_modules/sprintf-js/src/sprintf.js',
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
"bluebird": "3.7.2",
|
||||
"body-parser": "1.20.2",
|
||||
"cachedir": "2.3.0",
|
||||
"chai": "1.10.0",
|
||||
"chai": "3.5.0",
|
||||
"chai-as-promised": "7.1.1",
|
||||
"chai-subset": "1.6.0",
|
||||
"chai-uuid": "1.0.6",
|
||||
|
||||
@@ -18,7 +18,7 @@ module.exports = {
|
||||
err = e
|
||||
}
|
||||
|
||||
expect(err).to.include({ code: 'EACCES' })
|
||||
expect(err).to.have.property('code', 'EACCES')
|
||||
|
||||
console.log(`✅ ${config.projectRoot} is not writable`)
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"uninstall-snapshot": "DEBUG='(packherd|snapgen):*' node ./snapshot/uninstall-snapshot.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"express": "^4.17.1"
|
||||
"express": "^4.21.0"
|
||||
},
|
||||
"license": "MIT"
|
||||
}
|
||||
|
||||
@@ -2,61 +2,79 @@
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
accepts@~1.3.7:
|
||||
version "1.3.7"
|
||||
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
|
||||
integrity "sha1-UxvHJlF6OytB+FACHGzBXqq1B80= sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA=="
|
||||
accepts@~1.3.8:
|
||||
version "1.3.8"
|
||||
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
|
||||
integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
|
||||
dependencies:
|
||||
mime-types "~2.1.24"
|
||||
negotiator "0.6.2"
|
||||
mime-types "~2.1.34"
|
||||
negotiator "0.6.3"
|
||||
|
||||
array-flatten@1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
|
||||
integrity "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
|
||||
|
||||
body-parser@1.19.0:
|
||||
version "1.19.0"
|
||||
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
|
||||
integrity "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io= sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw=="
|
||||
body-parser@1.20.3:
|
||||
version "1.20.3"
|
||||
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6"
|
||||
integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==
|
||||
dependencies:
|
||||
bytes "3.1.0"
|
||||
content-type "~1.0.4"
|
||||
bytes "3.1.2"
|
||||
content-type "~1.0.5"
|
||||
debug "2.6.9"
|
||||
depd "~1.1.2"
|
||||
http-errors "1.7.2"
|
||||
depd "2.0.0"
|
||||
destroy "1.2.0"
|
||||
http-errors "2.0.0"
|
||||
iconv-lite "0.4.24"
|
||||
on-finished "~2.3.0"
|
||||
qs "6.7.0"
|
||||
raw-body "2.4.0"
|
||||
type-is "~1.6.17"
|
||||
on-finished "2.4.1"
|
||||
qs "6.13.0"
|
||||
raw-body "2.5.2"
|
||||
type-is "~1.6.18"
|
||||
unpipe "1.0.0"
|
||||
|
||||
bytes@3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
|
||||
integrity "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
|
||||
bytes@3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
|
||||
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
|
||||
|
||||
content-disposition@0.5.3:
|
||||
version "0.5.3"
|
||||
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
|
||||
integrity "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g=="
|
||||
call-bind@^1.0.7:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
|
||||
integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
|
||||
dependencies:
|
||||
safe-buffer "5.1.2"
|
||||
es-define-property "^1.0.0"
|
||||
es-errors "^1.3.0"
|
||||
function-bind "^1.1.2"
|
||||
get-intrinsic "^1.2.4"
|
||||
set-function-length "^1.2.1"
|
||||
|
||||
content-disposition@0.5.4:
|
||||
version "0.5.4"
|
||||
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
|
||||
integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
|
||||
dependencies:
|
||||
safe-buffer "5.2.1"
|
||||
|
||||
content-type@~1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
|
||||
integrity "sha1-4TjMdeBAxyexlm/l5fjJruJW/js= sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
|
||||
|
||||
content-type@~1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
|
||||
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
|
||||
|
||||
cookie-signature@1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
|
||||
integrity "sha1-4wOogrNCzD7oylE6eZmXNNqzriw= sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
|
||||
|
||||
cookie@0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
|
||||
integrity "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
|
||||
cookie@0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051"
|
||||
integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
|
||||
|
||||
debug@2.6.9:
|
||||
version "2.6.9"
|
||||
@@ -65,15 +83,24 @@ debug@2.6.9:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
depd@~1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
|
||||
integrity "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="
|
||||
define-data-property@^1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
|
||||
integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
|
||||
dependencies:
|
||||
es-define-property "^1.0.0"
|
||||
es-errors "^1.3.0"
|
||||
gopd "^1.0.1"
|
||||
|
||||
destroy@~1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
|
||||
integrity "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg=="
|
||||
depd@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
|
||||
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
|
||||
|
||||
destroy@1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
|
||||
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
|
||||
|
||||
ee-first@1.1.1:
|
||||
version "1.1.1"
|
||||
@@ -85,6 +112,23 @@ encodeurl@~1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
|
||||
integrity "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
|
||||
|
||||
encodeurl@~2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58"
|
||||
integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
|
||||
|
||||
es-define-property@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845"
|
||||
integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
|
||||
dependencies:
|
||||
get-intrinsic "^1.2.4"
|
||||
|
||||
es-errors@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
|
||||
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
|
||||
|
||||
escape-html@~1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
|
||||
@@ -95,86 +139,123 @@ etag@~1.8.1:
|
||||
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
||||
integrity "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
|
||||
|
||||
express@^4.17.1:
|
||||
version "4.17.1"
|
||||
resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
|
||||
integrity "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ= sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g=="
|
||||
express@^4.21.0:
|
||||
version "4.21.0"
|
||||
resolved "https://registry.yarnpkg.com/express/-/express-4.21.0.tgz#d57cb706d49623d4ac27833f1cbc466b668eb915"
|
||||
integrity sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==
|
||||
dependencies:
|
||||
accepts "~1.3.7"
|
||||
accepts "~1.3.8"
|
||||
array-flatten "1.1.1"
|
||||
body-parser "1.19.0"
|
||||
content-disposition "0.5.3"
|
||||
body-parser "1.20.3"
|
||||
content-disposition "0.5.4"
|
||||
content-type "~1.0.4"
|
||||
cookie "0.4.0"
|
||||
cookie "0.6.0"
|
||||
cookie-signature "1.0.6"
|
||||
debug "2.6.9"
|
||||
depd "~1.1.2"
|
||||
encodeurl "~1.0.2"
|
||||
depd "2.0.0"
|
||||
encodeurl "~2.0.0"
|
||||
escape-html "~1.0.3"
|
||||
etag "~1.8.1"
|
||||
finalhandler "~1.1.2"
|
||||
finalhandler "1.3.1"
|
||||
fresh "0.5.2"
|
||||
merge-descriptors "1.0.1"
|
||||
http-errors "2.0.0"
|
||||
merge-descriptors "1.0.3"
|
||||
methods "~1.1.2"
|
||||
on-finished "~2.3.0"
|
||||
on-finished "2.4.1"
|
||||
parseurl "~1.3.3"
|
||||
path-to-regexp "0.1.7"
|
||||
proxy-addr "~2.0.5"
|
||||
qs "6.7.0"
|
||||
path-to-regexp "0.1.10"
|
||||
proxy-addr "~2.0.7"
|
||||
qs "6.13.0"
|
||||
range-parser "~1.2.1"
|
||||
safe-buffer "5.1.2"
|
||||
send "0.17.1"
|
||||
serve-static "1.14.1"
|
||||
setprototypeof "1.1.1"
|
||||
statuses "~1.5.0"
|
||||
safe-buffer "5.2.1"
|
||||
send "0.19.0"
|
||||
serve-static "1.16.2"
|
||||
setprototypeof "1.2.0"
|
||||
statuses "2.0.1"
|
||||
type-is "~1.6.18"
|
||||
utils-merge "1.0.1"
|
||||
vary "~1.1.2"
|
||||
|
||||
finalhandler@~1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
|
||||
integrity "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0= sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA=="
|
||||
finalhandler@1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019"
|
||||
integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==
|
||||
dependencies:
|
||||
debug "2.6.9"
|
||||
encodeurl "~1.0.2"
|
||||
encodeurl "~2.0.0"
|
||||
escape-html "~1.0.3"
|
||||
on-finished "~2.3.0"
|
||||
on-finished "2.4.1"
|
||||
parseurl "~1.3.3"
|
||||
statuses "~1.5.0"
|
||||
statuses "2.0.1"
|
||||
unpipe "~1.0.0"
|
||||
|
||||
forwarded@~0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
|
||||
integrity "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= sha512-Ua9xNhH0b8pwE3yRbFfXJvfdWF0UHNCdeyb2sbi9Ul/M+r3PTdrz7Cv4SCfZRMjmzEM9PhraqfZFbGTIg3OMyA=="
|
||||
forwarded@0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
|
||||
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
|
||||
|
||||
fresh@0.5.2:
|
||||
version "0.5.2"
|
||||
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
|
||||
integrity "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
|
||||
|
||||
http-errors@1.7.2:
|
||||
version "1.7.2"
|
||||
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
|
||||
integrity "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg=="
|
||||
dependencies:
|
||||
depd "~1.1.2"
|
||||
inherits "2.0.3"
|
||||
setprototypeof "1.1.1"
|
||||
statuses ">= 1.5.0 < 2"
|
||||
toidentifier "1.0.0"
|
||||
function-bind@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
|
||||
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
|
||||
|
||||
http-errors@~1.7.2:
|
||||
version "1.7.3"
|
||||
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
|
||||
integrity "sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw=="
|
||||
get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
|
||||
integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
|
||||
dependencies:
|
||||
depd "~1.1.2"
|
||||
es-errors "^1.3.0"
|
||||
function-bind "^1.1.2"
|
||||
has-proto "^1.0.1"
|
||||
has-symbols "^1.0.3"
|
||||
hasown "^2.0.0"
|
||||
|
||||
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"
|
||||
|
||||
has-property-descriptors@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
|
||||
integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
|
||||
dependencies:
|
||||
es-define-property "^1.0.0"
|
||||
|
||||
has-proto@^1.0.1:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd"
|
||||
integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
|
||||
|
||||
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==
|
||||
|
||||
hasown@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
|
||||
integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
|
||||
dependencies:
|
||||
function-bind "^1.1.2"
|
||||
|
||||
http-errors@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
|
||||
integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
|
||||
dependencies:
|
||||
depd "2.0.0"
|
||||
inherits "2.0.4"
|
||||
setprototypeof "1.1.1"
|
||||
statuses ">= 1.5.0 < 2"
|
||||
toidentifier "1.0.0"
|
||||
setprototypeof "1.2.0"
|
||||
statuses "2.0.1"
|
||||
toidentifier "1.0.1"
|
||||
|
||||
iconv-lite@0.4.24:
|
||||
version "0.4.24"
|
||||
@@ -183,11 +264,6 @@ iconv-lite@0.4.24:
|
||||
dependencies:
|
||||
safer-buffer ">= 2.1.2 < 3"
|
||||
|
||||
inherits@2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
|
||||
integrity "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
|
||||
|
||||
inherits@2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||
@@ -203,10 +279,10 @@ media-typer@0.3.0:
|
||||
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
|
||||
integrity "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
|
||||
|
||||
merge-descriptors@1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
|
||||
integrity "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
|
||||
merge-descriptors@1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5"
|
||||
integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==
|
||||
|
||||
methods@~1.1.2:
|
||||
version "1.1.2"
|
||||
@@ -218,6 +294,11 @@ mime-db@1.44.0:
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
|
||||
integrity "sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I= sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
|
||||
|
||||
mime-db@1.52.0:
|
||||
version "1.52.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
||||
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
||||
|
||||
mime-types@~2.1.24:
|
||||
version "2.1.27"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
|
||||
@@ -225,6 +306,13 @@ mime-types@~2.1.24:
|
||||
dependencies:
|
||||
mime-db "1.44.0"
|
||||
|
||||
mime-types@~2.1.34:
|
||||
version "2.1.35"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
|
||||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||
dependencies:
|
||||
mime-db "1.52.0"
|
||||
|
||||
mime@1.6.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
|
||||
@@ -235,20 +323,25 @@ ms@2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
integrity "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
|
||||
|
||||
ms@2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
|
||||
integrity "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
|
||||
ms@2.1.3:
|
||||
version "2.1.3"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
||||
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
||||
|
||||
negotiator@0.6.2:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
|
||||
integrity "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
|
||||
negotiator@0.6.3:
|
||||
version "0.6.3"
|
||||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
|
||||
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
|
||||
|
||||
on-finished@~2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
|
||||
integrity "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww=="
|
||||
object-inspect@^1.13.1:
|
||||
version "1.13.2"
|
||||
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff"
|
||||
integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==
|
||||
|
||||
on-finished@2.4.1:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
|
||||
integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
|
||||
dependencies:
|
||||
ee-first "1.1.1"
|
||||
|
||||
@@ -257,94 +350,118 @@ parseurl@~1.3.3:
|
||||
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
|
||||
integrity "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
|
||||
|
||||
path-to-regexp@0.1.7:
|
||||
version "0.1.7"
|
||||
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
|
||||
integrity "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
|
||||
path-to-regexp@0.1.10:
|
||||
version "0.1.10"
|
||||
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b"
|
||||
integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==
|
||||
|
||||
proxy-addr@~2.0.5:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf"
|
||||
integrity "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8= sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw=="
|
||||
proxy-addr@~2.0.7:
|
||||
version "2.0.7"
|
||||
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
|
||||
integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
|
||||
dependencies:
|
||||
forwarded "~0.1.2"
|
||||
forwarded "0.2.0"
|
||||
ipaddr.js "1.9.1"
|
||||
|
||||
qs@6.7.0:
|
||||
version "6.7.0"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
|
||||
integrity "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
|
||||
qs@6.13.0:
|
||||
version "6.13.0"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906"
|
||||
integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
|
||||
dependencies:
|
||||
side-channel "^1.0.6"
|
||||
|
||||
range-parser@~1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
|
||||
integrity "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
|
||||
|
||||
raw-body@2.4.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
|
||||
integrity "sha1-oc5vucm8NWylLoklarWQWeE9AzI= sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q=="
|
||||
raw-body@2.5.2:
|
||||
version "2.5.2"
|
||||
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
|
||||
integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
|
||||
dependencies:
|
||||
bytes "3.1.0"
|
||||
http-errors "1.7.2"
|
||||
bytes "3.1.2"
|
||||
http-errors "2.0.0"
|
||||
iconv-lite "0.4.24"
|
||||
unpipe "1.0.0"
|
||||
|
||||
safe-buffer@5.1.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
||||
integrity "sha1-mR7GnSluAxN0fVm9/St0XDX4go0= sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
safe-buffer@5.2.1:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
||||
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
||||
|
||||
"safer-buffer@>= 2.1.2 < 3":
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
|
||||
integrity "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
|
||||
send@0.17.1:
|
||||
version "0.17.1"
|
||||
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
|
||||
integrity "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg= sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg=="
|
||||
send@0.19.0:
|
||||
version "0.19.0"
|
||||
resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8"
|
||||
integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
|
||||
dependencies:
|
||||
debug "2.6.9"
|
||||
depd "~1.1.2"
|
||||
destroy "~1.0.4"
|
||||
depd "2.0.0"
|
||||
destroy "1.2.0"
|
||||
encodeurl "~1.0.2"
|
||||
escape-html "~1.0.3"
|
||||
etag "~1.8.1"
|
||||
fresh "0.5.2"
|
||||
http-errors "~1.7.2"
|
||||
http-errors "2.0.0"
|
||||
mime "1.6.0"
|
||||
ms "2.1.1"
|
||||
on-finished "~2.3.0"
|
||||
ms "2.1.3"
|
||||
on-finished "2.4.1"
|
||||
range-parser "~1.2.1"
|
||||
statuses "~1.5.0"
|
||||
statuses "2.0.1"
|
||||
|
||||
serve-static@1.14.1:
|
||||
version "1.14.1"
|
||||
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
|
||||
integrity "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk= sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg=="
|
||||
serve-static@1.16.2:
|
||||
version "1.16.2"
|
||||
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296"
|
||||
integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==
|
||||
dependencies:
|
||||
encodeurl "~1.0.2"
|
||||
encodeurl "~2.0.0"
|
||||
escape-html "~1.0.3"
|
||||
parseurl "~1.3.3"
|
||||
send "0.17.1"
|
||||
send "0.19.0"
|
||||
|
||||
setprototypeof@1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
|
||||
integrity "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
|
||||
set-function-length@^1.2.1:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
|
||||
integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
|
||||
dependencies:
|
||||
define-data-property "^1.1.4"
|
||||
es-errors "^1.3.0"
|
||||
function-bind "^1.1.2"
|
||||
get-intrinsic "^1.2.4"
|
||||
gopd "^1.0.1"
|
||||
has-property-descriptors "^1.0.2"
|
||||
|
||||
"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
|
||||
integrity "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="
|
||||
setprototypeof@1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
|
||||
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
|
||||
|
||||
toidentifier@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
|
||||
integrity "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
|
||||
side-channel@^1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2"
|
||||
integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
|
||||
dependencies:
|
||||
call-bind "^1.0.7"
|
||||
es-errors "^1.3.0"
|
||||
get-intrinsic "^1.2.4"
|
||||
object-inspect "^1.13.1"
|
||||
|
||||
type-is@~1.6.17, type-is@~1.6.18:
|
||||
statuses@2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
|
||||
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
|
||||
|
||||
toidentifier@1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
|
||||
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
|
||||
|
||||
type-is@~1.6.18:
|
||||
version "1.6.18"
|
||||
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
|
||||
integrity "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="
|
||||
|
||||
@@ -5,7 +5,7 @@ const verifyPassedAndFailedAreSame = (expectedFailures) => {
|
||||
return ({ stdout }) => {
|
||||
const passes = stdout.match(/✓ ✓ VERIFY/g)
|
||||
|
||||
expect(passes?.length || 0, 'number of passes should equal the number of failures').to.equal(expectedFailures)
|
||||
expect(passes?.length || 0).to.equal(expectedFailures, 'number of passes should equal the number of failures')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2249,7 +2249,7 @@ describe('e2e record', () => {
|
||||
|
||||
expect(urls).to.include.members([`PUT ${CAPTURE_PROTOCOL_UPLOAD_URL}`])
|
||||
|
||||
expect(artifactReport?.protocol).to.an('object')
|
||||
expect(artifactReport?.protocol).to.be.an('object')
|
||||
expect(artifactReport?.protocol?.url).to.be.a('string')
|
||||
expect(artifactReport?.protocol?.uploadDuration).to.be.a('number')
|
||||
expect(artifactReport?.protocol).to.containSubset({
|
||||
@@ -2359,10 +2359,13 @@ describe('e2e record', () => {
|
||||
|
||||
const artifactReport = getRequests().find(({ url }) => url === `PUT /instances/${instanceId}/artifacts`)?.body
|
||||
|
||||
expect(artifactReport?.protocol).to.exist()
|
||||
expect(artifactReport?.protocol?.error).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.url).to.exist().and.not.be.empty()
|
||||
expect(artifactReport?.protocol).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.not.be.empty
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist
|
||||
expect(artifactReport?.protocol?.errorStack).to.not.be.empty
|
||||
expect(artifactReport?.protocol?.url).to.exist
|
||||
expect(artifactReport?.protocol?.url).to.not.be.empty
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -2390,10 +2393,13 @@ describe('e2e record', () => {
|
||||
|
||||
const artifactReport = getRequests().find(({ url }) => url === `PUT /instances/${instanceId}/artifacts`)?.body
|
||||
|
||||
expect(artifactReport?.protocol).to.exist()
|
||||
expect(artifactReport?.protocol?.error).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.url).to.exist().and.not.be.empty()
|
||||
expect(artifactReport?.protocol).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.not.be.empty
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist
|
||||
expect(artifactReport?.protocol?.errorStack).to.not.be.empty
|
||||
expect(artifactReport?.protocol?.url).to.exist
|
||||
expect(artifactReport?.protocol?.url).to.not.be.empty
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -2416,10 +2422,13 @@ describe('e2e record', () => {
|
||||
|
||||
const artifactReport = getRequests().find(({ url }) => url === `PUT /instances/${instanceId}/artifacts`)?.body
|
||||
|
||||
expect(artifactReport?.protocol).to.exist()
|
||||
expect(artifactReport?.protocol?.error).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.url).to.exist().and.not.be.empty()
|
||||
expect(artifactReport?.protocol).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.not.be.empty
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist
|
||||
expect(artifactReport?.protocol?.errorStack).to.not.be.empty
|
||||
expect(artifactReport?.protocol?.url).to.exist
|
||||
expect(artifactReport?.protocol?.url).to.not.be.empty
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -2442,10 +2451,13 @@ describe('e2e record', () => {
|
||||
|
||||
const artifactReport = getRequests().find(({ url }) => url === `PUT /instances/${instanceId}/artifacts`)?.body
|
||||
|
||||
expect(artifactReport?.protocol).to.exist()
|
||||
expect(artifactReport?.protocol?.error).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.url).to.exist().and.not.be.empty()
|
||||
expect(artifactReport?.protocol).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.not.be.empty
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist
|
||||
expect(artifactReport?.protocol?.errorStack).to.not.be.empty
|
||||
expect(artifactReport?.protocol?.url).to.exist
|
||||
expect(artifactReport?.protocol?.url).to.not.be.empty
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -2468,9 +2480,11 @@ describe('e2e record', () => {
|
||||
|
||||
const artifactReport = getRequests().find(({ url }) => url === `PUT /instances/${instanceId}/artifacts`)?.body
|
||||
|
||||
expect(artifactReport?.protocol).to.exist()
|
||||
expect(artifactReport?.protocol?.error).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.url).to.exist().and.not.be.empty()
|
||||
expect(artifactReport?.protocol).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.not.be.empty
|
||||
expect(artifactReport?.protocol?.url).to.exist
|
||||
expect(artifactReport?.protocol?.url).to.not.be.empty
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -2586,7 +2600,7 @@ describe('capture-protocol api errors', () => {
|
||||
|
||||
const artifactReport = getRequests().find(({ url }) => url === `PUT /instances/${instanceId}/artifacts`)?.body
|
||||
|
||||
expect(artifactReport?.protocol).to.exist()
|
||||
expect(artifactReport?.protocol).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.equal(
|
||||
'Failed to upload Test Replay: http://localhost:1234/capture-protocol/upload/?x-amz-credential=XXXXXXXX&x-amz-signature=XXXXXXXXXXXXX responded with 500 Internal Server Error',
|
||||
)
|
||||
@@ -2622,14 +2636,15 @@ describe('capture-protocol api errors', () => {
|
||||
|
||||
const artifactReport = getRequests().find(({ url }) => url === `PUT /instances/${instanceId}/artifacts`)?.body
|
||||
|
||||
expect(artifactReport?.protocol).to.exist()
|
||||
expect(artifactReport?.protocol).to.exist
|
||||
|
||||
const expectedUrl = `http://localhost:1234/capture-protocol/upload/?x-amz-credential=XXXXXXXX&x-amz-signature=XXXXXXXXXXXXX`
|
||||
|
||||
const expectedErrorMessage = `${expectedUrl} responded with 503 Service Unavailable: ${wspTrimmedResponse}`
|
||||
|
||||
expect(artifactReport?.protocol?.error).to.equal(`Failed to upload Test Replay after 3 attempts. Errors: ${[expectedErrorMessage, expectedErrorMessage, expectedErrorMessage].join(', ')}`)
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist
|
||||
expect(artifactReport?.protocol?.errorStack).to.not.be.empty
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -2691,12 +2706,13 @@ describe('capture-protocol api errors', () => {
|
||||
|
||||
const artifactReport = getRequests().find(({ url }) => url === `PUT /instances/${instanceId}/artifacts`)?.body
|
||||
|
||||
expect(artifactReport?.protocol).to.exist()
|
||||
expect(artifactReport?.protocol).to.exist
|
||||
expect(artifactReport?.protocol?.error).to.equal(
|
||||
'Failed to upload Test Replay after 3 attempts. Errors: request to http://fake.test/url failed, reason: getaddrinfo ENOTFOUND fake.test, request to http://fake.test/url failed, reason: getaddrinfo ENOTFOUND fake.test, request to http://fake.test/url failed, reason: getaddrinfo ENOTFOUND fake.test',
|
||||
)
|
||||
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist().and.not.to.be.empty()
|
||||
expect(artifactReport?.protocol?.errorStack).to.exist
|
||||
expect(artifactReport?.protocol?.errorStack).to.not.be.empty
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,116 +1,139 @@
|
||||
exports['integration: express installs snapshot for example-express 1'] = {
|
||||
"norewrite": [],
|
||||
"deferred": [
|
||||
"./node_modules/body-parser/index.js",
|
||||
"./node_modules/debug/src/browser.js",
|
||||
"./node_modules/debug/src/index.js",
|
||||
"./node_modules/debug/src/node.js",
|
||||
"./node_modules/depd/index.js",
|
||||
"./node_modules/express/lib/application.js",
|
||||
"./node_modules/express/lib/request.js",
|
||||
"./node_modules/express/lib/response.js",
|
||||
"./node_modules/express/lib/router/index.js",
|
||||
"./node_modules/express/lib/router/route.js",
|
||||
"./node_modules/http-errors/index.js",
|
||||
"./node_modules/iconv-lite/encodings/dbcs-codec.js",
|
||||
"./node_modules/iconv-lite/encodings/index.js",
|
||||
"./node_modules/iconv-lite/encodings/internal.js",
|
||||
"./node_modules/iconv-lite/lib/index.js",
|
||||
"./node_modules/iconv-lite/lib/streams.js",
|
||||
"./node_modules/methods/index.js",
|
||||
"./node_modules/mime/mime.js",
|
||||
"./node_modules/safe-buffer/index.js",
|
||||
"./node_modules/safer-buffer/safer.js",
|
||||
"./node_modules/send/index.js",
|
||||
"./node_modules/send/node_modules/http-errors/index.js"
|
||||
'norewrite': [],
|
||||
'deferred': [
|
||||
'./node_modules/body-parser/index.js',
|
||||
'./node_modules/debug/src/browser.js',
|
||||
'./node_modules/debug/src/index.js',
|
||||
'./node_modules/debug/src/node.js',
|
||||
'./node_modules/express/lib/application.js',
|
||||
'./node_modules/express/lib/request.js',
|
||||
'./node_modules/express/lib/response.js',
|
||||
'./node_modules/express/lib/router/index.js',
|
||||
'./node_modules/express/lib/router/route.js',
|
||||
'./node_modules/iconv-lite/encodings/dbcs-codec.js',
|
||||
'./node_modules/iconv-lite/encodings/index.js',
|
||||
'./node_modules/iconv-lite/encodings/internal.js',
|
||||
'./node_modules/iconv-lite/lib/index.js',
|
||||
'./node_modules/iconv-lite/lib/streams.js',
|
||||
'./node_modules/methods/index.js',
|
||||
'./node_modules/mime/mime.js',
|
||||
'./node_modules/object-inspect/index.js',
|
||||
'./node_modules/object-inspect/util.inspect.js',
|
||||
'./node_modules/safe-buffer/index.js',
|
||||
'./node_modules/safer-buffer/safer.js',
|
||||
'./node_modules/send/index.js',
|
||||
],
|
||||
"healthy": [
|
||||
"./node_modules/accepts/index.js",
|
||||
"./node_modules/array-flatten/array-flatten.js",
|
||||
"./node_modules/body-parser/lib/read.js",
|
||||
"./node_modules/body-parser/lib/types/json.js",
|
||||
"./node_modules/body-parser/lib/types/raw.js",
|
||||
"./node_modules/body-parser/lib/types/text.js",
|
||||
"./node_modules/body-parser/lib/types/urlencoded.js",
|
||||
"./node_modules/bytes/index.js",
|
||||
"./node_modules/content-disposition/index.js",
|
||||
"./node_modules/content-type/index.js",
|
||||
"./node_modules/cookie-signature/index.js",
|
||||
"./node_modules/cookie/index.js",
|
||||
"./node_modules/debug/src/debug.js",
|
||||
"./node_modules/depd/lib/compat/callsite-tostring.js",
|
||||
"./node_modules/depd/lib/compat/event-listener-count.js",
|
||||
"./node_modules/depd/lib/compat/index.js",
|
||||
"./node_modules/destroy/index.js",
|
||||
"./node_modules/ee-first/index.js",
|
||||
"./node_modules/encodeurl/index.js",
|
||||
"./node_modules/escape-html/index.js",
|
||||
"./node_modules/etag/index.js",
|
||||
"./node_modules/express/index.js",
|
||||
"./node_modules/express/lib/express.js",
|
||||
"./node_modules/express/lib/middleware/init.js",
|
||||
"./node_modules/express/lib/middleware/query.js",
|
||||
"./node_modules/express/lib/router/layer.js",
|
||||
"./node_modules/express/lib/utils.js",
|
||||
"./node_modules/express/lib/view.js",
|
||||
"./node_modules/finalhandler/index.js",
|
||||
"./node_modules/forwarded/index.js",
|
||||
"./node_modules/fresh/index.js",
|
||||
"./node_modules/iconv-lite/encodings/dbcs-data.js",
|
||||
"./node_modules/iconv-lite/encodings/sbcs-codec.js",
|
||||
"./node_modules/iconv-lite/encodings/sbcs-data-generated.js",
|
||||
"./node_modules/iconv-lite/encodings/sbcs-data.js",
|
||||
"./node_modules/iconv-lite/encodings/tables/big5-added.json",
|
||||
"./node_modules/iconv-lite/encodings/tables/cp936.json",
|
||||
"./node_modules/iconv-lite/encodings/tables/cp949.json",
|
||||
"./node_modules/iconv-lite/encodings/tables/cp950.json",
|
||||
"./node_modules/iconv-lite/encodings/tables/eucjp.json",
|
||||
"./node_modules/iconv-lite/encodings/tables/gb18030-ranges.json",
|
||||
"./node_modules/iconv-lite/encodings/tables/gbk-added.json",
|
||||
"./node_modules/iconv-lite/encodings/tables/shiftjis.json",
|
||||
"./node_modules/iconv-lite/encodings/utf16.js",
|
||||
"./node_modules/iconv-lite/encodings/utf7.js",
|
||||
"./node_modules/iconv-lite/lib/bom-handling.js",
|
||||
"./node_modules/iconv-lite/lib/extend-node.js",
|
||||
"./node_modules/inherits/inherits.js",
|
||||
"./node_modules/inherits/inherits_browser.js",
|
||||
"./node_modules/ipaddr.js/lib/ipaddr.js",
|
||||
"./node_modules/media-typer/index.js",
|
||||
"./node_modules/merge-descriptors/index.js",
|
||||
"./node_modules/mime-db/db.json",
|
||||
"./node_modules/mime-db/index.js",
|
||||
"./node_modules/mime-types/index.js",
|
||||
"./node_modules/mime/types.json",
|
||||
"./node_modules/ms/index.js",
|
||||
"./node_modules/negotiator/index.js",
|
||||
"./node_modules/negotiator/lib/charset.js",
|
||||
"./node_modules/negotiator/lib/encoding.js",
|
||||
"./node_modules/negotiator/lib/language.js",
|
||||
"./node_modules/negotiator/lib/mediaType.js",
|
||||
"./node_modules/on-finished/index.js",
|
||||
"./node_modules/parseurl/index.js",
|
||||
"./node_modules/path-to-regexp/index.js",
|
||||
"./node_modules/proxy-addr/index.js",
|
||||
"./node_modules/qs/lib/formats.js",
|
||||
"./node_modules/qs/lib/index.js",
|
||||
"./node_modules/qs/lib/parse.js",
|
||||
"./node_modules/qs/lib/stringify.js",
|
||||
"./node_modules/qs/lib/utils.js",
|
||||
"./node_modules/range-parser/index.js",
|
||||
"./node_modules/raw-body/index.js",
|
||||
"./node_modules/send/node_modules/inherits/inherits.js",
|
||||
"./node_modules/send/node_modules/inherits/inherits_browser.js",
|
||||
"./node_modules/send/node_modules/ms/index.js",
|
||||
"./node_modules/serve-static/index.js",
|
||||
"./node_modules/setprototypeof/index.js",
|
||||
"./node_modules/statuses/codes.json",
|
||||
"./node_modules/statuses/index.js",
|
||||
"./node_modules/toidentifier/index.js",
|
||||
"./node_modules/type-is/index.js",
|
||||
"./node_modules/unpipe/index.js",
|
||||
"./node_modules/utils-merge/index.js",
|
||||
"./node_modules/vary/index.js",
|
||||
"./snapshot/snapshot.js"
|
||||
'healthy': [
|
||||
'./node_modules/accepts/index.js',
|
||||
'./node_modules/accepts/node_modules/mime-db/db.json',
|
||||
'./node_modules/accepts/node_modules/mime-db/index.js',
|
||||
'./node_modules/accepts/node_modules/mime-types/index.js',
|
||||
'./node_modules/array-flatten/array-flatten.js',
|
||||
'./node_modules/body-parser/lib/read.js',
|
||||
'./node_modules/body-parser/lib/types/json.js',
|
||||
'./node_modules/body-parser/lib/types/raw.js',
|
||||
'./node_modules/body-parser/lib/types/text.js',
|
||||
'./node_modules/body-parser/lib/types/urlencoded.js',
|
||||
'./node_modules/body-parser/node_modules/content-type/index.js',
|
||||
'./node_modules/bytes/index.js',
|
||||
'./node_modules/call-bind/callBound.js',
|
||||
'./node_modules/call-bind/index.js',
|
||||
'./node_modules/content-disposition/index.js',
|
||||
'./node_modules/content-type/index.js',
|
||||
'./node_modules/cookie-signature/index.js',
|
||||
'./node_modules/cookie/index.js',
|
||||
'./node_modules/debug/src/debug.js',
|
||||
'./node_modules/define-data-property/index.js',
|
||||
'./node_modules/depd/index.js',
|
||||
'./node_modules/destroy/index.js',
|
||||
'./node_modules/ee-first/index.js',
|
||||
'./node_modules/encodeurl/index.js',
|
||||
'./node_modules/es-define-property/index.js',
|
||||
'./node_modules/es-errors/eval.js',
|
||||
'./node_modules/es-errors/index.js',
|
||||
'./node_modules/es-errors/range.js',
|
||||
'./node_modules/es-errors/ref.js',
|
||||
'./node_modules/es-errors/syntax.js',
|
||||
'./node_modules/es-errors/type.js',
|
||||
'./node_modules/es-errors/uri.js',
|
||||
'./node_modules/escape-html/index.js',
|
||||
'./node_modules/etag/index.js',
|
||||
'./node_modules/express/index.js',
|
||||
'./node_modules/express/lib/express.js',
|
||||
'./node_modules/express/lib/middleware/init.js',
|
||||
'./node_modules/express/lib/middleware/query.js',
|
||||
'./node_modules/express/lib/router/layer.js',
|
||||
'./node_modules/express/lib/utils.js',
|
||||
'./node_modules/express/lib/view.js',
|
||||
'./node_modules/finalhandler/index.js',
|
||||
'./node_modules/forwarded/index.js',
|
||||
'./node_modules/fresh/index.js',
|
||||
'./node_modules/function-bind/implementation.js',
|
||||
'./node_modules/function-bind/index.js',
|
||||
'./node_modules/get-intrinsic/index.js',
|
||||
'./node_modules/gopd/index.js',
|
||||
'./node_modules/has-property-descriptors/index.js',
|
||||
'./node_modules/has-proto/index.js',
|
||||
'./node_modules/has-symbols/index.js',
|
||||
'./node_modules/has-symbols/shams.js',
|
||||
'./node_modules/hasown/index.js',
|
||||
'./node_modules/http-errors/index.js',
|
||||
'./node_modules/iconv-lite/encodings/dbcs-data.js',
|
||||
'./node_modules/iconv-lite/encodings/sbcs-codec.js',
|
||||
'./node_modules/iconv-lite/encodings/sbcs-data-generated.js',
|
||||
'./node_modules/iconv-lite/encodings/sbcs-data.js',
|
||||
'./node_modules/iconv-lite/encodings/tables/big5-added.json',
|
||||
'./node_modules/iconv-lite/encodings/tables/cp936.json',
|
||||
'./node_modules/iconv-lite/encodings/tables/cp949.json',
|
||||
'./node_modules/iconv-lite/encodings/tables/cp950.json',
|
||||
'./node_modules/iconv-lite/encodings/tables/eucjp.json',
|
||||
'./node_modules/iconv-lite/encodings/tables/gb18030-ranges.json',
|
||||
'./node_modules/iconv-lite/encodings/tables/gbk-added.json',
|
||||
'./node_modules/iconv-lite/encodings/tables/shiftjis.json',
|
||||
'./node_modules/iconv-lite/encodings/utf16.js',
|
||||
'./node_modules/iconv-lite/encodings/utf7.js',
|
||||
'./node_modules/iconv-lite/lib/bom-handling.js',
|
||||
'./node_modules/iconv-lite/lib/extend-node.js',
|
||||
'./node_modules/inherits/inherits.js',
|
||||
'./node_modules/inherits/inherits_browser.js',
|
||||
'./node_modules/ipaddr.js/lib/ipaddr.js',
|
||||
'./node_modules/media-typer/index.js',
|
||||
'./node_modules/merge-descriptors/index.js',
|
||||
'./node_modules/mime-db/db.json',
|
||||
'./node_modules/mime-db/index.js',
|
||||
'./node_modules/mime-types/index.js',
|
||||
'./node_modules/mime/types.json',
|
||||
'./node_modules/ms/index.js',
|
||||
'./node_modules/negotiator/index.js',
|
||||
'./node_modules/negotiator/lib/charset.js',
|
||||
'./node_modules/negotiator/lib/encoding.js',
|
||||
'./node_modules/negotiator/lib/language.js',
|
||||
'./node_modules/negotiator/lib/mediaType.js',
|
||||
'./node_modules/on-finished/index.js',
|
||||
'./node_modules/parseurl/index.js',
|
||||
'./node_modules/path-to-regexp/index.js',
|
||||
'./node_modules/proxy-addr/index.js',
|
||||
'./node_modules/qs/lib/formats.js',
|
||||
'./node_modules/qs/lib/index.js',
|
||||
'./node_modules/qs/lib/parse.js',
|
||||
'./node_modules/qs/lib/stringify.js',
|
||||
'./node_modules/qs/lib/utils.js',
|
||||
'./node_modules/range-parser/index.js',
|
||||
'./node_modules/raw-body/index.js',
|
||||
'./node_modules/send/node_modules/encodeurl/index.js',
|
||||
'./node_modules/send/node_modules/ms/index.js',
|
||||
'./node_modules/serve-static/index.js',
|
||||
'./node_modules/set-function-length/index.js',
|
||||
'./node_modules/setprototypeof/index.js',
|
||||
'./node_modules/side-channel/index.js',
|
||||
'./node_modules/statuses/codes.json',
|
||||
'./node_modules/statuses/index.js',
|
||||
'./node_modules/toidentifier/index.js',
|
||||
'./node_modules/type-is/index.js',
|
||||
'./node_modules/unpipe/index.js',
|
||||
'./node_modules/utils-merge/index.js',
|
||||
'./node_modules/vary/index.js',
|
||||
'./snapshot/snapshot.js',
|
||||
],
|
||||
"deferredHashFile": "yarn.lock"
|
||||
'deferredHashFile': 'yarn.lock',
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
"./node_modules/jose/dist/node/cjs/runtime/verify.js",
|
||||
"./node_modules/jsonfile/index.js",
|
||||
"./node_modules/lockfile/lockfile.js",
|
||||
"./node_modules/make-dir/index.js",
|
||||
"./node_modules/minimatch/minimatch.js",
|
||||
"./node_modules/mocha-7.2.0/node_modules/debug/src/node.js",
|
||||
"./node_modules/mocha-7.2.0/node_modules/glob/node_modules/minimatch/minimatch.js",
|
||||
@@ -46,12 +45,10 @@
|
||||
"./node_modules/prettier/third-party.js",
|
||||
"./node_modules/process-nextick-args/index.js",
|
||||
"./node_modules/react-docgen/dist/FileState.js",
|
||||
"./node_modules/run-applescript/node_modules/get-stream/buffer-stream.js",
|
||||
"./node_modules/send/node_modules/debug/src/node.js",
|
||||
"./node_modules/shell-env/node_modules/get-stream/buffer-stream.js",
|
||||
"./node_modules/signal-exit/index.js",
|
||||
"./node_modules/stream-parser/node_modules/debug/src/node.js",
|
||||
"./node_modules/trash/node_modules/make-dir/index.js",
|
||||
"./node_modules/ws/lib/websocket.js",
|
||||
"./packages/data-context/node_modules/get-stream/buffer-stream.js",
|
||||
"./packages/https-proxy/lib/ca.js",
|
||||
@@ -208,6 +205,9 @@
|
||||
"./node_modules/@opentelemetry/resources/build/src/platform/node/index.js",
|
||||
"./node_modules/@opentelemetry/resources/build/src/platform/node/machine-id/getMachineId.js",
|
||||
"./node_modules/@opentelemetry/sdk-trace-base/build/src/config.js",
|
||||
"./node_modules/@sindresorhus/df/index.js",
|
||||
"./node_modules/@stroncium/procfs/index.js",
|
||||
"./node_modules/@stroncium/procfs/lib/utils.js",
|
||||
"./node_modules/adm-zip/adm-zip.js",
|
||||
"./node_modules/adm-zip/methods/zipcrypto.js",
|
||||
"./node_modules/adm-zip/util/fattr.js",
|
||||
@@ -227,6 +227,7 @@
|
||||
"./node_modules/chrome-remote-interface/node_modules/ws/lib/constants.js",
|
||||
"./node_modules/chrome-remote-interface/node_modules/ws/lib/receiver.js",
|
||||
"./node_modules/chrome-remote-interface/node_modules/ws/lib/websocket-server.js",
|
||||
"./node_modules/clean-stack/index.js",
|
||||
"./node_modules/coffeescript/lib/coffeescript/coffeescript.js",
|
||||
"./node_modules/coffeescript/lib/coffeescript/index.js",
|
||||
"./node_modules/coffeescript/lib/coffeescript/nodes.js",
|
||||
@@ -238,11 +239,6 @@
|
||||
"./node_modules/compression/node_modules/debug/src/browser.js",
|
||||
"./node_modules/compression/node_modules/debug/src/index.js",
|
||||
"./node_modules/concat-stream/index.js",
|
||||
"./node_modules/cp-file/cp-file-error.js",
|
||||
"./node_modules/cp-file/fs.js",
|
||||
"./node_modules/cp-file/progress-emitter.js",
|
||||
"./node_modules/cross-spawn-async/lib/parse.js",
|
||||
"./node_modules/cross-spawn-async/lib/resolveCommand.js",
|
||||
"./node_modules/debug/src/browser.js",
|
||||
"./node_modules/debug/src/index.js",
|
||||
"./node_modules/default-shell/index.js",
|
||||
@@ -331,7 +327,6 @@
|
||||
"./node_modules/json3/lib/json3.js",
|
||||
"./node_modules/lodash/isBuffer.js",
|
||||
"./node_modules/lodash/lodash.js",
|
||||
"./node_modules/make-dir/node_modules/semver/semver.js",
|
||||
"./node_modules/methods/index.js",
|
||||
"./node_modules/mime/mime.js",
|
||||
"./node_modules/minizlib/constants.js",
|
||||
@@ -387,8 +382,6 @@
|
||||
"./node_modules/morgan/node_modules/debug/src/browser.js",
|
||||
"./node_modules/morgan/node_modules/debug/src/index.js",
|
||||
"./node_modules/morgan/node_modules/depd/index.js",
|
||||
"./node_modules/move-file/node_modules/semver/semver.js",
|
||||
"./node_modules/nested-error-stacks/index.js",
|
||||
"./node_modules/nexus/dist/core.js",
|
||||
"./node_modules/nexus/dist/definitions/list.js",
|
||||
"./node_modules/nexus/dist/definitions/nexusMeta.js",
|
||||
@@ -457,7 +450,6 @@
|
||||
"./node_modules/picomatch/lib/picomatch.js",
|
||||
"./node_modules/pidusage/lib/stats.js",
|
||||
"./node_modules/pinkie/index.js",
|
||||
"./node_modules/pseudomap/map.js",
|
||||
"./node_modules/pumpify/index.js",
|
||||
"./node_modules/queue/index.js",
|
||||
"./node_modules/randomstring/node_modules/randombytes/index.js",
|
||||
@@ -498,8 +490,6 @@
|
||||
"./node_modules/resolve/lib/async.js",
|
||||
"./node_modules/resolve/lib/homedir.js",
|
||||
"./node_modules/resolve/lib/sync.js",
|
||||
"./node_modules/run-applescript/node_modules/execa/lib/errname.js",
|
||||
"./node_modules/run-applescript/node_modules/semver/semver.js",
|
||||
"./node_modules/safe-buffer/index.js",
|
||||
"./node_modules/safer-buffer/safer.js",
|
||||
"./node_modules/sax/lib/sax.js",
|
||||
@@ -547,6 +537,7 @@
|
||||
"./node_modules/trash/node_modules/glob/glob.js",
|
||||
"./node_modules/trash/node_modules/glob/sync.js",
|
||||
"./node_modules/trash/node_modules/ignore/ignore.js",
|
||||
"./node_modules/trash/node_modules/semver/semver.js",
|
||||
"./node_modules/truncate-utf8-bytes/index.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-modules-cjs-helpers.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-modules-cjs-loader.js",
|
||||
@@ -1413,9 +1404,17 @@
|
||||
"./node_modules/@opentelemetry/semantic-conventions/build/src/resource/index.js",
|
||||
"./node_modules/@opentelemetry/semantic-conventions/build/src/trace/SemanticAttributes.js",
|
||||
"./node_modules/@opentelemetry/semantic-conventions/build/src/trace/index.js",
|
||||
"./node_modules/@sindresorhus/df/index.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/index.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/command.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/error.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/kill.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/promise.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/stdio.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/stream.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/npm-run-path/index.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/p-finally/index.js",
|
||||
"./node_modules/@stroncium/procfs/lib/parsers.js",
|
||||
"./node_modules/@stroncium/procfs/lib/procfs-error.js",
|
||||
"./node_modules/@tsconfig/node10/tsconfig.json",
|
||||
"./node_modules/@tsconfig/node12/tsconfig.json",
|
||||
"./node_modules/@tsconfig/node14/tsconfig.json",
|
||||
@@ -1460,6 +1459,7 @@
|
||||
"./node_modules/adm-zip/util/fileSystem.js",
|
||||
"./node_modules/adm-zip/zipEntry.js",
|
||||
"./node_modules/adm-zip/zipFile.js",
|
||||
"./node_modules/aggregate-error/index.js",
|
||||
"./node_modules/ansi-regex/index.js",
|
||||
"./node_modules/ansi-styles/index.js",
|
||||
"./node_modules/ansi_up/ansi_up.js",
|
||||
@@ -1682,20 +1682,13 @@
|
||||
"./node_modules/cookie/index.js",
|
||||
"./node_modules/core-util-is/lib/util.js",
|
||||
"./node_modules/cors/lib/index.js",
|
||||
"./node_modules/cp-file/index.js",
|
||||
"./node_modules/cp-file/node_modules/pify/index.js",
|
||||
"./node_modules/create-require/create-require.js",
|
||||
"./node_modules/cross-spawn-async/index.js",
|
||||
"./node_modules/cross-spawn-async/lib/enoent.js",
|
||||
"./node_modules/cross-spawn-async/node_modules/lru-cache/index.js",
|
||||
"./node_modules/cross-spawn-async/node_modules/yallist/yallist.js",
|
||||
"./node_modules/cross-spawn/index.js",
|
||||
"./node_modules/cross-spawn/lib/enoent.js",
|
||||
"./node_modules/cross-spawn/lib/parse.js",
|
||||
"./node_modules/cross-spawn/lib/util/escape.js",
|
||||
"./node_modules/cross-spawn/lib/util/readShebang.js",
|
||||
"./node_modules/cross-spawn/lib/util/resolveCommand.js",
|
||||
"./node_modules/cross-spawn/node_modules/path-key/index.js",
|
||||
"./node_modules/cross-spawn/node_modules/shebang-command/index.js",
|
||||
"./node_modules/cross-spawn/node_modules/shebang-regex/index.js",
|
||||
"./node_modules/cross-spawn/node_modules/which/which.js",
|
||||
@@ -1774,7 +1767,6 @@
|
||||
"./node_modules/es-object-atoms/index.js",
|
||||
"./node_modules/escape-goat/index.js",
|
||||
"./node_modules/escape-html/index.js",
|
||||
"./node_modules/escape-string-applescript/index.js",
|
||||
"./node_modules/escape-string-regexp/index.js",
|
||||
"./node_modules/esprima/dist/esprima.js",
|
||||
"./node_modules/esutils/lib/ast.js",
|
||||
@@ -2179,6 +2171,7 @@
|
||||
"./node_modules/image-size/dist/types/tga.js",
|
||||
"./node_modules/image-size/dist/types/tiff.js",
|
||||
"./node_modules/image-size/dist/types/webp.js",
|
||||
"./node_modules/indent-string/index.js",
|
||||
"./node_modules/inflight/inflight.js",
|
||||
"./node_modules/inherits/inherits.js",
|
||||
"./node_modules/inherits/inherits_browser.js",
|
||||
@@ -2194,6 +2187,7 @@
|
||||
"./node_modules/is-glob/index.js",
|
||||
"./node_modules/is-html/index.js",
|
||||
"./node_modules/is-obj/index.js",
|
||||
"./node_modules/is-path-inside/index.js",
|
||||
"./node_modules/is-plain-obj/index.js",
|
||||
"./node_modules/is-regexp/index.js",
|
||||
"./node_modules/is-stream/index.js",
|
||||
@@ -2433,7 +2427,6 @@
|
||||
"./node_modules/lodash/toInteger.js",
|
||||
"./node_modules/lodash/toNumber.js",
|
||||
"./node_modules/lodash/toString.js",
|
||||
"./node_modules/make-dir/node_modules/pify/index.js",
|
||||
"./node_modules/make-error/index.js",
|
||||
"./node_modules/math-intrinsics/abs.js",
|
||||
"./node_modules/math-intrinsics/floor.js",
|
||||
@@ -2546,7 +2539,6 @@
|
||||
"./node_modules/mount-point/index.js",
|
||||
"./node_modules/mount-point/node_modules/@sindresorhus/df/index.js",
|
||||
"./node_modules/move-file/index.js",
|
||||
"./node_modules/move-file/node_modules/make-dir/index.js",
|
||||
"./node_modules/ms/index.js",
|
||||
"./node_modules/negotiator/index.js",
|
||||
"./node_modules/negotiator/lib/charset.js",
|
||||
@@ -2607,7 +2599,6 @@
|
||||
"./node_modules/node-releases/data/release-schedule/release-schedule.json",
|
||||
"./node_modules/normalize-path/index.js",
|
||||
"./node_modules/npm-run-path/index.js",
|
||||
"./node_modules/npm-run-path/node_modules/path-key/index.js",
|
||||
"./node_modules/object-assign/index.js",
|
||||
"./node_modules/object-keys/implementation.js",
|
||||
"./node_modules/object-keys/index.js",
|
||||
@@ -2622,8 +2613,8 @@
|
||||
"./node_modules/p-defer/index.js",
|
||||
"./node_modules/p-finally/index.js",
|
||||
"./node_modules/p-limit/index.js",
|
||||
"./node_modules/p-map/index.js",
|
||||
"./node_modules/p-timeout/index.js",
|
||||
"./node_modules/p-try/index.js",
|
||||
"./node_modules/pako/index.js",
|
||||
"./node_modules/pako/lib/deflate.js",
|
||||
"./node_modules/pako/lib/inflate.js",
|
||||
@@ -2653,7 +2644,6 @@
|
||||
"./node_modules/parseurl/index.js",
|
||||
"./node_modules/path-exists/index.js",
|
||||
"./node_modules/path-is-absolute/index.js",
|
||||
"./node_modules/path-is-inside/lib/path-is-inside.js",
|
||||
"./node_modules/path-key/index.js",
|
||||
"./node_modules/path-parse/index.js",
|
||||
"./node_modules/path-root-regex/index.js",
|
||||
@@ -2727,7 +2717,6 @@
|
||||
"./node_modules/pretty-bytes/index.js",
|
||||
"./node_modules/proxy-addr/index.js",
|
||||
"./node_modules/proxy-from-env/index.js",
|
||||
"./node_modules/pseudomap/pseudomap.js",
|
||||
"./node_modules/psl/data/rules.json",
|
||||
"./node_modules/psl/index.js",
|
||||
"./node_modules/pump/index.js",
|
||||
@@ -3204,19 +3193,6 @@
|
||||
"./node_modules/ret/lib/util.js",
|
||||
"./node_modules/return-deep-diff/dist/return-deep-diff.min.js",
|
||||
"./node_modules/reusify/reusify.js",
|
||||
"./node_modules/run-applescript/index.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/index.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/enoent.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/parse.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/util/escape.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/util/readShebang.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/util/resolveCommand.js",
|
||||
"./node_modules/run-applescript/node_modules/execa/index.js",
|
||||
"./node_modules/run-applescript/node_modules/execa/lib/stdio.js",
|
||||
"./node_modules/run-applescript/node_modules/get-stream/index.js",
|
||||
"./node_modules/run-applescript/node_modules/is-stream/index.js",
|
||||
"./node_modules/run-applescript/node_modules/npm-run-path/index.js",
|
||||
"./node_modules/run-applescript/node_modules/path-key/index.js",
|
||||
"./node_modules/run-parallel/index.js",
|
||||
"./node_modules/sanitize-filename/index.js",
|
||||
"./node_modules/semver/classes/comparator.js",
|
||||
@@ -3365,6 +3341,7 @@
|
||||
"./node_modules/toidentifier/index.js",
|
||||
"./node_modules/token-types/lib/index.js",
|
||||
"./node_modules/trash/index.js",
|
||||
"./node_modules/trash/lib/chunked-exec.js",
|
||||
"./node_modules/trash/lib/linux.js",
|
||||
"./node_modules/trash/lib/macos.js",
|
||||
"./node_modules/trash/lib/windows.js",
|
||||
@@ -3373,16 +3350,10 @@
|
||||
"./node_modules/trash/node_modules/glob/common.js",
|
||||
"./node_modules/trash/node_modules/globby/gitignore.js",
|
||||
"./node_modules/trash/node_modules/globby/index.js",
|
||||
"./node_modules/trash/node_modules/is-path-inside/index.js",
|
||||
"./node_modules/trash/node_modules/p-map/index.js",
|
||||
"./node_modules/trash/node_modules/make-dir/index.js",
|
||||
"./node_modules/trash/node_modules/path-type/index.js",
|
||||
"./node_modules/trash/node_modules/pify/index.js",
|
||||
"./node_modules/trash/node_modules/slash/index.js",
|
||||
"./node_modules/trash/node_modules/uuid/index.js",
|
||||
"./node_modules/trash/node_modules/uuid/lib/bytesToUuid.js",
|
||||
"./node_modules/trash/node_modules/uuid/lib/rng.js",
|
||||
"./node_modules/trash/node_modules/uuid/v1.js",
|
||||
"./node_modules/trash/node_modules/uuid/v4.js",
|
||||
"./node_modules/truncate-utf8-bytes/lib/truncate.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-constants.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-errors.js",
|
||||
@@ -3491,7 +3462,6 @@
|
||||
"./node_modules/universalify/index.js",
|
||||
"./node_modules/unpipe/index.js",
|
||||
"./node_modules/unused-filename/index.js",
|
||||
"./node_modules/unused-filename/node_modules/path-exists/index.js",
|
||||
"./node_modules/url-parse/index.js",
|
||||
"./node_modules/utf8-stream/index.js",
|
||||
"./node_modules/utf8-stream/node_modules/isarray/index.js",
|
||||
@@ -3835,7 +3805,6 @@
|
||||
"./packages/scaffold-config/node_modules/find-up/index.js",
|
||||
"./packages/scaffold-config/node_modules/locate-path/index.js",
|
||||
"./packages/scaffold-config/node_modules/p-locate/index.js",
|
||||
"./packages/scaffold-config/node_modules/path-exists/index.js",
|
||||
"./packages/scaffold-config/src/commandFile.ts",
|
||||
"./packages/scaffold-config/src/component-index-template.ts",
|
||||
"./packages/scaffold-config/src/ct-detect-third-party.ts",
|
||||
@@ -3976,7 +3945,7 @@
|
||||
"./packages/server/lib/util/terminal-size.js",
|
||||
"./packages/server/lib/util/terminal.js",
|
||||
"./packages/server/lib/util/tests_utils.ts",
|
||||
"./packages/server/lib/util/trash.js",
|
||||
"./packages/server/lib/util/trash.ts",
|
||||
"./packages/server/lib/util/tty.js",
|
||||
"./packages/server/node_modules/axios/index.js",
|
||||
"./packages/server/node_modules/axios/lib/adapters/fetch.js",
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
"./node_modules/jose/dist/node/cjs/runtime/verify.js",
|
||||
"./node_modules/jsonfile/index.js",
|
||||
"./node_modules/lockfile/lockfile.js",
|
||||
"./node_modules/make-dir/index.js",
|
||||
"./node_modules/minimatch/minimatch.js",
|
||||
"./node_modules/mocha-7.2.0/node_modules/debug/src/node.js",
|
||||
"./node_modules/mocha-7.2.0/node_modules/glob/node_modules/minimatch/minimatch.js",
|
||||
@@ -46,12 +45,10 @@
|
||||
"./node_modules/prettier/third-party.js",
|
||||
"./node_modules/process-nextick-args/index.js",
|
||||
"./node_modules/react-docgen/dist/FileState.js",
|
||||
"./node_modules/run-applescript/node_modules/get-stream/buffer-stream.js",
|
||||
"./node_modules/send/node_modules/debug/src/node.js",
|
||||
"./node_modules/shell-env/node_modules/get-stream/buffer-stream.js",
|
||||
"./node_modules/signal-exit/index.js",
|
||||
"./node_modules/stream-parser/node_modules/debug/src/node.js",
|
||||
"./node_modules/trash/node_modules/make-dir/index.js",
|
||||
"./node_modules/ws/lib/websocket.js",
|
||||
"./packages/data-context/node_modules/get-stream/buffer-stream.js",
|
||||
"./packages/https-proxy/lib/ca.js",
|
||||
@@ -208,6 +205,9 @@
|
||||
"./node_modules/@opentelemetry/resources/build/src/platform/node/index.js",
|
||||
"./node_modules/@opentelemetry/resources/build/src/platform/node/machine-id/getMachineId.js",
|
||||
"./node_modules/@opentelemetry/sdk-trace-base/build/src/config.js",
|
||||
"./node_modules/@sindresorhus/df/index.js",
|
||||
"./node_modules/@stroncium/procfs/index.js",
|
||||
"./node_modules/@stroncium/procfs/lib/utils.js",
|
||||
"./node_modules/adm-zip/adm-zip.js",
|
||||
"./node_modules/adm-zip/methods/zipcrypto.js",
|
||||
"./node_modules/adm-zip/util/fattr.js",
|
||||
@@ -227,6 +227,7 @@
|
||||
"./node_modules/chrome-remote-interface/node_modules/ws/lib/constants.js",
|
||||
"./node_modules/chrome-remote-interface/node_modules/ws/lib/receiver.js",
|
||||
"./node_modules/chrome-remote-interface/node_modules/ws/lib/websocket-server.js",
|
||||
"./node_modules/clean-stack/index.js",
|
||||
"./node_modules/coffeescript/lib/coffeescript/coffeescript.js",
|
||||
"./node_modules/coffeescript/lib/coffeescript/index.js",
|
||||
"./node_modules/coffeescript/lib/coffeescript/nodes.js",
|
||||
@@ -238,11 +239,6 @@
|
||||
"./node_modules/compression/node_modules/debug/src/browser.js",
|
||||
"./node_modules/compression/node_modules/debug/src/index.js",
|
||||
"./node_modules/concat-stream/index.js",
|
||||
"./node_modules/cp-file/cp-file-error.js",
|
||||
"./node_modules/cp-file/fs.js",
|
||||
"./node_modules/cp-file/progress-emitter.js",
|
||||
"./node_modules/cross-spawn-async/lib/parse.js",
|
||||
"./node_modules/cross-spawn-async/lib/resolveCommand.js",
|
||||
"./node_modules/debug/src/browser.js",
|
||||
"./node_modules/debug/src/index.js",
|
||||
"./node_modules/default-shell/index.js",
|
||||
@@ -330,7 +326,6 @@
|
||||
"./node_modules/json3/lib/json3.js",
|
||||
"./node_modules/lodash/isBuffer.js",
|
||||
"./node_modules/lodash/lodash.js",
|
||||
"./node_modules/make-dir/node_modules/semver/semver.js",
|
||||
"./node_modules/methods/index.js",
|
||||
"./node_modules/mime/mime.js",
|
||||
"./node_modules/minizlib/constants.js",
|
||||
@@ -386,8 +381,6 @@
|
||||
"./node_modules/morgan/node_modules/debug/src/browser.js",
|
||||
"./node_modules/morgan/node_modules/debug/src/index.js",
|
||||
"./node_modules/morgan/node_modules/depd/index.js",
|
||||
"./node_modules/move-file/node_modules/semver/semver.js",
|
||||
"./node_modules/nested-error-stacks/index.js",
|
||||
"./node_modules/nexus/dist/core.js",
|
||||
"./node_modules/nexus/dist/definitions/list.js",
|
||||
"./node_modules/nexus/dist/definitions/nexusMeta.js",
|
||||
@@ -456,7 +449,6 @@
|
||||
"./node_modules/picomatch/lib/picomatch.js",
|
||||
"./node_modules/pidusage/lib/stats.js",
|
||||
"./node_modules/pinkie/index.js",
|
||||
"./node_modules/pseudomap/map.js",
|
||||
"./node_modules/pumpify/index.js",
|
||||
"./node_modules/queue/index.js",
|
||||
"./node_modules/randomstring/node_modules/randombytes/index.js",
|
||||
@@ -497,8 +489,6 @@
|
||||
"./node_modules/resolve/lib/async.js",
|
||||
"./node_modules/resolve/lib/homedir.js",
|
||||
"./node_modules/resolve/lib/sync.js",
|
||||
"./node_modules/run-applescript/node_modules/execa/lib/errname.js",
|
||||
"./node_modules/run-applescript/node_modules/semver/semver.js",
|
||||
"./node_modules/safe-buffer/index.js",
|
||||
"./node_modules/safer-buffer/safer.js",
|
||||
"./node_modules/sax/lib/sax.js",
|
||||
@@ -546,6 +536,7 @@
|
||||
"./node_modules/trash/node_modules/glob/glob.js",
|
||||
"./node_modules/trash/node_modules/glob/sync.js",
|
||||
"./node_modules/trash/node_modules/ignore/ignore.js",
|
||||
"./node_modules/trash/node_modules/semver/semver.js",
|
||||
"./node_modules/truncate-utf8-bytes/index.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-modules-cjs-helpers.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-modules-cjs-loader.js",
|
||||
@@ -1414,9 +1405,17 @@
|
||||
"./node_modules/@opentelemetry/semantic-conventions/build/src/resource/index.js",
|
||||
"./node_modules/@opentelemetry/semantic-conventions/build/src/trace/SemanticAttributes.js",
|
||||
"./node_modules/@opentelemetry/semantic-conventions/build/src/trace/index.js",
|
||||
"./node_modules/@sindresorhus/df/index.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/index.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/command.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/error.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/kill.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/promise.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/stdio.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/stream.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/npm-run-path/index.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/p-finally/index.js",
|
||||
"./node_modules/@stroncium/procfs/lib/parsers.js",
|
||||
"./node_modules/@stroncium/procfs/lib/procfs-error.js",
|
||||
"./node_modules/@tsconfig/node10/tsconfig.json",
|
||||
"./node_modules/@tsconfig/node12/tsconfig.json",
|
||||
"./node_modules/@tsconfig/node14/tsconfig.json",
|
||||
@@ -1461,6 +1460,7 @@
|
||||
"./node_modules/adm-zip/util/fileSystem.js",
|
||||
"./node_modules/adm-zip/zipEntry.js",
|
||||
"./node_modules/adm-zip/zipFile.js",
|
||||
"./node_modules/aggregate-error/index.js",
|
||||
"./node_modules/ansi-regex/index.js",
|
||||
"./node_modules/ansi-styles/index.js",
|
||||
"./node_modules/ansi_up/ansi_up.js",
|
||||
@@ -1683,20 +1683,13 @@
|
||||
"./node_modules/cookie/index.js",
|
||||
"./node_modules/core-util-is/lib/util.js",
|
||||
"./node_modules/cors/lib/index.js",
|
||||
"./node_modules/cp-file/index.js",
|
||||
"./node_modules/cp-file/node_modules/pify/index.js",
|
||||
"./node_modules/create-require/create-require.js",
|
||||
"./node_modules/cross-spawn-async/index.js",
|
||||
"./node_modules/cross-spawn-async/lib/enoent.js",
|
||||
"./node_modules/cross-spawn-async/node_modules/lru-cache/index.js",
|
||||
"./node_modules/cross-spawn-async/node_modules/yallist/yallist.js",
|
||||
"./node_modules/cross-spawn/index.js",
|
||||
"./node_modules/cross-spawn/lib/enoent.js",
|
||||
"./node_modules/cross-spawn/lib/parse.js",
|
||||
"./node_modules/cross-spawn/lib/util/escape.js",
|
||||
"./node_modules/cross-spawn/lib/util/readShebang.js",
|
||||
"./node_modules/cross-spawn/lib/util/resolveCommand.js",
|
||||
"./node_modules/cross-spawn/node_modules/path-key/index.js",
|
||||
"./node_modules/cross-spawn/node_modules/shebang-command/index.js",
|
||||
"./node_modules/cross-spawn/node_modules/shebang-regex/index.js",
|
||||
"./node_modules/cross-spawn/node_modules/which/which.js",
|
||||
@@ -1775,7 +1768,6 @@
|
||||
"./node_modules/es-object-atoms/index.js",
|
||||
"./node_modules/escape-goat/index.js",
|
||||
"./node_modules/escape-html/index.js",
|
||||
"./node_modules/escape-string-applescript/index.js",
|
||||
"./node_modules/escape-string-regexp/index.js",
|
||||
"./node_modules/esprima/dist/esprima.js",
|
||||
"./node_modules/esutils/lib/ast.js",
|
||||
@@ -2180,6 +2172,7 @@
|
||||
"./node_modules/image-size/dist/types/tga.js",
|
||||
"./node_modules/image-size/dist/types/tiff.js",
|
||||
"./node_modules/image-size/dist/types/webp.js",
|
||||
"./node_modules/indent-string/index.js",
|
||||
"./node_modules/inflight/inflight.js",
|
||||
"./node_modules/inherits/inherits.js",
|
||||
"./node_modules/inherits/inherits_browser.js",
|
||||
@@ -2195,6 +2188,7 @@
|
||||
"./node_modules/is-glob/index.js",
|
||||
"./node_modules/is-html/index.js",
|
||||
"./node_modules/is-obj/index.js",
|
||||
"./node_modules/is-path-inside/index.js",
|
||||
"./node_modules/is-plain-obj/index.js",
|
||||
"./node_modules/is-regexp/index.js",
|
||||
"./node_modules/is-stream/index.js",
|
||||
@@ -2434,7 +2428,6 @@
|
||||
"./node_modules/lodash/toInteger.js",
|
||||
"./node_modules/lodash/toNumber.js",
|
||||
"./node_modules/lodash/toString.js",
|
||||
"./node_modules/make-dir/node_modules/pify/index.js",
|
||||
"./node_modules/make-error/index.js",
|
||||
"./node_modules/math-intrinsics/abs.js",
|
||||
"./node_modules/math-intrinsics/floor.js",
|
||||
@@ -2547,7 +2540,6 @@
|
||||
"./node_modules/mount-point/index.js",
|
||||
"./node_modules/mount-point/node_modules/@sindresorhus/df/index.js",
|
||||
"./node_modules/move-file/index.js",
|
||||
"./node_modules/move-file/node_modules/make-dir/index.js",
|
||||
"./node_modules/ms/index.js",
|
||||
"./node_modules/negotiator/index.js",
|
||||
"./node_modules/negotiator/lib/charset.js",
|
||||
@@ -2608,7 +2600,6 @@
|
||||
"./node_modules/node-releases/data/release-schedule/release-schedule.json",
|
||||
"./node_modules/normalize-path/index.js",
|
||||
"./node_modules/npm-run-path/index.js",
|
||||
"./node_modules/npm-run-path/node_modules/path-key/index.js",
|
||||
"./node_modules/object-assign/index.js",
|
||||
"./node_modules/object-keys/implementation.js",
|
||||
"./node_modules/object-keys/index.js",
|
||||
@@ -2623,8 +2614,8 @@
|
||||
"./node_modules/p-defer/index.js",
|
||||
"./node_modules/p-finally/index.js",
|
||||
"./node_modules/p-limit/index.js",
|
||||
"./node_modules/p-map/index.js",
|
||||
"./node_modules/p-timeout/index.js",
|
||||
"./node_modules/p-try/index.js",
|
||||
"./node_modules/pako/index.js",
|
||||
"./node_modules/pako/lib/deflate.js",
|
||||
"./node_modules/pako/lib/inflate.js",
|
||||
@@ -2654,7 +2645,6 @@
|
||||
"./node_modules/parseurl/index.js",
|
||||
"./node_modules/path-exists/index.js",
|
||||
"./node_modules/path-is-absolute/index.js",
|
||||
"./node_modules/path-is-inside/lib/path-is-inside.js",
|
||||
"./node_modules/path-key/index.js",
|
||||
"./node_modules/path-parse/index.js",
|
||||
"./node_modules/path-root-regex/index.js",
|
||||
@@ -2728,7 +2718,6 @@
|
||||
"./node_modules/pretty-bytes/index.js",
|
||||
"./node_modules/proxy-addr/index.js",
|
||||
"./node_modules/proxy-from-env/index.js",
|
||||
"./node_modules/pseudomap/pseudomap.js",
|
||||
"./node_modules/psl/data/rules.json",
|
||||
"./node_modules/psl/index.js",
|
||||
"./node_modules/pump/index.js",
|
||||
@@ -3207,19 +3196,6 @@
|
||||
"./node_modules/ret/lib/util.js",
|
||||
"./node_modules/return-deep-diff/dist/return-deep-diff.min.js",
|
||||
"./node_modules/reusify/reusify.js",
|
||||
"./node_modules/run-applescript/index.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/index.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/enoent.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/parse.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/util/escape.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/util/readShebang.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/util/resolveCommand.js",
|
||||
"./node_modules/run-applescript/node_modules/execa/index.js",
|
||||
"./node_modules/run-applescript/node_modules/execa/lib/stdio.js",
|
||||
"./node_modules/run-applescript/node_modules/get-stream/index.js",
|
||||
"./node_modules/run-applescript/node_modules/is-stream/index.js",
|
||||
"./node_modules/run-applescript/node_modules/npm-run-path/index.js",
|
||||
"./node_modules/run-applescript/node_modules/path-key/index.js",
|
||||
"./node_modules/run-parallel/index.js",
|
||||
"./node_modules/sanitize-filename/index.js",
|
||||
"./node_modules/semver/classes/comparator.js",
|
||||
@@ -3368,6 +3344,7 @@
|
||||
"./node_modules/toidentifier/index.js",
|
||||
"./node_modules/token-types/lib/index.js",
|
||||
"./node_modules/trash/index.js",
|
||||
"./node_modules/trash/lib/chunked-exec.js",
|
||||
"./node_modules/trash/lib/linux.js",
|
||||
"./node_modules/trash/lib/macos.js",
|
||||
"./node_modules/trash/lib/windows.js",
|
||||
@@ -3376,16 +3353,10 @@
|
||||
"./node_modules/trash/node_modules/glob/common.js",
|
||||
"./node_modules/trash/node_modules/globby/gitignore.js",
|
||||
"./node_modules/trash/node_modules/globby/index.js",
|
||||
"./node_modules/trash/node_modules/is-path-inside/index.js",
|
||||
"./node_modules/trash/node_modules/p-map/index.js",
|
||||
"./node_modules/trash/node_modules/make-dir/index.js",
|
||||
"./node_modules/trash/node_modules/path-type/index.js",
|
||||
"./node_modules/trash/node_modules/pify/index.js",
|
||||
"./node_modules/trash/node_modules/slash/index.js",
|
||||
"./node_modules/trash/node_modules/uuid/index.js",
|
||||
"./node_modules/trash/node_modules/uuid/lib/bytesToUuid.js",
|
||||
"./node_modules/trash/node_modules/uuid/lib/rng.js",
|
||||
"./node_modules/trash/node_modules/uuid/v1.js",
|
||||
"./node_modules/trash/node_modules/uuid/v4.js",
|
||||
"./node_modules/truncate-utf8-bytes/lib/truncate.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-constants.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-errors.js",
|
||||
@@ -3494,7 +3465,6 @@
|
||||
"./node_modules/universalify/index.js",
|
||||
"./node_modules/unpipe/index.js",
|
||||
"./node_modules/unused-filename/index.js",
|
||||
"./node_modules/unused-filename/node_modules/path-exists/index.js",
|
||||
"./node_modules/url-parse/index.js",
|
||||
"./node_modules/utf8-stream/index.js",
|
||||
"./node_modules/utf8-stream/node_modules/isarray/index.js",
|
||||
@@ -3838,7 +3808,6 @@
|
||||
"./packages/scaffold-config/node_modules/find-up/index.js",
|
||||
"./packages/scaffold-config/node_modules/locate-path/index.js",
|
||||
"./packages/scaffold-config/node_modules/p-locate/index.js",
|
||||
"./packages/scaffold-config/node_modules/path-exists/index.js",
|
||||
"./packages/scaffold-config/src/commandFile.ts",
|
||||
"./packages/scaffold-config/src/component-index-template.ts",
|
||||
"./packages/scaffold-config/src/ct-detect-third-party.ts",
|
||||
@@ -3979,7 +3948,7 @@
|
||||
"./packages/server/lib/util/terminal-size.js",
|
||||
"./packages/server/lib/util/terminal.js",
|
||||
"./packages/server/lib/util/tests_utils.ts",
|
||||
"./packages/server/lib/util/trash.js",
|
||||
"./packages/server/lib/util/trash.ts",
|
||||
"./packages/server/lib/util/tty.js",
|
||||
"./packages/server/node_modules/axios/index.js",
|
||||
"./packages/server/node_modules/axios/lib/adapters/fetch.js",
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
"./node_modules/jose/dist/node/cjs/runtime/verify.js",
|
||||
"./node_modules/jsonfile/index.js",
|
||||
"./node_modules/lockfile/lockfile.js",
|
||||
"./node_modules/make-dir/index.js",
|
||||
"./node_modules/minimatch/minimatch.js",
|
||||
"./node_modules/mocha-7.2.0/node_modules/debug/src/node.js",
|
||||
"./node_modules/mocha-7.2.0/node_modules/glob/node_modules/minimatch/minimatch.js",
|
||||
@@ -46,12 +45,10 @@
|
||||
"./node_modules/prettier/third-party.js",
|
||||
"./node_modules/process-nextick-args/index.js",
|
||||
"./node_modules/react-docgen/dist/FileState.js",
|
||||
"./node_modules/run-applescript/node_modules/get-stream/buffer-stream.js",
|
||||
"./node_modules/send/node_modules/debug/src/node.js",
|
||||
"./node_modules/shell-env/node_modules/get-stream/buffer-stream.js",
|
||||
"./node_modules/signal-exit/index.js",
|
||||
"./node_modules/stream-parser/node_modules/debug/src/node.js",
|
||||
"./node_modules/trash/node_modules/make-dir/index.js",
|
||||
"./node_modules/ws/lib/websocket.js",
|
||||
"./packages/data-context/node_modules/get-stream/buffer-stream.js",
|
||||
"./packages/https-proxy/lib/ca.js",
|
||||
@@ -210,6 +207,9 @@
|
||||
"./node_modules/@opentelemetry/resources/build/src/platform/node/index.js",
|
||||
"./node_modules/@opentelemetry/resources/build/src/platform/node/machine-id/getMachineId.js",
|
||||
"./node_modules/@opentelemetry/sdk-trace-base/build/src/config.js",
|
||||
"./node_modules/@sindresorhus/df/index.js",
|
||||
"./node_modules/@stroncium/procfs/index.js",
|
||||
"./node_modules/@stroncium/procfs/lib/utils.js",
|
||||
"./node_modules/adm-zip/adm-zip.js",
|
||||
"./node_modules/adm-zip/methods/zipcrypto.js",
|
||||
"./node_modules/adm-zip/util/fattr.js",
|
||||
@@ -229,6 +229,7 @@
|
||||
"./node_modules/chrome-remote-interface/node_modules/ws/lib/constants.js",
|
||||
"./node_modules/chrome-remote-interface/node_modules/ws/lib/receiver.js",
|
||||
"./node_modules/chrome-remote-interface/node_modules/ws/lib/websocket-server.js",
|
||||
"./node_modules/clean-stack/index.js",
|
||||
"./node_modules/coffeescript/lib/coffeescript/coffeescript.js",
|
||||
"./node_modules/coffeescript/lib/coffeescript/index.js",
|
||||
"./node_modules/coffeescript/lib/coffeescript/nodes.js",
|
||||
@@ -240,11 +241,6 @@
|
||||
"./node_modules/compression/node_modules/debug/src/browser.js",
|
||||
"./node_modules/compression/node_modules/debug/src/index.js",
|
||||
"./node_modules/concat-stream/index.js",
|
||||
"./node_modules/cp-file/cp-file-error.js",
|
||||
"./node_modules/cp-file/fs.js",
|
||||
"./node_modules/cp-file/progress-emitter.js",
|
||||
"./node_modules/cross-spawn-async/lib/parse.js",
|
||||
"./node_modules/cross-spawn-async/lib/resolveCommand.js",
|
||||
"./node_modules/debug/src/browser.js",
|
||||
"./node_modules/debug/src/index.js",
|
||||
"./node_modules/default-shell/index.js",
|
||||
@@ -332,7 +328,6 @@
|
||||
"./node_modules/json3/lib/json3.js",
|
||||
"./node_modules/lodash/isBuffer.js",
|
||||
"./node_modules/lodash/lodash.js",
|
||||
"./node_modules/make-dir/node_modules/semver/semver.js",
|
||||
"./node_modules/methods/index.js",
|
||||
"./node_modules/mime/mime.js",
|
||||
"./node_modules/minizlib/constants.js",
|
||||
@@ -388,8 +383,6 @@
|
||||
"./node_modules/morgan/node_modules/debug/src/browser.js",
|
||||
"./node_modules/morgan/node_modules/debug/src/index.js",
|
||||
"./node_modules/morgan/node_modules/depd/index.js",
|
||||
"./node_modules/move-file/node_modules/semver/semver.js",
|
||||
"./node_modules/nested-error-stacks/index.js",
|
||||
"./node_modules/nexus/dist/core.js",
|
||||
"./node_modules/nexus/dist/definitions/list.js",
|
||||
"./node_modules/nexus/dist/definitions/nexusMeta.js",
|
||||
@@ -458,7 +451,6 @@
|
||||
"./node_modules/picomatch/lib/picomatch.js",
|
||||
"./node_modules/pidusage/lib/stats.js",
|
||||
"./node_modules/pinkie/index.js",
|
||||
"./node_modules/pseudomap/map.js",
|
||||
"./node_modules/pumpify/index.js",
|
||||
"./node_modules/queue/index.js",
|
||||
"./node_modules/randomstring/node_modules/randombytes/index.js",
|
||||
@@ -501,8 +493,6 @@
|
||||
"./node_modules/resolve/lib/async.js",
|
||||
"./node_modules/resolve/lib/homedir.js",
|
||||
"./node_modules/resolve/lib/sync.js",
|
||||
"./node_modules/run-applescript/node_modules/execa/lib/errname.js",
|
||||
"./node_modules/run-applescript/node_modules/semver/semver.js",
|
||||
"./node_modules/safe-buffer/index.js",
|
||||
"./node_modules/safer-buffer/safer.js",
|
||||
"./node_modules/sax/lib/sax.js",
|
||||
@@ -550,6 +540,7 @@
|
||||
"./node_modules/trash/node_modules/glob/glob.js",
|
||||
"./node_modules/trash/node_modules/glob/sync.js",
|
||||
"./node_modules/trash/node_modules/ignore/ignore.js",
|
||||
"./node_modules/trash/node_modules/semver/semver.js",
|
||||
"./node_modules/truncate-utf8-bytes/index.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-modules-cjs-helpers.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-modules-cjs-loader.js",
|
||||
@@ -1418,9 +1409,17 @@
|
||||
"./node_modules/@opentelemetry/semantic-conventions/build/src/resource/index.js",
|
||||
"./node_modules/@opentelemetry/semantic-conventions/build/src/trace/SemanticAttributes.js",
|
||||
"./node_modules/@opentelemetry/semantic-conventions/build/src/trace/index.js",
|
||||
"./node_modules/@sindresorhus/df/index.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/index.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/command.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/error.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/kill.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/promise.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/stdio.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/execa/lib/stream.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/npm-run-path/index.js",
|
||||
"./node_modules/@sindresorhus/df/node_modules/p-finally/index.js",
|
||||
"./node_modules/@stroncium/procfs/lib/parsers.js",
|
||||
"./node_modules/@stroncium/procfs/lib/procfs-error.js",
|
||||
"./node_modules/@tsconfig/node10/tsconfig.json",
|
||||
"./node_modules/@tsconfig/node12/tsconfig.json",
|
||||
"./node_modules/@tsconfig/node14/tsconfig.json",
|
||||
@@ -1465,6 +1464,7 @@
|
||||
"./node_modules/adm-zip/util/fileSystem.js",
|
||||
"./node_modules/adm-zip/zipEntry.js",
|
||||
"./node_modules/adm-zip/zipFile.js",
|
||||
"./node_modules/aggregate-error/index.js",
|
||||
"./node_modules/ansi-regex/index.js",
|
||||
"./node_modules/ansi-styles/index.js",
|
||||
"./node_modules/ansi_up/ansi_up.js",
|
||||
@@ -1687,20 +1687,13 @@
|
||||
"./node_modules/cookie/index.js",
|
||||
"./node_modules/core-util-is/lib/util.js",
|
||||
"./node_modules/cors/lib/index.js",
|
||||
"./node_modules/cp-file/index.js",
|
||||
"./node_modules/cp-file/node_modules/pify/index.js",
|
||||
"./node_modules/create-require/create-require.js",
|
||||
"./node_modules/cross-spawn-async/index.js",
|
||||
"./node_modules/cross-spawn-async/lib/enoent.js",
|
||||
"./node_modules/cross-spawn-async/node_modules/lru-cache/index.js",
|
||||
"./node_modules/cross-spawn-async/node_modules/yallist/yallist.js",
|
||||
"./node_modules/cross-spawn/index.js",
|
||||
"./node_modules/cross-spawn/lib/enoent.js",
|
||||
"./node_modules/cross-spawn/lib/parse.js",
|
||||
"./node_modules/cross-spawn/lib/util/escape.js",
|
||||
"./node_modules/cross-spawn/lib/util/readShebang.js",
|
||||
"./node_modules/cross-spawn/lib/util/resolveCommand.js",
|
||||
"./node_modules/cross-spawn/node_modules/path-key/index.js",
|
||||
"./node_modules/cross-spawn/node_modules/shebang-command/index.js",
|
||||
"./node_modules/cross-spawn/node_modules/shebang-regex/index.js",
|
||||
"./node_modules/cross-spawn/node_modules/which/which.js",
|
||||
@@ -1779,7 +1772,6 @@
|
||||
"./node_modules/es-object-atoms/index.js",
|
||||
"./node_modules/escape-goat/index.js",
|
||||
"./node_modules/escape-html/index.js",
|
||||
"./node_modules/escape-string-applescript/index.js",
|
||||
"./node_modules/escape-string-regexp/index.js",
|
||||
"./node_modules/esprima/dist/esprima.js",
|
||||
"./node_modules/esutils/lib/ast.js",
|
||||
@@ -2184,6 +2176,7 @@
|
||||
"./node_modules/image-size/dist/types/tga.js",
|
||||
"./node_modules/image-size/dist/types/tiff.js",
|
||||
"./node_modules/image-size/dist/types/webp.js",
|
||||
"./node_modules/indent-string/index.js",
|
||||
"./node_modules/inflight/inflight.js",
|
||||
"./node_modules/inherits/inherits.js",
|
||||
"./node_modules/inherits/inherits_browser.js",
|
||||
@@ -2199,6 +2192,7 @@
|
||||
"./node_modules/is-glob/index.js",
|
||||
"./node_modules/is-html/index.js",
|
||||
"./node_modules/is-obj/index.js",
|
||||
"./node_modules/is-path-inside/index.js",
|
||||
"./node_modules/is-plain-obj/index.js",
|
||||
"./node_modules/is-regexp/index.js",
|
||||
"./node_modules/is-stream/index.js",
|
||||
@@ -2438,7 +2432,6 @@
|
||||
"./node_modules/lodash/toInteger.js",
|
||||
"./node_modules/lodash/toNumber.js",
|
||||
"./node_modules/lodash/toString.js",
|
||||
"./node_modules/make-dir/node_modules/pify/index.js",
|
||||
"./node_modules/make-error/index.js",
|
||||
"./node_modules/math-intrinsics/abs.js",
|
||||
"./node_modules/math-intrinsics/floor.js",
|
||||
@@ -2551,7 +2544,6 @@
|
||||
"./node_modules/mount-point/index.js",
|
||||
"./node_modules/mount-point/node_modules/@sindresorhus/df/index.js",
|
||||
"./node_modules/move-file/index.js",
|
||||
"./node_modules/move-file/node_modules/make-dir/index.js",
|
||||
"./node_modules/ms/index.js",
|
||||
"./node_modules/negotiator/index.js",
|
||||
"./node_modules/negotiator/lib/charset.js",
|
||||
@@ -2612,7 +2604,6 @@
|
||||
"./node_modules/node-releases/data/release-schedule/release-schedule.json",
|
||||
"./node_modules/normalize-path/index.js",
|
||||
"./node_modules/npm-run-path/index.js",
|
||||
"./node_modules/npm-run-path/node_modules/path-key/index.js",
|
||||
"./node_modules/object-assign/index.js",
|
||||
"./node_modules/object-keys/implementation.js",
|
||||
"./node_modules/object-keys/index.js",
|
||||
@@ -2627,8 +2618,8 @@
|
||||
"./node_modules/p-defer/index.js",
|
||||
"./node_modules/p-finally/index.js",
|
||||
"./node_modules/p-limit/index.js",
|
||||
"./node_modules/p-map/index.js",
|
||||
"./node_modules/p-timeout/index.js",
|
||||
"./node_modules/p-try/index.js",
|
||||
"./node_modules/pako/index.js",
|
||||
"./node_modules/pako/lib/deflate.js",
|
||||
"./node_modules/pako/lib/inflate.js",
|
||||
@@ -2658,7 +2649,6 @@
|
||||
"./node_modules/parseurl/index.js",
|
||||
"./node_modules/path-exists/index.js",
|
||||
"./node_modules/path-is-absolute/index.js",
|
||||
"./node_modules/path-is-inside/lib/path-is-inside.js",
|
||||
"./node_modules/path-key/index.js",
|
||||
"./node_modules/path-parse/index.js",
|
||||
"./node_modules/path-root-regex/index.js",
|
||||
@@ -2732,7 +2722,6 @@
|
||||
"./node_modules/pretty-bytes/index.js",
|
||||
"./node_modules/proxy-addr/index.js",
|
||||
"./node_modules/proxy-from-env/index.js",
|
||||
"./node_modules/pseudomap/pseudomap.js",
|
||||
"./node_modules/psl/data/rules.json",
|
||||
"./node_modules/psl/index.js",
|
||||
"./node_modules/pump/index.js",
|
||||
@@ -3209,19 +3198,6 @@
|
||||
"./node_modules/ret/lib/util.js",
|
||||
"./node_modules/return-deep-diff/dist/return-deep-diff.min.js",
|
||||
"./node_modules/reusify/reusify.js",
|
||||
"./node_modules/run-applescript/index.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/index.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/enoent.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/parse.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/util/escape.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/util/readShebang.js",
|
||||
"./node_modules/run-applescript/node_modules/cross-spawn/lib/util/resolveCommand.js",
|
||||
"./node_modules/run-applescript/node_modules/execa/index.js",
|
||||
"./node_modules/run-applescript/node_modules/execa/lib/stdio.js",
|
||||
"./node_modules/run-applescript/node_modules/get-stream/index.js",
|
||||
"./node_modules/run-applescript/node_modules/is-stream/index.js",
|
||||
"./node_modules/run-applescript/node_modules/npm-run-path/index.js",
|
||||
"./node_modules/run-applescript/node_modules/path-key/index.js",
|
||||
"./node_modules/run-parallel/index.js",
|
||||
"./node_modules/sanitize-filename/index.js",
|
||||
"./node_modules/semver/classes/comparator.js",
|
||||
@@ -3370,6 +3346,7 @@
|
||||
"./node_modules/toidentifier/index.js",
|
||||
"./node_modules/token-types/lib/index.js",
|
||||
"./node_modules/trash/index.js",
|
||||
"./node_modules/trash/lib/chunked-exec.js",
|
||||
"./node_modules/trash/lib/linux.js",
|
||||
"./node_modules/trash/lib/macos.js",
|
||||
"./node_modules/trash/lib/windows.js",
|
||||
@@ -3378,16 +3355,10 @@
|
||||
"./node_modules/trash/node_modules/glob/common.js",
|
||||
"./node_modules/trash/node_modules/globby/gitignore.js",
|
||||
"./node_modules/trash/node_modules/globby/index.js",
|
||||
"./node_modules/trash/node_modules/is-path-inside/index.js",
|
||||
"./node_modules/trash/node_modules/p-map/index.js",
|
||||
"./node_modules/trash/node_modules/make-dir/index.js",
|
||||
"./node_modules/trash/node_modules/path-type/index.js",
|
||||
"./node_modules/trash/node_modules/pify/index.js",
|
||||
"./node_modules/trash/node_modules/slash/index.js",
|
||||
"./node_modules/trash/node_modules/uuid/index.js",
|
||||
"./node_modules/trash/node_modules/uuid/lib/bytesToUuid.js",
|
||||
"./node_modules/trash/node_modules/uuid/lib/rng.js",
|
||||
"./node_modules/trash/node_modules/uuid/v1.js",
|
||||
"./node_modules/trash/node_modules/uuid/v4.js",
|
||||
"./node_modules/truncate-utf8-bytes/lib/truncate.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-constants.js",
|
||||
"./node_modules/ts-node/dist-raw/node-internal-errors.js",
|
||||
@@ -3496,7 +3467,6 @@
|
||||
"./node_modules/universalify/index.js",
|
||||
"./node_modules/unpipe/index.js",
|
||||
"./node_modules/unused-filename/index.js",
|
||||
"./node_modules/unused-filename/node_modules/path-exists/index.js",
|
||||
"./node_modules/url-parse/index.js",
|
||||
"./node_modules/utf8-stream/index.js",
|
||||
"./node_modules/utf8-stream/node_modules/isarray/index.js",
|
||||
@@ -3839,7 +3809,6 @@
|
||||
"./packages/scaffold-config/node_modules/find-up/index.js",
|
||||
"./packages/scaffold-config/node_modules/locate-path/index.js",
|
||||
"./packages/scaffold-config/node_modules/p-locate/index.js",
|
||||
"./packages/scaffold-config/node_modules/path-exists/index.js",
|
||||
"./packages/scaffold-config/src/commandFile.ts",
|
||||
"./packages/scaffold-config/src/component-index-template.ts",
|
||||
"./packages/scaffold-config/src/ct-detect-third-party.ts",
|
||||
@@ -3980,7 +3949,7 @@
|
||||
"./packages/server/lib/util/terminal-size.js",
|
||||
"./packages/server/lib/util/terminal.js",
|
||||
"./packages/server/lib/util/tests_utils.ts",
|
||||
"./packages/server/lib/util/trash.js",
|
||||
"./packages/server/lib/util/trash.ts",
|
||||
"./packages/server/lib/util/tty.js",
|
||||
"./packages/server/node_modules/axios/index.js",
|
||||
"./packages/server/node_modules/axios/lib/adapters/fetch.js",
|
||||
|
||||
@@ -50,12 +50,12 @@ describe('integration: express', () => {
|
||||
|
||||
try {
|
||||
({ stdout, stderr } = await execa('node', ['./snapshot/install-snapshot.js'], { cwd: projectBaseDir, maxBuffer: 600 * _MB, env }))
|
||||
|
||||
const { deferredHash, ...metadata } = require(metadataFile)
|
||||
|
||||
snapshot(metadata)
|
||||
} catch (err: any) {
|
||||
assert.fail(`error: ${err.toString()}\nstdout: ${stdout}\nstderr: ${stderr}`)
|
||||
}
|
||||
|
||||
const { deferredHash, ...metadata } = require(metadataFile)
|
||||
|
||||
snapshot(metadata)
|
||||
})
|
||||
})
|
||||
|
||||
206
yarn.lock
206
yarn.lock
@@ -6668,12 +6668,12 @@
|
||||
resolved "https://registry.yarnpkg.com/@sindresorhus/df/-/df-1.0.1.tgz#c69b66f52f6fcdd287c807df210305dbaf78500d"
|
||||
integrity sha1-xptm9S9vzdKHyAffIQMF2694UA0=
|
||||
|
||||
"@sindresorhus/df@^2.1.0":
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@sindresorhus/df/-/df-2.1.0.tgz#d208cf27e06f0bb476d14d7deccd7d726e9aa389"
|
||||
integrity sha1-0gjPJ+BvC7R20U197M19cm6ao4k=
|
||||
"@sindresorhus/df@^3.1.1":
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@sindresorhus/df/-/df-3.1.1.tgz#94200f9277e4a7fdd35ce8ab8b6bc5b52b164d31"
|
||||
integrity sha512-SME/vtXaJcnQ/HpeV6P82Egy+jThn11IKfwW8+/XVoRD0rmPHVTeKMtww1oWdVnMykzVPjmrDN9S8NBndPEHCQ==
|
||||
dependencies:
|
||||
execa "^0.2.2"
|
||||
execa "^2.0.1"
|
||||
|
||||
"@sindresorhus/is@^0.14.0":
|
||||
version "0.14.0"
|
||||
@@ -7289,6 +7289,11 @@
|
||||
"@smithy/types" "^2.8.0"
|
||||
tslib "^2.5.0"
|
||||
|
||||
"@stroncium/procfs@^1.2.1":
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@stroncium/procfs/-/procfs-1.2.1.tgz#6b9be6fd20fb0a4c20e99a8695e083c699bb2b45"
|
||||
integrity sha512-X1Iui3FUNZP18EUvysTHxt+Avu2nlVzyf90YM8OYgP6SGzTzzX/0JgObfO1AQQDzuZtNNz29bVh8h5R97JrjxA==
|
||||
|
||||
"@svgr/babel-plugin-add-jsx-attribute@8.0.0":
|
||||
version "8.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22"
|
||||
@@ -10362,11 +10367,6 @@ assert@^2.0.0:
|
||||
object-is "^1.0.1"
|
||||
util "^0.12.0"
|
||||
|
||||
assertion-error@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.0.tgz#c7f85438fdd466bc7ca16ab90c81513797a5d23b"
|
||||
integrity sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=
|
||||
|
||||
assertion-error@^1.0.1, assertion-error@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
|
||||
@@ -11748,14 +11748,6 @@ chai-uuid@1.0.6:
|
||||
resolved "https://registry.yarnpkg.com/chai-uuid/-/chai-uuid-1.0.6.tgz#353a3b817dd66aa2608a0660faf68593fb918c8b"
|
||||
integrity sha1-NTo7gX3WaqJgigZg+vaFk/uRjIs=
|
||||
|
||||
chai@1.10.0:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/chai/-/chai-1.10.0.tgz#e4031cc87654461a75943e5a35ab46eaf39c1eb9"
|
||||
integrity sha1-5AMcyHZURhp1lD5aNatG6vOcHrk=
|
||||
dependencies:
|
||||
assertion-error "1.0.0"
|
||||
deep-eql "0.1.3"
|
||||
|
||||
chai@3.5.0:
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247"
|
||||
@@ -13170,17 +13162,6 @@ cosmiconfig@^8.0.0, cosmiconfig@^8.1.3:
|
||||
parse-json "^5.2.0"
|
||||
path-type "^4.0.0"
|
||||
|
||||
cp-file@^6.1.0:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-6.2.0.tgz#40d5ea4a1def2a9acdd07ba5c0b0246ef73dc10d"
|
||||
integrity sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==
|
||||
dependencies:
|
||||
graceful-fs "^4.1.2"
|
||||
make-dir "^2.0.0"
|
||||
nested-error-stacks "^2.0.0"
|
||||
pify "^4.0.1"
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
cpr@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/cpr/-/cpr-3.0.1.tgz#b9a55038b7cd81a35c17b9761895bd8496aef1e5"
|
||||
@@ -13305,14 +13286,6 @@ cross-fetch@^4.1.0:
|
||||
dependencies:
|
||||
node-fetch "^2.7.0"
|
||||
|
||||
cross-spawn-async@^2.1.1:
|
||||
version "2.2.5"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc"
|
||||
integrity sha1-hF/wwINKPe2dFg2sptOQkGuyiMw=
|
||||
dependencies:
|
||||
lru-cache "^4.0.0"
|
||||
which "^1.2.8"
|
||||
|
||||
cross-spawn@^5.0.1:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
||||
@@ -13814,7 +13787,7 @@ dedent@^0.7.0:
|
||||
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
|
||||
integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
|
||||
|
||||
deep-eql@0.1.3, deep-eql@^0.1.3:
|
||||
deep-eql@^0.1.3:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2"
|
||||
integrity sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=
|
||||
@@ -15421,11 +15394,6 @@ escape-quotes@1.0.2:
|
||||
dependencies:
|
||||
escape-string-regexp "^1.0.5"
|
||||
|
||||
escape-string-applescript@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-applescript/-/escape-string-applescript-2.0.0.tgz#760bca838668e408fe5ee52ce42caf7cb46c5273"
|
||||
integrity sha1-dgvKg4Zo5Aj+XuUs5CyvfLRsUnM=
|
||||
|
||||
escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
||||
@@ -15828,7 +15796,7 @@ execa-wrap@1.4.0:
|
||||
strip-ansi "4.0.0"
|
||||
strip-indent "2.0.0"
|
||||
|
||||
execa@0.10.0, execa@^0.10.0:
|
||||
execa@0.10.0:
|
||||
version "0.10.0"
|
||||
resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50"
|
||||
integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==
|
||||
@@ -15912,17 +15880,6 @@ execa@5.0.0:
|
||||
signal-exit "^3.0.3"
|
||||
strip-final-newline "^2.0.0"
|
||||
|
||||
execa@^0.2.2:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/execa/-/execa-0.2.2.tgz#e2ead472c2c31aad6f73f1ac956eef45e12320cb"
|
||||
integrity sha1-4urUcsLDGq1vc/GslW7vReEjIMs=
|
||||
dependencies:
|
||||
cross-spawn-async "^2.1.1"
|
||||
npm-run-path "^1.0.0"
|
||||
object-assign "^4.0.1"
|
||||
path-key "^1.0.0"
|
||||
strip-eof "^1.0.0"
|
||||
|
||||
execa@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
|
||||
@@ -15936,6 +15893,21 @@ execa@^0.7.0:
|
||||
signal-exit "^3.0.0"
|
||||
strip-eof "^1.0.0"
|
||||
|
||||
execa@^2.0.1:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99"
|
||||
integrity sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==
|
||||
dependencies:
|
||||
cross-spawn "^7.0.0"
|
||||
get-stream "^5.0.0"
|
||||
is-stream "^2.0.0"
|
||||
merge-stream "^2.0.0"
|
||||
npm-run-path "^3.0.0"
|
||||
onetime "^5.1.0"
|
||||
p-finally "^2.0.0"
|
||||
signal-exit "^3.0.2"
|
||||
strip-final-newline "^2.0.0"
|
||||
|
||||
execa@^5.0.0, execa@^5.1.1:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
|
||||
@@ -19485,7 +19457,7 @@ is-path-inside@^1.0.0:
|
||||
dependencies:
|
||||
path-is-inside "^1.0.1"
|
||||
|
||||
is-path-inside@^2.0.0, is-path-inside@^2.1.0:
|
||||
is-path-inside@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2"
|
||||
integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==
|
||||
@@ -21496,7 +21468,7 @@ lru-cache@^11.0.2:
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.0.2.tgz#fbd8e7cf8211f5e7e5d91905c415a3f55755ca39"
|
||||
integrity sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==
|
||||
|
||||
lru-cache@^4.0.0, lru-cache@^4.0.1:
|
||||
lru-cache@^4.0.1:
|
||||
version "4.1.5"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
|
||||
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
|
||||
@@ -21568,13 +21540,6 @@ make-dir@4.0.0:
|
||||
dependencies:
|
||||
semver "^7.5.3"
|
||||
|
||||
make-dir@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
|
||||
integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
|
||||
dependencies:
|
||||
pify "^3.0.0"
|
||||
|
||||
make-dir@^2.0.0, make-dir@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
|
||||
@@ -21583,7 +21548,7 @@ make-dir@^2.0.0, make-dir@^2.1.0:
|
||||
pify "^4.0.1"
|
||||
semver "^5.6.0"
|
||||
|
||||
make-dir@^3.0.0, make-dir@^3.0.2:
|
||||
make-dir@^3.0.2, make-dir@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
|
||||
integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
|
||||
@@ -22791,14 +22756,24 @@ mout@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/mout/-/mout-1.2.2.tgz#c9b718a499806a0632cede178e80f436259e777d"
|
||||
integrity sha512-w0OUxFEla6z3d7sVpMZGBCpQvYh8PHS1wZ6Wu9GNKHMpAHWJ0if0LsQZh3DlOqw55HlhJEOMLpFnwtxp99Y5GA==
|
||||
|
||||
move-file@^1.1.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/move-file/-/move-file-1.2.0.tgz#789f92d276c62511d214b1b285aa16e015c2f2fc"
|
||||
integrity sha512-USHrRmxzGowUWAGBbJPdFjHzEqtxDU03pLHY0Rfqgtnq+q8FOIs8wvkkf+Udmg77SJKs47y9sI0jJvQeYsmiCA==
|
||||
move-concurrently@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
|
||||
integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
|
||||
dependencies:
|
||||
cp-file "^6.1.0"
|
||||
make-dir "^3.0.0"
|
||||
path-exists "^3.0.0"
|
||||
aproba "^1.1.1"
|
||||
copy-concurrently "^1.0.0"
|
||||
fs-write-stream-atomic "^1.0.8"
|
||||
mkdirp "^0.5.1"
|
||||
rimraf "^2.5.4"
|
||||
run-queue "^1.0.3"
|
||||
|
||||
move-file@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/move-file/-/move-file-2.1.0.tgz#3bec9d34fbe4832df6865f112cda4492b56e8507"
|
||||
integrity sha512-i9qLW6gqboJ5Ht8bauZi7KlTnQ3QFpBCvMvFfEcHADKgHGeJ9BZMO7SFCTwHPV9Qa0du9DYY1Yx3oqlGt30nXA==
|
||||
dependencies:
|
||||
path-exists "^4.0.0"
|
||||
|
||||
mrmime@^2.0.0:
|
||||
version "2.0.0"
|
||||
@@ -22979,11 +22954,6 @@ nerf-dart@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a"
|
||||
integrity sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo=
|
||||
|
||||
nested-error-stacks@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61"
|
||||
integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==
|
||||
|
||||
netmask@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7"
|
||||
@@ -23617,13 +23587,6 @@ npm-run-all@^4.1.5:
|
||||
shell-quote "^1.6.1"
|
||||
string.prototype.padend "^3.0.0"
|
||||
|
||||
npm-run-path@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f"
|
||||
integrity sha1-9cMr9ZX+ga6Sfa7FLoL4sACsPI8=
|
||||
dependencies:
|
||||
path-key "^1.0.0"
|
||||
|
||||
npm-run-path@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
|
||||
@@ -23631,6 +23594,13 @@ npm-run-path@^2.0.0:
|
||||
dependencies:
|
||||
path-key "^2.0.0"
|
||||
|
||||
npm-run-path@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-3.1.0.tgz#7f91be317f6a466efed3c9f2980ad8a4ee8b0fa5"
|
||||
integrity sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==
|
||||
dependencies:
|
||||
path-key "^3.0.0"
|
||||
|
||||
npm-run-path@^4.0.0, npm-run-path@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
|
||||
@@ -24271,6 +24241,11 @@ p-finally@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
|
||||
integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
|
||||
|
||||
p-finally@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561"
|
||||
integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==
|
||||
|
||||
p-is-promise@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e"
|
||||
@@ -24435,7 +24410,7 @@ p-try@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
|
||||
integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
|
||||
|
||||
p-try@^2.0.0, p-try@^2.2.0:
|
||||
p-try@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
||||
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
|
||||
@@ -24894,11 +24869,6 @@ path-is-inside@1.0.2, path-is-inside@^1.0.1, path-is-inside@^1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
|
||||
integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
|
||||
|
||||
path-key@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/path-key/-/path-key-1.0.0.tgz#5d53d578019646c0d68800db4e146e6bdc2ac7af"
|
||||
integrity sha1-XVPVeAGWRsDWiADbThRua9wqx68=
|
||||
|
||||
path-key@^2.0.0, path-key@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
|
||||
@@ -27233,13 +27203,6 @@ rrweb-cssom@^0.8.0:
|
||||
resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz#3021d1b4352fbf3b614aaeed0bc0d5739abe0bc2"
|
||||
integrity sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==
|
||||
|
||||
run-applescript@^3.2.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-3.2.0.tgz#73fb34ce85d3de8076d511ea767c30d4fdfc918b"
|
||||
integrity sha512-Ep0RsvAjnRcBX1p5vogbaBdAGu/8j/ewpvGqnQYunnLd9SM0vWcPJewPKNnWFggf0hF0pwIgwV5XK7qQ7UZ8Qg==
|
||||
dependencies:
|
||||
execa "^0.10.0"
|
||||
|
||||
run-applescript@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-7.0.0.tgz#e5a553c2bffd620e169d276c1cd8f1b64778fbeb"
|
||||
@@ -30066,21 +30029,19 @@ tr46@~0.0.3:
|
||||
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
|
||||
integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
|
||||
|
||||
trash@5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/trash/-/trash-5.2.0.tgz#f0103ea6ef7dedfa8d46fe40cdd6e03a0ebf00eb"
|
||||
integrity sha512-QpczfQrHKoe4O/iWskzRUwybweYK0okbuO8YvUGL2L1XP5/O9x3juUBr5HBY4yvU77wISKG9VtMD/fWjJLM1Lg==
|
||||
trash@7.2.0:
|
||||
version "7.2.0"
|
||||
resolved "https://registry.yarnpkg.com/trash/-/trash-7.2.0.tgz#c5ad0c9b13d7e7cad0b4187b3cfe38cd8b39abe2"
|
||||
integrity sha512-3bR8Z5aWO8b9qybS6skBoaavH/hX9Onb1RrdIIhJxv9VpH3aBtpbKuAX4rIh/0xpDZ7K4ga36wONk/okbhjTlA==
|
||||
dependencies:
|
||||
escape-string-applescript "^2.0.0"
|
||||
"@stroncium/procfs" "^1.2.1"
|
||||
globby "^7.1.1"
|
||||
is-path-inside "^2.0.0"
|
||||
make-dir "^1.3.0"
|
||||
move-file "^1.1.0"
|
||||
p-map "^2.0.0"
|
||||
p-try "^2.2.0"
|
||||
run-applescript "^3.2.0"
|
||||
uuid "^3.3.2"
|
||||
xdg-trashdir "^2.1.1"
|
||||
is-path-inside "^3.0.2"
|
||||
make-dir "^3.1.0"
|
||||
move-file "^2.0.0"
|
||||
p-map "^4.0.0"
|
||||
uuid "^8.3.2"
|
||||
xdg-trashdir "^3.1.0"
|
||||
|
||||
traverse@~0.6.6:
|
||||
version "0.6.6"
|
||||
@@ -31904,7 +31865,7 @@ which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15,
|
||||
gopd "^1.0.1"
|
||||
has-tostringtag "^1.0.2"
|
||||
|
||||
which@1.3.1, which@^1.1.1, which@^1.2.14, which@^1.2.4, which@^1.2.8, which@^1.2.9:
|
||||
which@1.3.1, which@^1.1.1, which@^1.2.14, which@^1.2.4, which@^1.2.9:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
|
||||
@@ -32188,23 +32149,20 @@ ws@~8.11.0:
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143"
|
||||
integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==
|
||||
|
||||
xdg-basedir@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2"
|
||||
integrity sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=
|
||||
dependencies:
|
||||
os-homedir "^1.0.0"
|
||||
xdg-basedir@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
|
||||
integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
|
||||
|
||||
xdg-trashdir@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/xdg-trashdir/-/xdg-trashdir-2.1.1.tgz#59a60aaf8e6f9240c1daed9a0944b2f514c27d8e"
|
||||
integrity sha512-KcVhPaOu2ZurYNHSRTf1+ZHORkTZGCQ+u0JHN17QixRISJq4pXOnjt/lQcehvtHL5QAKhSzKgyjrcNnPdkPBHA==
|
||||
xdg-trashdir@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/xdg-trashdir/-/xdg-trashdir-3.1.0.tgz#7294262d5793eb5488c2f529fba883ec32a24ea0"
|
||||
integrity sha512-N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==
|
||||
dependencies:
|
||||
"@sindresorhus/df" "^2.1.0"
|
||||
"@sindresorhus/df" "^3.1.1"
|
||||
mount-point "^3.0.0"
|
||||
pify "^2.2.0"
|
||||
user-home "^2.0.0"
|
||||
xdg-basedir "^2.0.0"
|
||||
xdg-basedir "^4.0.0"
|
||||
|
||||
xhr@^2.0.1:
|
||||
version "2.6.0"
|
||||
|
||||
Reference in New Issue
Block a user