mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 18:26:54 +00:00
chore: remove Cypress (#55056)
This commit is contained in:
+16
-17
@@ -7,29 +7,28 @@ ARG MONGODB_VERSION=6.0.4
|
|||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y sudo && \
|
RUN apt-get update && apt-get install -y sudo && \
|
||||||
sudo apt-get install -y ca-certificates curl gnupg && \
|
sudo apt-get install -y ca-certificates curl gnupg && \
|
||||||
sudo mkdir -p /etc/apt/keyrings && \
|
sudo mkdir -p /etc/apt/keyrings && \
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
|
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list && \
|
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list && \
|
||||||
sudo apt-get update && \
|
sudo apt-get update && \
|
||||||
sudo apt-get install nodejs -y && \
|
sudo apt-get install nodejs -y && \
|
||||||
sudo apt-get install -y libcurl4 openssl liblzma5 && \
|
sudo apt-get install -y libcurl4 openssl liblzma5 && \
|
||||||
mkdir -p /tmp/mongodb && \
|
mkdir -p /tmp/mongodb && \
|
||||||
cd /tmp/mongodb && \
|
cd /tmp/mongodb && \
|
||||||
wget -qOmongodb.tgz https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-${MONGODB_VERSION}.tgz && \
|
wget -qOmongodb.tgz https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-${MONGODB_VERSION}.tgz && \
|
||||||
tar -zxvf mongodb.tgz && \
|
tar -zxvf mongodb.tgz && \
|
||||||
cd mongodb-* && \
|
cd mongodb-* && \
|
||||||
sudo cp bin/* /usr/local/bin/ && \
|
sudo cp bin/* /usr/local/bin/ && \
|
||||||
rm -rf /tmp/mongodb && \
|
rm -rf /tmp/mongodb && \
|
||||||
sudo mkdir -p /data/db && \
|
sudo mkdir -p /data/db && \
|
||||||
sudo chown vscode:vscode -R /data/db
|
sudo chown vscode:vscode -R /data/db
|
||||||
|
|
||||||
|
|
||||||
# Setup ENV
|
# Setup ENV
|
||||||
ENV COOKIE_DOMAIN=github.dev
|
ENV COOKIE_DOMAIN=github.dev
|
||||||
ENV HOME_LOCATION=https://$CODESPACE_NAME-8000.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN
|
ENV HOME_LOCATION=https://$CODESPACE_NAME-8000.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN
|
||||||
ENV API_LOCATION=https://$CODESPACE_NAME-3000.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN
|
ENV API_LOCATION=https://$CODESPACE_NAME-3000.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN
|
||||||
ENV CYPRESS_BASE_URL=https://$CODESPACE_NAME-8000.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN
|
|
||||||
ENV REACT_APP_CHALLENGE_EDITOR_API_LOCATION=https://$CODESPACE_NAME-3200.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN
|
ENV REACT_APP_CHALLENGE_EDITOR_API_LOCATION=https://$CODESPACE_NAME-3200.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN
|
||||||
ENV CHALLENGE_EDITOR_CLIENT_LOCATION=https://$CODESPACE_NAME-3300.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN
|
ENV CHALLENGE_EDITOR_CLIENT_LOCATION=https://$CODESPACE_NAME-3300.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,6 @@
|
|||||||
"./api/tsconfig.json",
|
"./api/tsconfig.json",
|
||||||
"./shared/tsconfig.json",
|
"./shared/tsconfig.json",
|
||||||
"./tools/client-plugins/browser-scripts/tsconfig.json",
|
"./tools/client-plugins/browser-scripts/tsconfig.json",
|
||||||
"./cypress/tsconfig.json",
|
|
||||||
"./e2e/tsconfig.json"
|
"./e2e/tsconfig.json"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -94,13 +93,6 @@
|
|||||||
],
|
],
|
||||||
"rules": { "import/named": 2 }
|
"rules": { "import/named": 2 }
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"files": ["cypress/**/*.js"],
|
|
||||||
"globals": {
|
|
||||||
"cy": true,
|
|
||||||
"Cypress": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"files": ["e2e/*.ts"],
|
"files": ["e2e/*.ts"],
|
||||||
"rules": {
|
"rules": {
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
- api/**/*
|
- api/**/*
|
||||||
|
|
||||||
'scope: tools/scripts':
|
'scope: tools/scripts':
|
||||||
- cypress/**/*
|
|
||||||
- tools/**/*
|
- tools/**/*
|
||||||
- .github/**/*
|
- .github/**/*
|
||||||
- utils/**/*
|
- utils/**/*
|
||||||
|
|||||||
@@ -1,157 +0,0 @@
|
|||||||
name: CI - E2E - Web browser
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
workflow_run:
|
|
||||||
workflows: ['CI - Node.js']
|
|
||||||
types:
|
|
||||||
- completed
|
|
||||||
# TODO: refactor with a workflow_call
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- 'docs/**'
|
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
- 'next-**'
|
|
||||||
- 'e2e-**'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-client:
|
|
||||||
name: Build Client
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [20.x]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout Source Files
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- name: Checkout client-config
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
with:
|
|
||||||
repository: freeCodeCamp/client-config
|
|
||||||
path: client-config
|
|
||||||
|
|
||||||
- name: Setup pnpm
|
|
||||||
uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d #v3.0.0
|
|
||||||
with:
|
|
||||||
version: 9
|
|
||||||
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
cache: pnpm
|
|
||||||
|
|
||||||
- name: Set freeCodeCamp Environment Variables
|
|
||||||
run: cp sample.env .env
|
|
||||||
|
|
||||||
- name: Install and Build
|
|
||||||
run: |
|
|
||||||
pnpm install
|
|
||||||
pnpm run build
|
|
||||||
|
|
||||||
- name: Move serve.json to Public Folder
|
|
||||||
run: cp client-config/serve.json client/public/serve.json
|
|
||||||
|
|
||||||
# We tar them for performance reasons - uploading a lot of files is slow.
|
|
||||||
- name: Tar Files
|
|
||||||
run: tar -cf client-artifact.tar client/public
|
|
||||||
|
|
||||||
- name: Upload Client Artifact
|
|
||||||
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
|
|
||||||
with:
|
|
||||||
name: client-artifact
|
|
||||||
path: client-artifact.tar
|
|
||||||
|
|
||||||
- name: Upload Webpack Stats
|
|
||||||
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
|
|
||||||
with:
|
|
||||||
name: webpack-stats
|
|
||||||
path: client/public/stats.json
|
|
||||||
|
|
||||||
cypress-run:
|
|
||||||
name: Test
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
needs: build-client
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
browsers: [chrome, firefox]
|
|
||||||
node-version: [20.x]
|
|
||||||
services:
|
|
||||||
mongodb:
|
|
||||||
image: mongo:4.4
|
|
||||||
ports:
|
|
||||||
- 27017:27017
|
|
||||||
# We need mailhog to catch any emails the api tries to send.
|
|
||||||
mailhog:
|
|
||||||
image: mailhog/mailhog
|
|
||||||
ports:
|
|
||||||
- 1025:1025
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Set Action Environment Variables
|
|
||||||
run: |
|
|
||||||
echo "CYPRESS_RECORD_KEY=${{ secrets.CYPRESS_RECORD_KEY }}" >> $GITHUB_ENV
|
|
||||||
echo "GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Checkout Source Files
|
|
||||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
||||||
|
|
||||||
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
|
|
||||||
with:
|
|
||||||
name: client-artifact
|
|
||||||
|
|
||||||
- name: Unpack Client Artifact
|
|
||||||
run: |
|
|
||||||
tar -xf client-artifact.tar
|
|
||||||
rm client-artifact.tar
|
|
||||||
|
|
||||||
- name: Downgrade Firefox
|
|
||||||
run: |
|
|
||||||
curl https://ftp.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/en-US/firefox-123.0.tar.bz2 --output firefox-123.0.tar.bz2
|
|
||||||
tar -xjf firefox-123.0.tar.bz2
|
|
||||||
sudo mv firefox /opt/
|
|
||||||
sudo mv /usr/bin/firefox /usr/bin/firefox_old
|
|
||||||
sudo ln -s /opt/firefox/firefox /usr/bin/firefox
|
|
||||||
|
|
||||||
- name: Setup pnpm
|
|
||||||
uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d #v3.0.0
|
|
||||||
with:
|
|
||||||
version: 9
|
|
||||||
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
# cypress-io/github-action caches the store, so we should not cache it
|
|
||||||
# here.
|
|
||||||
|
|
||||||
- name: Set freeCodeCamp Environment Variables
|
|
||||||
run: cp sample.env .env
|
|
||||||
|
|
||||||
- name: Install and Build
|
|
||||||
run: |
|
|
||||||
pnpm install
|
|
||||||
pnpm run create:shared
|
|
||||||
pnpm run build:curriculum
|
|
||||||
pnpm run build:server
|
|
||||||
|
|
||||||
- name: Seed Database
|
|
||||||
run: pnpm run seed
|
|
||||||
|
|
||||||
# start-ci uses pm2, so it needs to be installed globally
|
|
||||||
- name: Install pm2
|
|
||||||
run: npm i -g pm2
|
|
||||||
|
|
||||||
- name: Cypress run
|
|
||||||
uses: cypress-io/github-action@v6
|
|
||||||
with:
|
|
||||||
record: ${{ env.CYPRESS_RECORD_KEY != 0 }}
|
|
||||||
start: pnpm run start-ci
|
|
||||||
wait-on: http://localhost:8000
|
|
||||||
wait-on-timeout: 1200
|
|
||||||
config: baseUrl=http://localhost:8000
|
|
||||||
browser: ${{ matrix.browsers }}
|
|
||||||
spec: ${{ matrix.spec }}
|
|
||||||
@@ -111,10 +111,6 @@ coverage
|
|||||||
# nyc test coverage
|
# nyc test coverage
|
||||||
.nyc_output
|
.nyc_output
|
||||||
|
|
||||||
# Cypress.io
|
|
||||||
cypress/videos
|
|
||||||
cypress/screenshots
|
|
||||||
|
|
||||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
.grunt
|
.grunt
|
||||||
|
|
||||||
|
|||||||
+2
-3
@@ -26,7 +26,6 @@ tasks:
|
|||||||
export COOKIE_DOMAIN=gitpod.io
|
export COOKIE_DOMAIN=gitpod.io
|
||||||
export HOME_LOCATION=$(gp url 8000)
|
export HOME_LOCATION=$(gp url 8000)
|
||||||
export API_LOCATION=$(gp url 3000)
|
export API_LOCATION=$(gp url 3000)
|
||||||
export CYPRESS_BASE_URL=$(gp url 8000)
|
|
||||||
export CHALLENGE_EDITOR_API_LOCATION=$(gp url 3200)
|
export CHALLENGE_EDITOR_API_LOCATION=$(gp url 3200)
|
||||||
export CHALLENGE_EDITOR_CLIENT_LOCATION=$(gp url 3300)
|
export CHALLENGE_EDITOR_CLIENT_LOCATION=$(gp url 3300)
|
||||||
' >> ~/.bashrc;
|
' >> ~/.bashrc;
|
||||||
@@ -39,7 +38,7 @@ tasks:
|
|||||||
(mongod --dbpath /workspace/data &)
|
(mongod --dbpath /workspace/data &)
|
||||||
|
|
||||||
- name: server
|
- name: server
|
||||||
before: export COOKIE_DOMAIN=gitpod.io && export HOME_LOCATION=$(gp url 8000) && export API_LOCATION=$(gp url 3000) && export CYPRESS_BASE_URL=$(gp url 8000)
|
before: export COOKIE_DOMAIN=gitpod.io && export HOME_LOCATION=$(gp url 8000) && export API_LOCATION=$(gp url 3000)
|
||||||
# init is not executed for prebuilt workspaces and restarts,
|
# init is not executed for prebuilt workspaces and restarts,
|
||||||
# so we should put all the heavy initialization here
|
# so we should put all the heavy initialization here
|
||||||
init: >
|
init: >
|
||||||
@@ -55,7 +54,7 @@ tasks:
|
|||||||
pnpm run develop:server
|
pnpm run develop:server
|
||||||
|
|
||||||
- name: client
|
- name: client
|
||||||
before: export HOME_LOCATION=$(gp url 8000) && export API_LOCATION=$(gp url 3000) && export CYPRESS_BASE_URL=$(gp url 8000)
|
before: export HOME_LOCATION=$(gp url 8000) && export API_LOCATION=$(gp url 3000)
|
||||||
init: >
|
init: >
|
||||||
cd ./client &&
|
cd ./client &&
|
||||||
gp sync-await pnpm-install &&
|
gp sync-await pnpm-install &&
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ function FreeCodeCampLogo(
|
|||||||
): JSX.Element {
|
): JSX.Element {
|
||||||
return (
|
return (
|
||||||
<svg
|
<svg
|
||||||
data-cy='freeCodeCamp-logo'
|
|
||||||
height={24}
|
height={24}
|
||||||
version='1.1'
|
version='1.1'
|
||||||
viewBox='0 0 210 24'
|
viewBox='0 0 210 24'
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ function MicrosoftLogo(
|
|||||||
): JSX.Element {
|
): JSX.Element {
|
||||||
return (
|
return (
|
||||||
<svg
|
<svg
|
||||||
data-cy='microsoft-logo'
|
|
||||||
version='1.1'
|
version='1.1'
|
||||||
viewBox='0 0 610 130'
|
viewBox='0 0 610 130'
|
||||||
xmlns='http://www.w3.org/2000/svg'
|
xmlns='http://www.w3.org/2000/svg'
|
||||||
|
|||||||
@@ -392,10 +392,7 @@ const ShowCertification = (props: ShowCertificationProps): JSX.Element => {
|
|||||||
}}
|
}}
|
||||||
</strong>
|
</strong>
|
||||||
</h1>
|
</h1>
|
||||||
<h4
|
<h4 data-playwright-test-label='issue-date'>
|
||||||
data-cy={'issue-date'}
|
|
||||||
data-playwright-test-label='issue-date'
|
|
||||||
>
|
|
||||||
{{
|
{{
|
||||||
time: certDate.toLocaleString([localeCode, 'en-US'], {
|
time: certDate.toLocaleString([localeCode, 'en-US'], {
|
||||||
year: 'numeric',
|
year: 'numeric',
|
||||||
@@ -414,7 +411,6 @@ const ShowCertification = (props: ShowCertificationProps): JSX.Element => {
|
|||||||
<>
|
<>
|
||||||
<div>
|
<div>
|
||||||
<Image
|
<Image
|
||||||
data-cy='quincy-signature'
|
|
||||||
data-playwright-test-label='quincy-signature'
|
data-playwright-test-label='quincy-signature'
|
||||||
alt="Quincy Larson's Signature"
|
alt="Quincy Larson's Signature"
|
||||||
src={
|
src={
|
||||||
@@ -431,7 +427,6 @@ const ShowCertification = (props: ShowCertificationProps): JSX.Element => {
|
|||||||
</div>
|
</div>
|
||||||
<div className='microsoft-signature'>
|
<div className='microsoft-signature'>
|
||||||
<Image
|
<Image
|
||||||
data-cy='microsoft-signature'
|
|
||||||
data-playwright-test-label='microsoft-signature'
|
data-playwright-test-label='microsoft-signature'
|
||||||
alt="Julia Liusons's Signature"
|
alt="Julia Liusons's Signature"
|
||||||
src={
|
src={
|
||||||
@@ -451,7 +446,6 @@ const ShowCertification = (props: ShowCertificationProps): JSX.Element => {
|
|||||||
) : (
|
) : (
|
||||||
<div>
|
<div>
|
||||||
<Image
|
<Image
|
||||||
data-cy='quincy-signature'
|
|
||||||
data-playwright-test-label='quincy-signature'
|
data-playwright-test-label='quincy-signature'
|
||||||
alt="Quincy Larson's Signature"
|
alt="Quincy Larson's Signature"
|
||||||
src={
|
src={
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ const ShowProjectLinks = (props: ShowProjectLinksProps): JSX.Element => {
|
|||||||
if (!isCertName(certName)) return <div> Unknown Certification</div>;
|
if (!isCertName(certName)) return <div> Unknown Certification</div>;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div data-cy='solution-widget' data-playwright-test-label='project-links'>
|
<div data-playwright-test-label='project-links'>
|
||||||
{t(getCertHeading(certName), { user: name })}
|
{t(getCertHeading(certName), { user: name })}
|
||||||
<Spacer size='medium' />
|
<Spacer size='medium' />
|
||||||
<Table striped>
|
<Table striped>
|
||||||
|
|||||||
@@ -43,15 +43,11 @@ export const ThankYouMessage = ({
|
|||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<h1 data-playwright-test-label='main-head' data-cy='donate.thank-you'>
|
<h1 data-playwright-test-label='main-head'>{t('donate.thank-you')}</h1>
|
||||||
{t('donate.thank-you')}
|
|
||||||
</h1>
|
|
||||||
{(askForDonation || thankContributon) && (
|
{(askForDonation || thankContributon) && (
|
||||||
<>
|
<>
|
||||||
<Spacer size='medium' />
|
<Spacer size='medium' />
|
||||||
<p data-cy='donate.crucial-contribution'>
|
<p>{t('donate.crucial-contribution')}</p>
|
||||||
{t('donate.crucial-contribution')}
|
|
||||||
</p>
|
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{askForDonation && <OtherWaysToSupport />}
|
{askForDonation && <OtherWaysToSupport />}
|
||||||
@@ -63,13 +59,11 @@ export const OtherWaysToSupport = (): JSX.Element => {
|
|||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<p data-cy='donate.if-support-further'>
|
<p>
|
||||||
<Trans i18nKey='donate.if-support-further'>
|
<Trans i18nKey='donate.if-support-further'>
|
||||||
<a href={t('links:donate.one-time-external-url')}>placeholder</a>
|
<a href={t('links:donate.one-time-external-url')}>placeholder</a>
|
||||||
<a href={t('links:donate.mail-check-url')}>placeholder</a>
|
<a href={t('links:donate.mail-check-url')}>placeholder</a>
|
||||||
<a data-cy='donate-link' href={t('links:donate.other-ways-url')}>
|
<a href={t('links:donate.other-ways-url')}>placeholder</a>
|
||||||
placeholder
|
|
||||||
</a>
|
|
||||||
</Trans>
|
</Trans>
|
||||||
</p>
|
</p>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@@ -97,7 +97,6 @@ function SelectionTabs({
|
|||||||
<button
|
<button
|
||||||
className='text-center confirm-donation-btn donate-btn-group'
|
className='text-center confirm-donation-btn donate-btn-group'
|
||||||
type='submit'
|
type='submit'
|
||||||
data-cy='donation-tier-selection-button'
|
|
||||||
onClick={() => setShowDonateForm(true)}
|
onClick={() => setShowDonateForm(true)}
|
||||||
>
|
>
|
||||||
{isAnimationEnabled
|
{isAnimationEnabled
|
||||||
|
|||||||
@@ -157,7 +157,6 @@ export default function StripeCardForm({
|
|||||||
<button
|
<button
|
||||||
className='confirm-donation-btn'
|
className='confirm-donation-btn'
|
||||||
disabled={!stripe || !elements || isSubmitting}
|
disabled={!stripe || !elements || isSubmitting}
|
||||||
data-cy='donation-confirmation-button'
|
|
||||||
type='submit'
|
type='submit'
|
||||||
>
|
>
|
||||||
{t('buttons.donate')}
|
{t('buttons.donate')}
|
||||||
|
|||||||
@@ -30,12 +30,7 @@ const ProjectModal = ({
|
|||||||
<SolutionViewer challengeFiles={challengeFiles} solution={solution} />
|
<SolutionViewer challengeFiles={challengeFiles} solution={solution} />
|
||||||
</Modal.Body>
|
</Modal.Body>
|
||||||
<Modal.Footer alignment='end'>
|
<Modal.Footer alignment='end'>
|
||||||
<Button
|
<Button onClick={handleSolutionModalHide}>{t('buttons.close')}</Button>
|
||||||
data-cy='solution-viewer-close-btn'
|
|
||||||
onClick={handleSolutionModalHide}
|
|
||||||
>
|
|
||||||
{t('buttons.close')}
|
|
||||||
</Button>
|
|
||||||
</Modal.Footer>
|
</Modal.Footer>
|
||||||
</Modal>
|
</Modal>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -32,11 +32,10 @@ const SearchBarOptimized = ({
|
|||||||
return (
|
return (
|
||||||
<div className='fcc_searchBar' data-testid='fcc_searchBar' ref={innerRef}>
|
<div className='fcc_searchBar' data-testid='fcc_searchBar' ref={innerRef}>
|
||||||
<div className='fcc_search_wrapper'>
|
<div className='fcc_search_wrapper'>
|
||||||
<div className='ais-SearchBox' data-cy='ais-SearchBox'>
|
<div className='ais-SearchBox'>
|
||||||
<form
|
<form
|
||||||
action=''
|
action=''
|
||||||
className='ais-SearchBox-form'
|
className='ais-SearchBox-form'
|
||||||
data-cy='ais-SearchBox-form'
|
|
||||||
onSubmit={onSubmit}
|
onSubmit={onSubmit}
|
||||||
role='search'
|
role='search'
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -63,11 +63,7 @@ const CustomHits = connectHits(
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='ais-Hits'>
|
<div className='ais-Hits'>
|
||||||
<ul
|
<ul className='ais-Hits-list' aria-label={t('search.result-list')}>
|
||||||
className='ais-Hits-list'
|
|
||||||
data-cy='ais-Hits-list'
|
|
||||||
aria-label={t('search.result-list')}
|
|
||||||
>
|
|
||||||
{allHits.map((hit: Hit, i: number) => (
|
{allHits.map((hit: Hit, i: number) => (
|
||||||
<li
|
<li
|
||||||
className={
|
className={
|
||||||
|
|||||||
@@ -188,7 +188,6 @@ function EmailSettings({
|
|||||||
<FullWidthRow>
|
<FullWidthRow>
|
||||||
<form
|
<form
|
||||||
id='form-update-email'
|
id='form-update-email'
|
||||||
data-cy='form-update-email'
|
|
||||||
{...(!isDisabled
|
{...(!isDisabled
|
||||||
? { onSubmit: handleSubmit }
|
? { onSubmit: handleSubmit }
|
||||||
: { onSubmit: e => e.preventDefault() })}
|
: { onSubmit: e => e.preventDefault() })}
|
||||||
@@ -206,7 +205,6 @@ function EmailSettings({
|
|||||||
{t('settings.email.new')}
|
{t('settings.email.new')}
|
||||||
</ControlLabel>
|
</ControlLabel>
|
||||||
<FormControl
|
<FormControl
|
||||||
data-cy='email-input'
|
|
||||||
onChange={createHandleEmailFormChange('newEmail')}
|
onChange={createHandleEmailFormChange('newEmail')}
|
||||||
type='email'
|
type='email'
|
||||||
value={newEmail}
|
value={newEmail}
|
||||||
@@ -226,7 +224,6 @@ function EmailSettings({
|
|||||||
{t('settings.email.confirm')}
|
{t('settings.email.confirm')}
|
||||||
</ControlLabel>
|
</ControlLabel>
|
||||||
<FormControl
|
<FormControl
|
||||||
data-cy='confirm-email'
|
|
||||||
onChange={createHandleEmailFormChange('confirmNewEmail')}
|
onChange={createHandleEmailFormChange('confirmNewEmail')}
|
||||||
type='email'
|
type='email'
|
||||||
value={confirmNewEmail}
|
value={confirmNewEmail}
|
||||||
|
|||||||
@@ -385,7 +385,6 @@ class PortfolioSettings extends Component<PortfolioProps, PortfolioState> {
|
|||||||
<p>{t('settings.share-projects')}</p>
|
<p>{t('settings.share-projects')}</p>
|
||||||
<Spacer size='small' />
|
<Spacer size='small' />
|
||||||
<Button
|
<Button
|
||||||
data-cy='add-portfolio'
|
|
||||||
block={true}
|
block={true}
|
||||||
size='large'
|
size='large'
|
||||||
variant='primary'
|
variant='primary'
|
||||||
|
|||||||
@@ -147,7 +147,6 @@ function PrivacySettings({ submitProfileUI, user }: PrivacyProps): JSX.Element {
|
|||||||
type='submit'
|
type='submit'
|
||||||
size='large'
|
size='large'
|
||||||
variant='primary'
|
variant='primary'
|
||||||
data-cy='save-privacy-settings'
|
|
||||||
block={true}
|
block={true}
|
||||||
disabled={!madeChanges}
|
disabled={!madeChanges}
|
||||||
{...(!madeChanges && { tabIndex: -1 })}
|
{...(!madeChanges && { tabIndex: -1 })}
|
||||||
|
|||||||
@@ -198,11 +198,7 @@ class UsernameSettings extends Component<UsernameProps, UsernameState> {
|
|||||||
const isDisabled =
|
const isDisabled =
|
||||||
!(isValidUsername && valid && !isFormPristine) || submitClicked;
|
!(isValidUsername && valid && !isFormPristine) || submitClicked;
|
||||||
return (
|
return (
|
||||||
<form
|
<form id='usernameSettings' onSubmit={this.handleSubmit}>
|
||||||
id='usernameSettings'
|
|
||||||
onSubmit={this.handleSubmit}
|
|
||||||
data-cy='username-form'
|
|
||||||
>
|
|
||||||
<FullWidthRow>
|
<FullWidthRow>
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<ControlLabel htmlFor='username-settings'>
|
<ControlLabel htmlFor='username-settings'>
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ function AcceptPrivacyTerms({
|
|||||||
<hr />
|
<hr />
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
<Row className='email-sign-up' data-cy='email-sign-up'>
|
<Row className='email-sign-up'>
|
||||||
<Col md={8} mdOffset={2} sm={10} smOffset={1} xs={12}>
|
<Col md={8} mdOffset={2} sm={10} smOffset={1} xs={12}>
|
||||||
<Spacer size='small' />
|
<Spacer size='small' />
|
||||||
<p>{t('misc.email-blast')}</p>
|
<p>{t('misc.email-blast')}</p>
|
||||||
|
|||||||
@@ -50,7 +50,6 @@ class EditorTabs extends Component<EditorTabsProps> {
|
|||||||
visibleEditors[challengeFile.fileKey] ?? 'false'
|
visibleEditors[challengeFile.fileKey] ?? 'false'
|
||||||
}
|
}
|
||||||
key={challengeFile.fileKey}
|
key={challengeFile.fileKey}
|
||||||
data-cy={`editor-tab-${challengeFile.fileKey}`}
|
|
||||||
onClick={() => toggleVisibleEditor(challengeFile.fileKey)}
|
onClick={() => toggleVisibleEditor(challengeFile.fileKey)}
|
||||||
>
|
>
|
||||||
{`${challengeFile.name}.${challengeFile.ext}`}{' '}
|
{`${challengeFile.name}.${challengeFile.ext}`}{' '}
|
||||||
|
|||||||
@@ -100,7 +100,6 @@ const LowerButtonsPanel = ({
|
|||||||
<Button
|
<Button
|
||||||
data-playwright-test-label='lowerJaw-reset-button'
|
data-playwright-test-label='lowerJaw-reset-button'
|
||||||
className='fade-in'
|
className='fade-in'
|
||||||
data-cy='reset-code-button'
|
|
||||||
onClick={resetButtonEvent}
|
onClick={resetButtonEvent}
|
||||||
>
|
>
|
||||||
<Reset />
|
<Reset />
|
||||||
@@ -112,7 +111,6 @@ const LowerButtonsPanel = ({
|
|||||||
<Button
|
<Button
|
||||||
className='fade-in'
|
className='fade-in'
|
||||||
id='get-help-button'
|
id='get-help-button'
|
||||||
data-cy='get-help-button'
|
|
||||||
onClick={helpButtonEvent}
|
onClick={helpButtonEvent}
|
||||||
>
|
>
|
||||||
<Help />
|
<Help />
|
||||||
@@ -133,7 +131,6 @@ const LowerJawTips = ({
|
|||||||
<>
|
<>
|
||||||
<div
|
<div
|
||||||
data-playwright-test-label='lowerJaw-failing-test-feedback'
|
data-playwright-test-label='lowerJaw-failing-test-feedback'
|
||||||
data-cy='failing-test-feedback'
|
|
||||||
className='test-status fade-in'
|
className='test-status fade-in'
|
||||||
aria-hidden={showFeedback}
|
aria-hidden={showFeedback}
|
||||||
>
|
>
|
||||||
@@ -302,7 +299,6 @@ const LowerJaw = ({
|
|||||||
{showSignInButton && (
|
{showSignInButton && (
|
||||||
<>
|
<>
|
||||||
<a
|
<a
|
||||||
data-cy='sign-in-button'
|
|
||||||
href={`${apiLocation}/signin`}
|
href={`${apiLocation}/signin`}
|
||||||
className='btn-cta btn btn-block'
|
className='btn-cta btn btn-block'
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
|||||||
@@ -126,7 +126,6 @@ const MultifileEditor = (props: MultifileEditorProps) => {
|
|||||||
} else {
|
} else {
|
||||||
return (
|
return (
|
||||||
<ReflexElement
|
<ReflexElement
|
||||||
data-cy={`editor-container-${key}`}
|
|
||||||
data-playwright-test-label={`editor-container-${key}`}
|
data-playwright-test-label={`editor-container-${key}`}
|
||||||
{...reflexProps}
|
{...reflexProps}
|
||||||
{...resizeProps}
|
{...resizeProps}
|
||||||
|
|||||||
@@ -216,7 +216,6 @@ class CompletionModal extends Component<
|
|||||||
size='large'
|
size='large'
|
||||||
variant='primary'
|
variant='primary'
|
||||||
disabled={isSubmitting}
|
disabled={isSubmitting}
|
||||||
data-cy='submit-challenge'
|
|
||||||
onClick={() => submitChallenge()}
|
onClick={() => submitChallenge()}
|
||||||
>
|
>
|
||||||
{buttonText}
|
{buttonText}
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ function Output({ defaultOutput, output }: OutputProps): JSX.Element {
|
|||||||
return (
|
return (
|
||||||
<pre
|
<pre
|
||||||
className='output-text'
|
className='output-text'
|
||||||
data-cy='output-text'
|
|
||||||
data-playwright-test-label='output-text'
|
data-playwright-test-label='output-text'
|
||||||
dangerouslySetInnerHTML={{ __html: message }}
|
dangerouslySetInnerHTML={{ __html: message }}
|
||||||
role='region'
|
role='region'
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ function ResetModal({ reset, close, isOpen }: ResetModalProps): JSX.Element {
|
|||||||
</Modal.Body>
|
</Modal.Body>
|
||||||
<Modal.Footer>
|
<Modal.Footer>
|
||||||
<Button
|
<Button
|
||||||
data-cy='reset-modal-confirm'
|
|
||||||
block={true}
|
block={true}
|
||||||
size='large'
|
size='large'
|
||||||
variant='danger'
|
variant='danger'
|
||||||
|
|||||||
@@ -82,12 +82,7 @@ function ToolPanel({
|
|||||||
challengeType === challengeTypes.multifilePythonCertProject) && (
|
challengeType === challengeTypes.multifilePythonCertProject) && (
|
||||||
<>
|
<>
|
||||||
<Spacer size='xxSmall' />
|
<Spacer size='xxSmall' />
|
||||||
<Button
|
<Button block={true} variant='primary' onClick={saveChallenge}>
|
||||||
block={true}
|
|
||||||
variant='primary'
|
|
||||||
data-cy='save-code-to-database-btn'
|
|
||||||
onClick={saveChallenge}
|
|
||||||
>
|
|
||||||
{isMobile ? t('buttons.save') : t('buttons.save-code')}
|
{isMobile ? t('buttons.save') : t('buttons.save-code')}
|
||||||
</Button>
|
</Button>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@@ -109,7 +109,6 @@ ${t('learn.exam.time', { t: formatSecondsToTime(examTimeInSeconds) })}
|
|||||||
<Button
|
<Button
|
||||||
block={true}
|
block={true}
|
||||||
variant='primary'
|
variant='primary'
|
||||||
data-cy='exit-exam'
|
|
||||||
data-playwright-test-label='exit-exam'
|
data-playwright-test-label='exit-exam'
|
||||||
onClick={exitExam}
|
onClick={exitExam}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -55,21 +55,11 @@ function ExitExamModal({
|
|||||||
<div className='text-center'>{t('learn.exam.exit')}</div>
|
<div className='text-center'>{t('learn.exam.exit')}</div>
|
||||||
</Modal.Body>
|
</Modal.Body>
|
||||||
<Modal.Footer>
|
<Modal.Footer>
|
||||||
<Button
|
<Button block={true} variant='primary' onClick={closeExitExamModal}>
|
||||||
data-cy='exit-exam-modal-deny'
|
|
||||||
block={true}
|
|
||||||
variant='primary'
|
|
||||||
onClick={closeExitExamModal}
|
|
||||||
>
|
|
||||||
{t('learn.exam.exit-no')}
|
{t('learn.exam.exit-no')}
|
||||||
</Button>
|
</Button>
|
||||||
<Spacer size='xxSmall' />
|
<Spacer size='xxSmall' />
|
||||||
<Button
|
<Button block={true} variant='danger' onClick={exitExam}>
|
||||||
data-cy='exit-exam-modal-confirm'
|
|
||||||
block={true}
|
|
||||||
variant='danger'
|
|
||||||
onClick={exitExam}
|
|
||||||
>
|
|
||||||
{t('learn.exam.exit-yes')}
|
{t('learn.exam.exit-yes')}
|
||||||
</Button>
|
</Button>
|
||||||
</Modal.Footer>
|
</Modal.Footer>
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ function FinishExamModal({
|
|||||||
</Modal.Body>
|
</Modal.Body>
|
||||||
<Modal.Footer>
|
<Modal.Footer>
|
||||||
<Button
|
<Button
|
||||||
data-cy='finish-exam-modal-confirm'
|
|
||||||
block={true}
|
block={true}
|
||||||
size='medium'
|
size='medium'
|
||||||
variant='primary'
|
variant='primary'
|
||||||
@@ -62,7 +61,6 @@ function FinishExamModal({
|
|||||||
</Button>
|
</Button>
|
||||||
<Spacer size='xxSmall' />
|
<Spacer size='xxSmall' />
|
||||||
<Button
|
<Button
|
||||||
data-cy='finish-exam-modal-deny'
|
|
||||||
block={true}
|
block={true}
|
||||||
size='medium'
|
size='medium'
|
||||||
variant='primary'
|
variant='primary'
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ function FoundationalCSharpSurveyAlert({
|
|||||||
<Button
|
<Button
|
||||||
block={true}
|
block={true}
|
||||||
variant='info'
|
variant='info'
|
||||||
data-cy='start-csharp-survey-btn'
|
|
||||||
onClick={openSurveyModal}
|
onClick={openSurveyModal}
|
||||||
type='button'
|
type='button'
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -168,7 +168,6 @@ function FoundationalCSharpSurvey({
|
|||||||
block={true}
|
block={true}
|
||||||
size='medium'
|
size='medium'
|
||||||
variant='primary'
|
variant='primary'
|
||||||
data-cy='submit-csharp-survey-btn'
|
|
||||||
disabled={cantSubmitSurvey || isProcessing}
|
disabled={cantSubmitSurvey || isProcessing}
|
||||||
onClick={createSurveyResults}
|
onClick={createSurveyResults}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -411,10 +411,7 @@ class ShowExam extends Component<ShowExamProps, ShowExamState> {
|
|||||||
{title}
|
{title}
|
||||||
</div>
|
</div>
|
||||||
<span>|</span>
|
<span>|</span>
|
||||||
<div
|
<div data-playwright-test-label='exam-show-question-time'>
|
||||||
data-cy='exam-time'
|
|
||||||
data-playwright-test-label='exam-show-question-time'
|
|
||||||
>
|
|
||||||
{t('learn.exam.time', {
|
{t('learn.exam.time', {
|
||||||
t: formatSecondsToTime(examTimeInSeconds)
|
t: formatSecondsToTime(examTimeInSeconds)
|
||||||
})}
|
})}
|
||||||
@@ -479,7 +476,6 @@ class ShowExam extends Component<ShowExamProps, ShowExamState> {
|
|||||||
className='exam-button'
|
className='exam-button'
|
||||||
disabled={currentQuestionIndex <= 0}
|
disabled={currentQuestionIndex <= 0}
|
||||||
variant='primary'
|
variant='primary'
|
||||||
data-cy='previous-exam-question-btn'
|
|
||||||
onClick={this.goToPreviousQuestion}
|
onClick={this.goToPreviousQuestion}
|
||||||
>
|
>
|
||||||
{t('buttons.previous-question')}
|
{t('buttons.previous-question')}
|
||||||
@@ -494,7 +490,6 @@ class ShowExam extends Component<ShowExamProps, ShowExamState> {
|
|||||||
}
|
}
|
||||||
className='exam-button'
|
className='exam-button'
|
||||||
variant='primary'
|
variant='primary'
|
||||||
data-cy='finish-exam-btn'
|
|
||||||
onClick={openFinishExamModal}
|
onClick={openFinishExamModal}
|
||||||
>
|
>
|
||||||
{t('buttons.finish-exam')}
|
{t('buttons.finish-exam')}
|
||||||
@@ -507,7 +502,6 @@ class ShowExam extends Component<ShowExamProps, ShowExamState> {
|
|||||||
}
|
}
|
||||||
className='exam-button'
|
className='exam-button'
|
||||||
variant='primary'
|
variant='primary'
|
||||||
data-cy='next-exam-question-btn'
|
|
||||||
onClick={this.goToNextQuestion}
|
onClick={this.goToNextQuestion}
|
||||||
>
|
>
|
||||||
{t('buttons.next-question')}
|
{t('buttons.next-question')}
|
||||||
@@ -522,7 +516,6 @@ class ShowExam extends Component<ShowExamProps, ShowExamState> {
|
|||||||
block={true}
|
block={true}
|
||||||
className='exam-button'
|
className='exam-button'
|
||||||
variant='primary'
|
variant='primary'
|
||||||
data-cy='exit-exam-btn'
|
|
||||||
onClick={openExitExamModal}
|
onClick={openExitExamModal}
|
||||||
>
|
>
|
||||||
{t('buttons.exit-exam')}
|
{t('buttons.exit-exam')}
|
||||||
@@ -555,7 +548,7 @@ class ShowExam extends Component<ShowExamProps, ShowExamState> {
|
|||||||
<Spacer size='medium' />
|
<Spacer size='medium' />
|
||||||
|
|
||||||
{qualifiedForExam ? (
|
{qualifiedForExam ? (
|
||||||
<Alert data-cy='qualified-for-exam-alert' variant='info'>
|
<Alert variant='info'>
|
||||||
<p>{t('learn.exam.qualified')}</p>
|
<p>{t('learn.exam.qualified')}</p>
|
||||||
</Alert>
|
</Alert>
|
||||||
) : (
|
) : (
|
||||||
@@ -576,7 +569,6 @@ class ShowExam extends Component<ShowExamProps, ShowExamState> {
|
|||||||
<Button
|
<Button
|
||||||
block={true}
|
block={true}
|
||||||
variant='primary'
|
variant='primary'
|
||||||
data-cy='start-exam-btn'
|
|
||||||
disabled={!qualifiedForExam}
|
disabled={!qualifiedForExam}
|
||||||
// `this.runExam` being an async callback is acceptable
|
// `this.runExam` being an async callback is acceptable
|
||||||
//eslint-disable-next-line @typescript-eslint/no-misused-promises
|
//eslint-disable-next-line @typescript-eslint/no-misused-promises
|
||||||
|
|||||||
@@ -251,7 +251,6 @@ class Block extends Component<BlockProps> {
|
|||||||
<button
|
<button
|
||||||
aria-expanded={isExpanded ? 'true' : 'false'}
|
aria-expanded={isExpanded ? 'true' : 'false'}
|
||||||
className='block-header'
|
className='block-header'
|
||||||
data-cy={challengesWithCompleted[0].block}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
this.handleBlockClick();
|
this.handleBlockClick();
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
const { spawn } = require('child_process');
|
|
||||||
|
|
||||||
const child = spawn('pnpm', ['run', 'cypress:install'], {
|
|
||||||
stdio: 'inherit'
|
|
||||||
});
|
|
||||||
|
|
||||||
child.on('close', code => {
|
|
||||||
if (code) {
|
|
||||||
console.error('Cypress installation failed with code:', code);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
child.on('error', error => {
|
|
||||||
console.error('Cypress installation error:', error);
|
|
||||||
});
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
InstallCypress() {
|
|
||||||
sudo apt-get update && sudo apt-get install -y \
|
|
||||||
libgtk2.0-0 \
|
|
||||||
libgtk-3-0 \
|
|
||||||
libgbm-dev \
|
|
||||||
libnotify-dev \
|
|
||||||
libgconf-2-4 \
|
|
||||||
libnss3 \
|
|
||||||
libxss1 \
|
|
||||||
libasound2 \
|
|
||||||
libxtst6 \
|
|
||||||
xauth \
|
|
||||||
xvfb
|
|
||||||
}
|
|
||||||
|
|
||||||
InstallPuppeteer() {
|
|
||||||
sudo apt-get install -y \
|
|
||||||
ca-certificates \
|
|
||||||
fonts-liberation \
|
|
||||||
libappindicator3-1 \
|
|
||||||
libatk-bridge2.0-0 \
|
|
||||||
libatk1.0-0 \
|
|
||||||
libc6 \
|
|
||||||
libcairo2 \
|
|
||||||
libcups2 \
|
|
||||||
libdbus-1-3 \
|
|
||||||
libexpat1 \
|
|
||||||
libfontconfig1 \
|
|
||||||
libgbm1 \
|
|
||||||
libgcc1 \
|
|
||||||
libglib2.0-0 \
|
|
||||||
libnspr4 \
|
|
||||||
libpango-1.0-0 \
|
|
||||||
libpangocairo-1.0-0 \
|
|
||||||
libstdc++6 \
|
|
||||||
libx11-6 \
|
|
||||||
libx11-xcb1 \
|
|
||||||
libxcb1 \
|
|
||||||
libxcomposite1 \
|
|
||||||
libxcursor1 \
|
|
||||||
libxdamage1 \
|
|
||||||
libxext6 \
|
|
||||||
libxfixes3 \
|
|
||||||
libxi6 \
|
|
||||||
libxrandr2 \
|
|
||||||
libxrender1 \
|
|
||||||
lsb-release \
|
|
||||||
wget \
|
|
||||||
xdg-utils
|
|
||||||
}
|
|
||||||
|
|
||||||
InstallCypress
|
|
||||||
InstallPuppeteer
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
const { execSync } = require('child_process');
|
|
||||||
const { existsSync } = require('fs');
|
|
||||||
const { defineConfig } = require('cypress');
|
|
||||||
|
|
||||||
function seed(args = []) {
|
|
||||||
return execSync('node tools/scripts/seed/seed-demo-user ' + args.join(' '));
|
|
||||||
}
|
|
||||||
|
|
||||||
function seedExams() {
|
|
||||||
return execSync('node tools/scripts/seed-exams/create-exams.js');
|
|
||||||
}
|
|
||||||
|
|
||||||
function seedSurveys() {
|
|
||||||
return execSync('node tools/scripts/seed/seed-surveys.js');
|
|
||||||
}
|
|
||||||
|
|
||||||
function deleteSurveys() {
|
|
||||||
return execSync('node tools/scripts/seed/seed-surveys.js delete-only');
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = defineConfig({
|
|
||||||
e2e: {
|
|
||||||
baseUrl: 'http://localhost:8000',
|
|
||||||
projectId: 'ke77ns',
|
|
||||||
retries: { openMode: 1, runMode: 4 },
|
|
||||||
chromeWebSecurity: false,
|
|
||||||
// This is the default spec pattern, that we use on /learn proper
|
|
||||||
//
|
|
||||||
// For special ones like the third- party or the mobile app specs,
|
|
||||||
// you can use the below command:
|
|
||||||
//
|
|
||||||
// pnpm run cypress:dev:run -- --spec "cypress/e2e/mobile-learn/**/*"
|
|
||||||
// pnpm run cypress:dev:run -- --spec "cypress/e2e/third-party/**/*"
|
|
||||||
//
|
|
||||||
// and so on.
|
|
||||||
//
|
|
||||||
specPattern: ['cypress/e2e/default/**/*.js', 'cypress/e2e/default/**/*.ts'],
|
|
||||||
|
|
||||||
// Temporary disable these until we can address the flakiness
|
|
||||||
excludeSpecPattern: ['cypress/e2e/**/challenge-hot-keys.ts'],
|
|
||||||
|
|
||||||
setupNodeEvents(on, config) {
|
|
||||||
config.env = config.env || {};
|
|
||||||
on('before:run', () => {
|
|
||||||
if (!existsSync('./shared/config/curriculum.json')) {
|
|
||||||
execSync('pnpm run build:curriculum');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
on('task', {
|
|
||||||
seed,
|
|
||||||
seedExams,
|
|
||||||
seedSurveys,
|
|
||||||
deleteSurveys
|
|
||||||
});
|
|
||||||
|
|
||||||
config.env.API_LOCATION = 'http://localhost:3000';
|
|
||||||
return config;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
const search = (query: string) => {
|
|
||||||
cy.get('.ais-SearchBox').within(() => {
|
|
||||||
cy.get('input').type(query);
|
|
||||||
});
|
|
||||||
|
|
||||||
cy.wait(300);
|
|
||||||
};
|
|
||||||
|
|
||||||
const clear = () => {
|
|
||||||
cy.get('.ais-SearchBox').within(() => {
|
|
||||||
cy.get('input').clear();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
describe('Search bar optimized', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
cy.visit('/');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Should render without hits', () => {
|
|
||||||
cy.get('[data-cy=ais-SearchBox]').should('be.visible');
|
|
||||||
|
|
||||||
search('freeCodeCamp');
|
|
||||||
cy.get('[data-cy=ais-Hits-list]').should('not.exist');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Should open a new tab ', () => {
|
|
||||||
cy.visit('/', {
|
|
||||||
onBeforeLoad(win) {
|
|
||||||
cy.stub(win, 'open').as('open');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
search('freeCodeCamp');
|
|
||||||
cy.get('[data-cy=ais-SearchBox-form]').submit();
|
|
||||||
const queryUrl =
|
|
||||||
'https://www.freecodecamp.org/news/search/?query=freeCodeCamp';
|
|
||||||
cy.get('@open').should('have.been.calledOnceWith', queryUrl);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('Search bar', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
cy.visit('/learn');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Should render with hits', () => {
|
|
||||||
cy.get('.ais-SearchBox').should('be.visible');
|
|
||||||
search('freeCodeCamp');
|
|
||||||
|
|
||||||
cy.get('[data-cy=ais-Hits-list]')
|
|
||||||
.children()
|
|
||||||
.should('to.have.length.of.at.least', 1);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Should clear hits when input is cleared', () => {
|
|
||||||
search('freeCodeCamp');
|
|
||||||
|
|
||||||
cy.get('[data-cy=ais-Hits-list]')
|
|
||||||
.children()
|
|
||||||
.should('to.have.length.of.at.least', 1);
|
|
||||||
|
|
||||||
clear();
|
|
||||||
|
|
||||||
cy.get('div.ais-Hits').should('not.exist');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Should show up to 8 hits when height >= 768px', () => {
|
|
||||||
cy.viewport(1300, 768);
|
|
||||||
|
|
||||||
search('freeCodeCamp');
|
|
||||||
|
|
||||||
cy.get('[data-cy=ais-Hits-list]').children().should('to.have.length.of', 8);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Should show up to 5 hits when height < 768px', () => {
|
|
||||||
cy.viewport(1300, 767);
|
|
||||||
|
|
||||||
search('freeCodeCamp');
|
|
||||||
|
|
||||||
cy.get('[data-cy=ais-Hits-list]').children().should('to.have.length.of', 5);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Should show no hits for queries that do not exist in the Algolia index', () => {
|
|
||||||
search('testtttt');
|
|
||||||
|
|
||||||
cy.get('[data-cy=ais-Hits-list]').children().should('to.have.length.of', 0);
|
|
||||||
|
|
||||||
cy.contains('No tutorials found');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Should not redirect to the News search page if there are no hits', () => {
|
|
||||||
search('testtttt');
|
|
||||||
|
|
||||||
cy.get('.ais-SearchBox-form').submit();
|
|
||||||
|
|
||||||
cy.location().should(loc => {
|
|
||||||
expect(loc.pathname).to.match(/^\/learn/);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "Using fixtures to represent data",
|
|
||||||
"email": "hello@cypress.io",
|
|
||||||
"body": "Fixtures are a great way to mock data for responses to routes"
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
// ***********************************************************
|
|
||||||
// This example plugins/index.js can be used to load plugins
|
|
||||||
//
|
|
||||||
// You can change the location of this file or turn off loading
|
|
||||||
// the plugins file with the 'pluginsFile' configuration option.
|
|
||||||
//
|
|
||||||
// You can read more here:
|
|
||||||
// https://on.cypress.io/plugins-guide
|
|
||||||
// ***********************************************************
|
|
||||||
|
|
||||||
// This function is called when a project is opened or re-opened (e.g. due to
|
|
||||||
// the project's config changing)
|
|
||||||
/* eslint-disable no-unused-vars */
|
|
||||||
|
|
||||||
const { execSync } = require('child_process');
|
|
||||||
const { existsSync } = require('fs');
|
|
||||||
require('dotenv').config();
|
|
||||||
|
|
||||||
module.exports = (on, config) => {
|
|
||||||
// `on` is used to hook into various events Cypress emits
|
|
||||||
// `config` is the resolved Cypress config
|
|
||||||
config.env = config.env || {};
|
|
||||||
// TODO: once we've containerized the API, we can remove this.
|
|
||||||
on('before:run', () => {
|
|
||||||
if (!existsSync('../../shared/config/curriculum.json')) {
|
|
||||||
execSync('pnpm run build:curriculum');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
config.env.API_LOCATION = process.env.API_LOCATION;
|
|
||||||
return config;
|
|
||||||
};
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
const login = (user?: string) => {
|
|
||||||
cy.session(
|
|
||||||
user ?? 'new-user',
|
|
||||||
() => {
|
|
||||||
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
||||||
cy.visit(`${Cypress.env('API_LOCATION')}/signin`);
|
|
||||||
cy.url().should('include', '/learn');
|
|
||||||
cy.contains('Welcome back');
|
|
||||||
},
|
|
||||||
{
|
|
||||||
validate() {
|
|
||||||
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
||||||
cy.request(`${Cypress.env('API_LOCATION')}/user/get-session-user`)
|
|
||||||
.its('status')
|
|
||||||
.should('eq', 200);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const setPrivacyTogglesToPublic = () => {
|
|
||||||
cy.get('#privacy-settings')
|
|
||||||
.find('[type=radio][value=2]')
|
|
||||||
.each(element => {
|
|
||||||
cy.wrap(element).parent().click();
|
|
||||||
cy.wrap(element).should('be.checked');
|
|
||||||
});
|
|
||||||
cy.get('[data-cy=save-privacy-settings]').click();
|
|
||||||
cy.get('#honesty-policy').find('button').click();
|
|
||||||
cy.contains('You have agreed to our Academic Honesty Policy');
|
|
||||||
};
|
|
||||||
|
|
||||||
const goToSettings = () => {
|
|
||||||
cy.visit('/settings');
|
|
||||||
|
|
||||||
// Setting aliases here
|
|
||||||
cy.get('[data-cy=username-input]').as('usernameInput');
|
|
||||||
cy.get('[data-cy=username-form]').as('usernameForm');
|
|
||||||
};
|
|
||||||
|
|
||||||
const typeUsername = (username: string) => {
|
|
||||||
cy.get('@usernameInput')
|
|
||||||
.clear({ force: true })
|
|
||||||
.type(username, { force: true });
|
|
||||||
};
|
|
||||||
|
|
||||||
const resetUsername = () => {
|
|
||||||
cy.goToSettings();
|
|
||||||
|
|
||||||
cy.typeUsername('developmentuser');
|
|
||||||
|
|
||||||
cy.contains('Username is available');
|
|
||||||
|
|
||||||
cy.get('@usernameInput').type('{enter}', { force: true, release: false });
|
|
||||||
|
|
||||||
cy.contains('Account Settings for developmentuser').should('be.visible');
|
|
||||||
};
|
|
||||||
|
|
||||||
Cypress.Commands.add('login', login);
|
|
||||||
|
|
||||||
Cypress.Commands.add('setPrivacyTogglesToPublic', setPrivacyTogglesToPublic);
|
|
||||||
|
|
||||||
Cypress.Commands.add('goToSettings', goToSettings);
|
|
||||||
|
|
||||||
Cypress.Commands.add('typeUsername', typeUsername);
|
|
||||||
|
|
||||||
Cypress.Commands.add('resetUsername', resetUsername);
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
||||||
declare namespace Cypress {
|
|
||||||
interface Chainable {
|
|
||||||
login: typeof login;
|
|
||||||
setPrivacyTogglesToPublic: typeof setPrivacyTogglesToPublic;
|
|
||||||
goToSettings: typeof goToSettings;
|
|
||||||
typeUsername(username: string): Chainable<JQuery<HTMLElement>>;
|
|
||||||
resetUsername: typeof resetUsername;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
// ***********************************************************
|
|
||||||
// This example support/index.js is processed and
|
|
||||||
// loaded automatically before your test files.
|
|
||||||
//
|
|
||||||
// This is a great place to put global configuration and
|
|
||||||
// behavior that modifies Cypress.
|
|
||||||
//
|
|
||||||
// You can change the location of this file or turn off
|
|
||||||
// automatically serving support files with the
|
|
||||||
// 'supportFile' configuration option.
|
|
||||||
//
|
|
||||||
// You can read more here:
|
|
||||||
// https://on.cypress.io/configuration
|
|
||||||
// ***********************************************************
|
|
||||||
import 'cypress-plugin-stripe-elements';
|
|
||||||
import 'cypress-plugin-tab';
|
|
||||||
|
|
||||||
// Import commands.js using ES2015 syntax:
|
|
||||||
import './commands';
|
|
||||||
|
|
||||||
// Alternatively you can use CommonJS syntax:
|
|
||||||
// require('./commands')
|
|
||||||
|
|
||||||
Cypress.on('uncaught:exception', err => {
|
|
||||||
console.log('Cypress detected uncaught exception', err.name);
|
|
||||||
// Rapidly cy.visiting pages seems to cause uncaught exceptions. It remains
|
|
||||||
// unclear why this is happening, but we need to ignore them in testing so
|
|
||||||
// that we can test other behavior.
|
|
||||||
if (
|
|
||||||
err.name === 'NS_ERROR_UNEXPECTED' ||
|
|
||||||
err.name === 'ChunkLoadError' ||
|
|
||||||
// paypal sdk error
|
|
||||||
(err.name === 'TypeError' &&
|
|
||||||
err.message.includes('removeEventListener is not a function'))
|
|
||||||
) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
// We are still interested in other errors.
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
export const selectors = {
|
|
||||||
class: {
|
|
||||||
reactMonacoEditor: '.react-monaco-editor-container'
|
|
||||||
},
|
|
||||||
id: {},
|
|
||||||
dataCy: { outputText: '[data-cy="output-text"]' },
|
|
||||||
tag: {
|
|
||||||
inputSolution: 'input[name="solution"]'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"target": "es5",
|
|
||||||
"lib": ["es5", "dom", "ES2017"],
|
|
||||||
"types": ["cypress", "@testing-library/cypress"]
|
|
||||||
},
|
|
||||||
"include": ["e2e/**/*.ts", "support/**/*.ts"],
|
|
||||||
"extends": "../tsconfig-base.json"
|
|
||||||
}
|
|
||||||
+1
-10
@@ -7,16 +7,7 @@
|
|||||||
"workspaces": {
|
"workspaces": {
|
||||||
".": {
|
".": {
|
||||||
// No custom entry/project files in root workspace to not interfere with workspaces that are not set up yet
|
// No custom entry/project files in root workspace to not interfere with workspaces that are not set up yet
|
||||||
"entry": [],
|
"entry": []
|
||||||
"cypress": {
|
|
||||||
// Override all Cypress entry patterns as (only) spec paths don't match the default
|
|
||||||
"entry": [
|
|
||||||
"cypress.config.js",
|
|
||||||
"cypress/e2e/**/*.{js,ts}",
|
|
||||||
"cypress/support/*.ts",
|
|
||||||
"cypress/plugins/index.js"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"client": {
|
"client": {
|
||||||
"webpack": "webpack-workers.js",
|
"webpack": "webpack-workers.js",
|
||||||
|
|||||||
+1
-17
@@ -38,21 +38,10 @@
|
|||||||
"clean:packages": "find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +",
|
"clean:packages": "find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +",
|
||||||
"clean:server": "rm -rf ./api-server/lib",
|
"clean:server": "rm -rf ./api-server/lib",
|
||||||
"create:shared": "tsc -p shared",
|
"create:shared": "tsc -p shared",
|
||||||
"precypress": "node ./cypress-install.js",
|
|
||||||
"cypress": "cypress",
|
|
||||||
"cypress:dev:run": "pnpm run cypress run",
|
|
||||||
"cypress:dev:watch": "pnpm run cypress open",
|
|
||||||
"cypress:install": "cypress install && echo 'for use with ./cypress-install.js'",
|
|
||||||
"cypress:install-build-tools": "sh ./cypress-install.sh",
|
|
||||||
"predevelop": "npm-run-all -p create:shared -s build:curriculum",
|
"predevelop": "npm-run-all -p create:shared -s build:curriculum",
|
||||||
"develop": "npm-run-all -p develop:*",
|
"develop": "npm-run-all -p develop:*",
|
||||||
"develop:client": "cd ./client && pnpm run develop",
|
"develop:client": "cd ./client && pnpm run develop",
|
||||||
"develop:server": "cd ./api-server && pnpm run develop",
|
"develop:server": "cd ./api-server && pnpm run develop",
|
||||||
"e2e": "pnpm run e2e:dev:run",
|
|
||||||
"e2e:dev:run": "start-test develop 'http://localhost:3000/status/ping|http://localhost:8000' cypress:dev:run",
|
|
||||||
"e2e:dev:watch": "start-test develop 'http://localhost:3000/status/ping|http://localhost:8000' cypress:dev:watch",
|
|
||||||
"e2e:prd:run": "pnpm run build && start-test 'http://localhost:3000/status/ping|http://localhost:8000' cypress:dev:run",
|
|
||||||
"e2e:prd:watch": "pnpm run build && start-test 'http://localhost:3000/status/ping|http://localhost:8000' cypress:dev:watch",
|
|
||||||
"format": "run-s format:eslint format:prettier",
|
"format": "run-s format:eslint format:prettier",
|
||||||
"format:eslint": "eslint . --fix",
|
"format:eslint": "eslint . --fix",
|
||||||
"format:prettier": "prettier --write .",
|
"format:prettier": "prettier --write .",
|
||||||
@@ -90,7 +79,6 @@
|
|||||||
"test-server": "jest api-server",
|
"test-server": "jest api-server",
|
||||||
"test-tools": "jest tools",
|
"test-tools": "jest tools",
|
||||||
"test-utils": "jest utils",
|
"test-utils": "jest utils",
|
||||||
"postinstall": "cypress cache prune",
|
|
||||||
"prepare": "husky",
|
"prepare": "husky",
|
||||||
"playwright:run": "playwright test",
|
"playwright:run": "playwright test",
|
||||||
"playwright:watch": "playwright test --ui"
|
"playwright:watch": "playwright test --ui"
|
||||||
@@ -104,8 +92,7 @@
|
|||||||
"@babel/preset-env": "7.23.7",
|
"@babel/preset-env": "7.23.7",
|
||||||
"@babel/preset-react": "7.23.3",
|
"@babel/preset-react": "7.23.3",
|
||||||
"@babel/preset-typescript": "7.23.3",
|
"@babel/preset-typescript": "7.23.3",
|
||||||
"@playwright/test": "1.44.0",
|
"@playwright/test": "^1.43.1",
|
||||||
"@testing-library/cypress": "10.0.1",
|
|
||||||
"@testing-library/dom": "9.3.4",
|
"@testing-library/dom": "9.3.4",
|
||||||
"@testing-library/jest-dom": "6.4.2",
|
"@testing-library/jest-dom": "6.4.2",
|
||||||
"@testing-library/user-event": "14.5.2",
|
"@testing-library/user-event": "14.5.2",
|
||||||
@@ -118,9 +105,6 @@
|
|||||||
"babel-jest": "29.7.0",
|
"babel-jest": "29.7.0",
|
||||||
"babel-plugin-transform-imports": "2.0.0",
|
"babel-plugin-transform-imports": "2.0.0",
|
||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"cypress": "12.17.4",
|
|
||||||
"cypress-plugin-stripe-elements": "1.0.2",
|
|
||||||
"cypress-plugin-tab": "1.0.5",
|
|
||||||
"eslint": "8.57.0",
|
"eslint": "8.57.0",
|
||||||
"eslint-config-prettier": "9.1.0",
|
"eslint-config-prettier": "9.1.0",
|
||||||
"eslint-import-resolver-typescript": "^3.5.5",
|
"eslint-import-resolver-typescript": "^3.5.5",
|
||||||
|
|||||||
Generated
+27
-333
@@ -28,11 +28,8 @@ importers:
|
|||||||
specifier: 7.23.3
|
specifier: 7.23.3
|
||||||
version: 7.23.3(@babel/core@7.23.7)
|
version: 7.23.3(@babel/core@7.23.7)
|
||||||
'@playwright/test':
|
'@playwright/test':
|
||||||
specifier: 1.44.0
|
specifier: ^1.43.1
|
||||||
version: 1.44.0
|
version: 1.44.0
|
||||||
'@testing-library/cypress':
|
|
||||||
specifier: 10.0.1
|
|
||||||
version: 10.0.1(cypress@12.17.4)
|
|
||||||
'@testing-library/dom':
|
'@testing-library/dom':
|
||||||
specifier: 9.3.4
|
specifier: 9.3.4
|
||||||
version: 9.3.4
|
version: 9.3.4
|
||||||
@@ -69,15 +66,6 @@ importers:
|
|||||||
cross-env:
|
cross-env:
|
||||||
specifier: 7.0.3
|
specifier: 7.0.3
|
||||||
version: 7.0.3
|
version: 7.0.3
|
||||||
cypress:
|
|
||||||
specifier: 12.17.4
|
|
||||||
version: 12.17.4
|
|
||||||
cypress-plugin-stripe-elements:
|
|
||||||
specifier: 1.0.2
|
|
||||||
version: 1.0.2
|
|
||||||
cypress-plugin-tab:
|
|
||||||
specifier: 1.0.5
|
|
||||||
version: 1.0.5
|
|
||||||
eslint:
|
eslint:
|
||||||
specifier: 8.57.0
|
specifier: 8.57.0
|
||||||
version: 8.57.0
|
version: 8.57.0
|
||||||
@@ -1356,6 +1344,9 @@ importers:
|
|||||||
'@total-typescript/ts-reset':
|
'@total-typescript/ts-reset':
|
||||||
specifier: ^0.5.0
|
specifier: ^0.5.0
|
||||||
version: 0.5.1
|
version: 0.5.1
|
||||||
|
'@types/chai':
|
||||||
|
specifier: ^4.3.16
|
||||||
|
version: 4.3.16
|
||||||
chai:
|
chai:
|
||||||
specifier: 4.4.1
|
specifier: 4.4.1
|
||||||
version: 4.4.1
|
version: 4.4.1
|
||||||
@@ -2814,10 +2805,6 @@ packages:
|
|||||||
'@bcoe/v8-coverage@0.2.3':
|
'@bcoe/v8-coverage@0.2.3':
|
||||||
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
|
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
|
||||||
|
|
||||||
'@colors/colors@1.5.0':
|
|
||||||
resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
|
|
||||||
engines: {node: '>=0.1.90'}
|
|
||||||
|
|
||||||
'@compodoc/live-server@1.2.3':
|
'@compodoc/live-server@1.2.3':
|
||||||
resolution: {integrity: sha512-hDmntVCyjjaxuJzPzBx68orNZ7TW4BtHWMnXlIVn5dqhK7vuFF/11hspO1cMmc+2QTYgqde1TBcb3127S7Zrow==}
|
resolution: {integrity: sha512-hDmntVCyjjaxuJzPzBx68orNZ7TW4BtHWMnXlIVn5dqhK7vuFF/11hspO1cMmc+2QTYgqde1TBcb3127S7Zrow==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@@ -2827,13 +2814,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
|
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
'@cypress/request@2.88.12':
|
|
||||||
resolution: {integrity: sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==}
|
|
||||||
engines: {node: '>= 6'}
|
|
||||||
|
|
||||||
'@cypress/xvfb@1.2.4':
|
|
||||||
resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==}
|
|
||||||
|
|
||||||
'@discoveryjs/json-ext@0.5.7':
|
'@discoveryjs/json-ext@0.5.7':
|
||||||
resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
|
resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
|
||||||
engines: {node: '>=10.0.0'}
|
engines: {node: '>=10.0.0'}
|
||||||
@@ -3957,12 +3937,6 @@ packages:
|
|||||||
'@tanstack/virtual-core@3.0.0':
|
'@tanstack/virtual-core@3.0.0':
|
||||||
resolution: {integrity: sha512-SYXOBTjJb05rXa2vl55TTwO40A6wKu0R5i1qQwhJYNDIqaIGF7D0HsLw+pJAyi2OvntlEIVusx3xtbbgSUi6zg==}
|
resolution: {integrity: sha512-SYXOBTjJb05rXa2vl55TTwO40A6wKu0R5i1qQwhJYNDIqaIGF7D0HsLw+pJAyi2OvntlEIVusx3xtbbgSUi6zg==}
|
||||||
|
|
||||||
'@testing-library/cypress@10.0.1':
|
|
||||||
resolution: {integrity: sha512-e8uswjTZIBhaIXjzEcrQQ8nHRWHgZH7XBxKuIWxZ/T7FxfWhCR48nFhUX5nfPizjVOKSThEfOSv67jquc1ASkw==}
|
|
||||||
engines: {node: '>=12', npm: '>=6'}
|
|
||||||
peerDependencies:
|
|
||||||
cypress: ^12.0.0 || ^13.0.0
|
|
||||||
|
|
||||||
'@testing-library/dom@8.20.1':
|
'@testing-library/dom@8.20.1':
|
||||||
resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==}
|
resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
@@ -4083,6 +4057,9 @@ packages:
|
|||||||
'@types/chai@4.3.12':
|
'@types/chai@4.3.12':
|
||||||
resolution: {integrity: sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==}
|
resolution: {integrity: sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==}
|
||||||
|
|
||||||
|
'@types/chai@4.3.16':
|
||||||
|
resolution: {integrity: sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==}
|
||||||
|
|
||||||
'@types/cheerio@0.22.35':
|
'@types/cheerio@0.22.35':
|
||||||
resolution: {integrity: sha512-yD57BchKRvTV+JD53UZ6PD8KWY5g5rvvMLRnZR3EQBCZXiDT/HR+pKpMzFGlWNhFrXlo7VPZXtKvIEwZkAWOIA==}
|
resolution: {integrity: sha512-yD57BchKRvTV+JD53UZ6PD8KWY5g5rvvMLRnZR3EQBCZXiDT/HR+pKpMzFGlWNhFrXlo7VPZXtKvIEwZkAWOIA==}
|
||||||
|
|
||||||
@@ -4275,9 +4252,6 @@ packages:
|
|||||||
'@types/node@14.18.63':
|
'@types/node@14.18.63':
|
||||||
resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==}
|
resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==}
|
||||||
|
|
||||||
'@types/node@16.18.55':
|
|
||||||
resolution: {integrity: sha512-Y1zz/LIuJek01+hlPNzzXQhmq/Z2BCP96j18MSXC0S0jSu/IG4FFxmBs7W4/lI2vPJ7foVfEB0hUVtnOjnCiTg==}
|
|
||||||
|
|
||||||
'@types/node@20.11.20':
|
'@types/node@20.11.20':
|
||||||
resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==}
|
resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==}
|
||||||
|
|
||||||
@@ -4383,9 +4357,6 @@ packages:
|
|||||||
'@types/serve-static@1.15.3':
|
'@types/serve-static@1.15.3':
|
||||||
resolution: {integrity: sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==}
|
resolution: {integrity: sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==}
|
||||||
|
|
||||||
'@types/sinonjs__fake-timers@8.1.1':
|
|
||||||
resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==}
|
|
||||||
|
|
||||||
'@types/sizzle@2.3.4':
|
'@types/sizzle@2.3.4':
|
||||||
resolution: {integrity: sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag==}
|
resolution: {integrity: sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag==}
|
||||||
|
|
||||||
@@ -4827,9 +4798,6 @@ packages:
|
|||||||
algoliasearch@4.22.1:
|
algoliasearch@4.22.1:
|
||||||
resolution: {integrity: sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==}
|
resolution: {integrity: sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==}
|
||||||
|
|
||||||
ally.js@1.4.1:
|
|
||||||
resolution: {integrity: sha512-ZewdfuwP6VewtMN36QY0gmiyvBfMnmEaNwbVu2nTS6zRt069viTgkYgaDiqu6vRJ1VJCriNqV0jGMu44R8zNbA==}
|
|
||||||
|
|
||||||
anser@2.1.1:
|
anser@2.1.1:
|
||||||
resolution: {integrity: sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ==}
|
resolution: {integrity: sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ==}
|
||||||
|
|
||||||
@@ -5068,10 +5036,6 @@ packages:
|
|||||||
asynckit@0.4.0:
|
asynckit@0.4.0:
|
||||||
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
|
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
|
||||||
|
|
||||||
at-least-node@1.0.0:
|
|
||||||
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
|
|
||||||
engines: {node: '>= 4.0.0'}
|
|
||||||
|
|
||||||
atob@2.1.2:
|
atob@2.1.2:
|
||||||
resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
|
resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
|
||||||
engines: {node: '>= 4.5.0'}
|
engines: {node: '>= 4.5.0'}
|
||||||
@@ -5590,9 +5554,6 @@ packages:
|
|||||||
bl@4.1.0:
|
bl@4.1.0:
|
||||||
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
|
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
|
||||||
|
|
||||||
blob-util@2.0.2:
|
|
||||||
resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==}
|
|
||||||
|
|
||||||
bluebird@3.7.2:
|
bluebird@3.7.2:
|
||||||
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
|
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
|
||||||
|
|
||||||
@@ -5808,10 +5769,6 @@ packages:
|
|||||||
cached-path-relative@1.1.0:
|
cached-path-relative@1.1.0:
|
||||||
resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==}
|
resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==}
|
||||||
|
|
||||||
cachedir@2.4.0:
|
|
||||||
resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==}
|
|
||||||
engines: {node: '>=6'}
|
|
||||||
|
|
||||||
call-bind@1.0.7:
|
call-bind@1.0.7:
|
||||||
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
|
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@@ -5984,10 +5941,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==}
|
resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
cli-table3@0.6.3:
|
|
||||||
resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==}
|
|
||||||
engines: {node: 10.* || >= 12.*}
|
|
||||||
|
|
||||||
cli-truncate@2.1.0:
|
cli-truncate@2.1.0:
|
||||||
resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
|
resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@@ -6098,10 +6051,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
|
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
|
||||||
commander@6.2.1:
|
|
||||||
resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
|
|
||||||
engines: {node: '>= 6'}
|
|
||||||
|
|
||||||
commander@7.2.0:
|
commander@7.2.0:
|
||||||
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
|
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
@@ -6465,17 +6414,6 @@ packages:
|
|||||||
engines: {node: '>= 0.8.0'}
|
engines: {node: '>= 0.8.0'}
|
||||||
deprecated: Please use another csrf package
|
deprecated: Please use another csrf package
|
||||||
|
|
||||||
cypress-plugin-stripe-elements@1.0.2:
|
|
||||||
resolution: {integrity: sha512-tNXZ9BHooO8IGGmOpVRhNfGde/vmPY4D56pi4VHw1EWbfSuwCoveeqqjKDeRfPzMTD5gGYGwXdX2qO1S9O9GEg==}
|
|
||||||
|
|
||||||
cypress-plugin-tab@1.0.5:
|
|
||||||
resolution: {integrity: sha512-QtTJcifOVwwbeMP3hsOzQOKf3EqKsLyjtg9ZAGlYDntrCRXrsQhe4ZQGIthRMRLKpnP6/tTk6G0gJ2sZUfRliQ==}
|
|
||||||
|
|
||||||
cypress@12.17.4:
|
|
||||||
resolution: {integrity: sha512-gAN8Pmns9MA5eCDFSDJXWKUpaL3IDd89N9TtIupjYnzLSmlpVr+ZR+vb4U/qaMp+lB6tBvAmt7504c3Z4RU5KQ==}
|
|
||||||
engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
d@1.0.1:
|
d@1.0.1:
|
||||||
resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
|
resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
|
||||||
|
|
||||||
@@ -6513,9 +6451,6 @@ packages:
|
|||||||
dateformat@4.6.3:
|
dateformat@4.6.3:
|
||||||
resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==}
|
resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==}
|
||||||
|
|
||||||
dayjs@1.11.10:
|
|
||||||
resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
|
|
||||||
|
|
||||||
debounce@1.2.1:
|
debounce@1.2.1:
|
||||||
resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
|
resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
|
||||||
|
|
||||||
@@ -7360,9 +7295,6 @@ packages:
|
|||||||
eventemitter2@5.0.1:
|
eventemitter2@5.0.1:
|
||||||
resolution: {integrity: sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg==}
|
resolution: {integrity: sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg==}
|
||||||
|
|
||||||
eventemitter2@6.4.7:
|
|
||||||
resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==}
|
|
||||||
|
|
||||||
eventemitter3@3.1.2:
|
eventemitter3@3.1.2:
|
||||||
resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==}
|
resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==}
|
||||||
|
|
||||||
@@ -7400,10 +7332,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==}
|
resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==}
|
||||||
engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0}
|
engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0}
|
||||||
|
|
||||||
executable@4.1.1:
|
|
||||||
resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==}
|
|
||||||
engines: {node: '>=4'}
|
|
||||||
|
|
||||||
exit@0.1.2:
|
exit@0.1.2:
|
||||||
resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
|
resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
|
||||||
engines: {node: '>= 0.8.0'}
|
engines: {node: '>= 0.8.0'}
|
||||||
@@ -7749,10 +7677,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
|
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
fs-extra@9.1.0:
|
|
||||||
resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
|
|
||||||
fs-monkey@1.0.5:
|
fs-monkey@1.0.5:
|
||||||
resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==}
|
resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==}
|
||||||
|
|
||||||
@@ -7989,9 +7913,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
|
resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
getos@3.2.1:
|
|
||||||
resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==}
|
|
||||||
|
|
||||||
getpass@0.1.7:
|
getpass@0.1.7:
|
||||||
resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
|
resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
|
||||||
|
|
||||||
@@ -8405,10 +8326,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
|
resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
|
||||||
engines: {node: '>=0.8', npm: '>=1.3.7'}
|
engines: {node: '>=0.8', npm: '>=1.3.7'}
|
||||||
|
|
||||||
http-signature@1.3.6:
|
|
||||||
resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==}
|
|
||||||
engines: {node: '>=0.10'}
|
|
||||||
|
|
||||||
http-status@1.7.0:
|
http-status@1.7.0:
|
||||||
resolution: {integrity: sha512-6HZ8T2ywZKtNKOrRA22x4Z+fK+UiWzimWYSTROVHrZ46RX+hKsg9wCQiodRtfNrKfsvOkwsXA6R9q+TmDY+8nQ==}
|
resolution: {integrity: sha512-6HZ8T2ywZKtNKOrRA22x4Z+fK+UiWzimWYSTROVHrZ46RX+hKsg9wCQiodRtfNrKfsvOkwsXA6R9q+TmDY+8nQ==}
|
||||||
engines: {node: '>= 0.4.0'}
|
engines: {node: '>= 0.4.0'}
|
||||||
@@ -8674,10 +8591,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==}
|
resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
is-ci@3.0.1:
|
|
||||||
resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
is-core-module@2.13.0:
|
is-core-module@2.13.0:
|
||||||
resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
|
resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
|
||||||
|
|
||||||
@@ -9339,10 +9252,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
|
resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
|
||||||
engines: {node: '>=0.6.0'}
|
engines: {node: '>=0.6.0'}
|
||||||
|
|
||||||
jsprim@2.0.2:
|
|
||||||
resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==}
|
|
||||||
engines: {'0': node >=0.6.0}
|
|
||||||
|
|
||||||
jsx-ast-utils@3.3.5:
|
jsx-ast-utils@3.3.5:
|
||||||
resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
|
resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
|
||||||
engines: {node: '>=4.0'}
|
engines: {node: '>=4.0'}
|
||||||
@@ -9452,15 +9361,6 @@ packages:
|
|||||||
engines: {node: ^14.13.1 || >=16.0.0}
|
engines: {node: ^14.13.1 || >=16.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
listr2@3.14.0:
|
|
||||||
resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==}
|
|
||||||
engines: {node: '>=10.0.0'}
|
|
||||||
peerDependencies:
|
|
||||||
enquirer: '>= 2.3.0 < 3'
|
|
||||||
peerDependenciesMeta:
|
|
||||||
enquirer:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
listr2@5.0.8:
|
listr2@5.0.8:
|
||||||
resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==}
|
resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==}
|
||||||
engines: {node: ^14.13.1 || >=16.0.0}
|
engines: {node: ^14.13.1 || >=16.0.0}
|
||||||
@@ -10709,9 +10609,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
|
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
ospath@1.2.2:
|
|
||||||
resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==}
|
|
||||||
|
|
||||||
p-cancelable@1.1.0:
|
p-cancelable@1.1.0:
|
||||||
resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==}
|
resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@@ -10977,10 +10874,6 @@ packages:
|
|||||||
engines: {node: '>=0.10'}
|
engines: {node: '>=0.10'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
pify@2.3.0:
|
|
||||||
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
|
|
||||||
engines: {node: '>=0.10.0'}
|
|
||||||
|
|
||||||
pify@4.0.1:
|
pify@4.0.1:
|
||||||
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
|
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@@ -11019,9 +10912,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
|
resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
platform@1.3.3:
|
|
||||||
resolution: {integrity: sha512-VJK1SRmXBpjwsB4YOHYSturx48rLKMzHgCqDH2ZDa6ZbMS/N5huoNqyQdK5Fj/xayu3fqbXckn5SeCS1EbMDZg==}
|
|
||||||
|
|
||||||
platform@1.3.6:
|
platform@1.3.6:
|
||||||
resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==}
|
resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==}
|
||||||
|
|
||||||
@@ -11375,9 +11265,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
|
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
|
||||||
engines: {node: '>= 0.10'}
|
engines: {node: '>= 0.10'}
|
||||||
|
|
||||||
proxy-from-env@1.0.0:
|
|
||||||
resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==}
|
|
||||||
|
|
||||||
proxy-from-env@1.1.0:
|
proxy-from-env@1.1.0:
|
||||||
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
|
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
|
||||||
|
|
||||||
@@ -11443,10 +11330,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==}
|
resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==}
|
||||||
engines: {node: '>=0.6'}
|
engines: {node: '>=0.6'}
|
||||||
|
|
||||||
qs@6.10.4:
|
|
||||||
resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==}
|
|
||||||
engines: {node: '>=0.6'}
|
|
||||||
|
|
||||||
qs@6.11.0:
|
qs@6.11.0:
|
||||||
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
|
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
|
||||||
engines: {node: '>=0.6'}
|
engines: {node: '>=0.6'}
|
||||||
@@ -11938,9 +11821,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-vuNYXC7gG7IeVNBC1xUllqCcZKRbJoSPOBhnTEcAIiKCsbuef6zO3F0Rve3isPMMoNoQRWjQwbAgAjHUHniyEA==}
|
resolution: {integrity: sha512-vuNYXC7gG7IeVNBC1xUllqCcZKRbJoSPOBhnTEcAIiKCsbuef6zO3F0Rve3isPMMoNoQRWjQwbAgAjHUHniyEA==}
|
||||||
engines: {node: '>= 0.10'}
|
engines: {node: '>= 0.10'}
|
||||||
|
|
||||||
request-progress@3.0.0:
|
|
||||||
resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==}
|
|
||||||
|
|
||||||
request@2.88.2:
|
request@2.88.2:
|
||||||
resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==}
|
resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
@@ -12907,9 +12787,6 @@ packages:
|
|||||||
thread-stream@2.4.0:
|
thread-stream@2.4.0:
|
||||||
resolution: {integrity: sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw==}
|
resolution: {integrity: sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw==}
|
||||||
|
|
||||||
throttleit@1.0.0:
|
|
||||||
resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==}
|
|
||||||
|
|
||||||
through2@2.0.5:
|
through2@2.0.5:
|
||||||
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
|
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
|
||||||
|
|
||||||
@@ -16954,9 +16831,6 @@ snapshots:
|
|||||||
|
|
||||||
'@bcoe/v8-coverage@0.2.3': {}
|
'@bcoe/v8-coverage@0.2.3': {}
|
||||||
|
|
||||||
'@colors/colors@1.5.0':
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
'@compodoc/live-server@1.2.3':
|
'@compodoc/live-server@1.2.3':
|
||||||
dependencies:
|
dependencies:
|
||||||
chokidar: 3.6.0
|
chokidar: 3.6.0
|
||||||
@@ -16980,34 +16854,6 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/trace-mapping': 0.3.9
|
'@jridgewell/trace-mapping': 0.3.9
|
||||||
|
|
||||||
'@cypress/request@2.88.12':
|
|
||||||
dependencies:
|
|
||||||
aws-sign2: 0.7.0
|
|
||||||
aws4: 1.12.0
|
|
||||||
caseless: 0.12.0
|
|
||||||
combined-stream: 1.0.8
|
|
||||||
extend: 3.0.2
|
|
||||||
forever-agent: 0.6.1
|
|
||||||
form-data: 2.3.3
|
|
||||||
http-signature: 1.3.6
|
|
||||||
is-typedarray: 1.0.0
|
|
||||||
isstream: 0.1.2
|
|
||||||
json-stringify-safe: 5.0.1
|
|
||||||
mime-types: 2.1.35
|
|
||||||
performance-now: 2.1.0
|
|
||||||
qs: 6.10.4
|
|
||||||
safe-buffer: 5.2.1
|
|
||||||
tough-cookie: 4.1.3
|
|
||||||
tunnel-agent: 0.6.0
|
|
||||||
uuid: 8.3.2
|
|
||||||
|
|
||||||
'@cypress/xvfb@1.2.4(supports-color@8.1.1)':
|
|
||||||
dependencies:
|
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
|
||||||
lodash.once: 4.1.1
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
|
|
||||||
'@discoveryjs/json-ext@0.5.7': {}
|
'@discoveryjs/json-ext@0.5.7': {}
|
||||||
|
|
||||||
'@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2(cosmiconfig@7.0.0)(typescript@5.2.2)':
|
'@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2(cosmiconfig@7.0.0)(typescript@5.2.2)':
|
||||||
@@ -18393,12 +18239,6 @@ snapshots:
|
|||||||
|
|
||||||
'@tanstack/virtual-core@3.0.0': {}
|
'@tanstack/virtual-core@3.0.0': {}
|
||||||
|
|
||||||
'@testing-library/cypress@10.0.1(cypress@12.17.4)':
|
|
||||||
dependencies:
|
|
||||||
'@babel/runtime': 7.23.9
|
|
||||||
'@testing-library/dom': 9.3.4
|
|
||||||
cypress: 12.17.4
|
|
||||||
|
|
||||||
'@testing-library/dom@8.20.1':
|
'@testing-library/dom@8.20.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/code-frame': 7.23.5
|
'@babel/code-frame': 7.23.5
|
||||||
@@ -18544,6 +18384,8 @@ snapshots:
|
|||||||
|
|
||||||
'@types/chai@4.3.12': {}
|
'@types/chai@4.3.12': {}
|
||||||
|
|
||||||
|
'@types/chai@4.3.16': {}
|
||||||
|
|
||||||
'@types/cheerio@0.22.35':
|
'@types/cheerio@0.22.35':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 20.12.8
|
'@types/node': 20.12.8
|
||||||
@@ -18783,8 +18625,6 @@ snapshots:
|
|||||||
|
|
||||||
'@types/node@14.18.63': {}
|
'@types/node@14.18.63': {}
|
||||||
|
|
||||||
'@types/node@16.18.55': {}
|
|
||||||
|
|
||||||
'@types/node@20.11.20':
|
'@types/node@20.11.20':
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 5.26.5
|
undici-types: 5.26.5
|
||||||
@@ -18909,8 +18749,6 @@ snapshots:
|
|||||||
'@types/mime': 3.0.2
|
'@types/mime': 3.0.2
|
||||||
'@types/node': 20.12.8
|
'@types/node': 20.12.8
|
||||||
|
|
||||||
'@types/sinonjs__fake-timers@8.1.1': {}
|
|
||||||
|
|
||||||
'@types/sizzle@2.3.4': {}
|
'@types/sizzle@2.3.4': {}
|
||||||
|
|
||||||
'@types/stack-utils@2.0.1': {}
|
'@types/stack-utils@2.0.1': {}
|
||||||
@@ -19476,11 +19314,6 @@ snapshots:
|
|||||||
'@algolia/requester-node-http': 4.22.1
|
'@algolia/requester-node-http': 4.22.1
|
||||||
'@algolia/transporter': 4.22.1
|
'@algolia/transporter': 4.22.1
|
||||||
|
|
||||||
ally.js@1.4.1:
|
|
||||||
dependencies:
|
|
||||||
css.escape: 1.5.1
|
|
||||||
platform: 1.3.3
|
|
||||||
|
|
||||||
anser@2.1.1: {}
|
anser@2.1.1: {}
|
||||||
|
|
||||||
ansi-align@3.0.1:
|
ansi-align@3.0.1:
|
||||||
@@ -19711,8 +19544,6 @@ snapshots:
|
|||||||
|
|
||||||
asynckit@0.4.0: {}
|
asynckit@0.4.0: {}
|
||||||
|
|
||||||
at-least-node@1.0.0: {}
|
|
||||||
|
|
||||||
atob@2.1.2: {}
|
atob@2.1.2: {}
|
||||||
|
|
||||||
atomic-sleep@1.0.0: {}
|
atomic-sleep@1.0.0: {}
|
||||||
@@ -20668,8 +20499,6 @@ snapshots:
|
|||||||
inherits: 2.0.4
|
inherits: 2.0.4
|
||||||
readable-stream: 3.6.2
|
readable-stream: 3.6.2
|
||||||
|
|
||||||
blob-util@2.0.2: {}
|
|
||||||
|
|
||||||
bluebird@3.7.2: {}
|
bluebird@3.7.2: {}
|
||||||
|
|
||||||
bn.js@4.12.0: {}
|
bn.js@4.12.0: {}
|
||||||
@@ -21034,8 +20863,6 @@ snapshots:
|
|||||||
|
|
||||||
cached-path-relative@1.1.0: {}
|
cached-path-relative@1.1.0: {}
|
||||||
|
|
||||||
cachedir@2.4.0: {}
|
|
||||||
|
|
||||||
call-bind@1.0.7:
|
call-bind@1.0.7:
|
||||||
dependencies:
|
dependencies:
|
||||||
es-define-property: 1.0.0
|
es-define-property: 1.0.0
|
||||||
@@ -21225,12 +21052,6 @@ snapshots:
|
|||||||
|
|
||||||
cli-spinners@2.9.1: {}
|
cli-spinners@2.9.1: {}
|
||||||
|
|
||||||
cli-table3@0.6.3:
|
|
||||||
dependencies:
|
|
||||||
string-width: 4.2.3
|
|
||||||
optionalDependencies:
|
|
||||||
'@colors/colors': 1.5.0
|
|
||||||
|
|
||||||
cli-truncate@2.1.0:
|
cli-truncate@2.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
slice-ansi: 3.0.0
|
slice-ansi: 3.0.0
|
||||||
@@ -21343,8 +21164,6 @@ snapshots:
|
|||||||
|
|
||||||
commander@4.1.1: {}
|
commander@4.1.1: {}
|
||||||
|
|
||||||
commander@6.2.1: {}
|
|
||||||
|
|
||||||
commander@7.2.0: {}
|
commander@7.2.0: {}
|
||||||
|
|
||||||
commander@9.5.0: {}
|
commander@9.5.0: {}
|
||||||
@@ -21822,58 +21641,6 @@ snapshots:
|
|||||||
csrf: 3.1.0
|
csrf: 3.1.0
|
||||||
http-errors: 1.7.3
|
http-errors: 1.7.3
|
||||||
|
|
||||||
cypress-plugin-stripe-elements@1.0.2: {}
|
|
||||||
|
|
||||||
cypress-plugin-tab@1.0.5:
|
|
||||||
dependencies:
|
|
||||||
ally.js: 1.4.1
|
|
||||||
|
|
||||||
cypress@12.17.4:
|
|
||||||
dependencies:
|
|
||||||
'@cypress/request': 2.88.12
|
|
||||||
'@cypress/xvfb': 1.2.4(supports-color@8.1.1)
|
|
||||||
'@types/node': 16.18.55
|
|
||||||
'@types/sinonjs__fake-timers': 8.1.1
|
|
||||||
'@types/sizzle': 2.3.4
|
|
||||||
arch: 2.2.0
|
|
||||||
blob-util: 2.0.2
|
|
||||||
bluebird: 3.7.2
|
|
||||||
buffer: 5.7.1
|
|
||||||
cachedir: 2.4.0
|
|
||||||
chalk: 4.1.2
|
|
||||||
check-more-types: 2.24.0
|
|
||||||
cli-cursor: 3.1.0
|
|
||||||
cli-table3: 0.6.3
|
|
||||||
commander: 6.2.1
|
|
||||||
common-tags: 1.8.2
|
|
||||||
dayjs: 1.11.10
|
|
||||||
debug: 4.3.4(supports-color@8.1.1)
|
|
||||||
enquirer: 2.4.1
|
|
||||||
eventemitter2: 6.4.7
|
|
||||||
execa: 4.1.0
|
|
||||||
executable: 4.1.1
|
|
||||||
extract-zip: 2.0.1(supports-color@8.1.1)
|
|
||||||
figures: 3.2.0
|
|
||||||
fs-extra: 9.1.0
|
|
||||||
getos: 3.2.1
|
|
||||||
is-ci: 3.0.1
|
|
||||||
is-installed-globally: 0.4.0
|
|
||||||
lazy-ass: 1.6.0
|
|
||||||
listr2: 3.14.0(enquirer@2.4.1)
|
|
||||||
lodash: 4.17.21
|
|
||||||
log-symbols: 4.1.0
|
|
||||||
minimist: 1.2.8
|
|
||||||
ospath: 1.2.2
|
|
||||||
pretty-bytes: 5.6.0
|
|
||||||
process: 0.11.10
|
|
||||||
proxy-from-env: 1.0.0
|
|
||||||
request-progress: 3.0.0
|
|
||||||
semver: 7.5.4
|
|
||||||
supports-color: 8.1.1
|
|
||||||
tmp: 0.2.1
|
|
||||||
untildify: 4.0.0
|
|
||||||
yauzl: 2.10.0
|
|
||||||
|
|
||||||
d@1.0.1:
|
d@1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
es5-ext: 0.10.62
|
es5-ext: 0.10.62
|
||||||
@@ -21911,8 +21678,6 @@ snapshots:
|
|||||||
|
|
||||||
dateformat@4.6.3: {}
|
dateformat@4.6.3: {}
|
||||||
|
|
||||||
dayjs@1.11.10: {}
|
|
||||||
|
|
||||||
debounce@1.2.1: {}
|
debounce@1.2.1: {}
|
||||||
|
|
||||||
debug@2.2.0:
|
debug@2.2.0:
|
||||||
@@ -21933,12 +21698,6 @@ snapshots:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
supports-color: 5.5.0
|
supports-color: 5.5.0
|
||||||
|
|
||||||
debug@3.2.7(supports-color@8.1.1):
|
|
||||||
dependencies:
|
|
||||||
ms: 2.1.3
|
|
||||||
optionalDependencies:
|
|
||||||
supports-color: 8.1.1
|
|
||||||
|
|
||||||
debug@4.3.1:
|
debug@4.3.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
ms: 2.1.2
|
ms: 2.1.2
|
||||||
@@ -22136,7 +21895,7 @@ snapshots:
|
|||||||
'@types/tmp': 0.0.33
|
'@types/tmp': 0.0.33
|
||||||
application-config-path: 0.1.1
|
application-config-path: 0.1.1
|
||||||
command-exists: 1.2.9
|
command-exists: 1.2.9
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
eol: 0.9.1
|
eol: 0.9.1
|
||||||
get-port: 3.2.0
|
get-port: 3.2.0
|
||||||
glob: 7.2.3
|
glob: 7.2.3
|
||||||
@@ -22662,7 +22421,7 @@ snapshots:
|
|||||||
|
|
||||||
eslint-import-resolver-node@0.3.9:
|
eslint-import-resolver-node@0.3.9:
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
is-core-module: 2.13.1
|
is-core-module: 2.13.1
|
||||||
resolve: 1.22.8
|
resolve: 1.22.8
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -22688,7 +22447,7 @@ snapshots:
|
|||||||
|
|
||||||
eslint-module-utils@2.8.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@7.32.0):
|
eslint-module-utils@2.8.0(@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@7.32.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@5.2.2)
|
'@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@5.2.2)
|
||||||
eslint: 7.32.0
|
eslint: 7.32.0
|
||||||
@@ -22699,7 +22458,7 @@ snapshots:
|
|||||||
|
|
||||||
eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0):
|
eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.4.5)
|
'@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.4.5)
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
@@ -22739,7 +22498,7 @@ snapshots:
|
|||||||
array.prototype.findlastindex: 1.2.3
|
array.prototype.findlastindex: 1.2.3
|
||||||
array.prototype.flat: 1.3.2
|
array.prototype.flat: 1.3.2
|
||||||
array.prototype.flatmap: 1.3.2
|
array.prototype.flatmap: 1.3.2
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
eslint: 7.32.0
|
eslint: 7.32.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
@@ -22766,7 +22525,7 @@ snapshots:
|
|||||||
array.prototype.findlastindex: 1.2.3
|
array.prototype.findlastindex: 1.2.3
|
||||||
array.prototype.flat: 1.3.2
|
array.prototype.flat: 1.3.2
|
||||||
array.prototype.flatmap: 1.3.2
|
array.prototype.flatmap: 1.3.2
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
@@ -23108,8 +22867,6 @@ snapshots:
|
|||||||
|
|
||||||
eventemitter2@5.0.1: {}
|
eventemitter2@5.0.1: {}
|
||||||
|
|
||||||
eventemitter2@6.4.7: {}
|
|
||||||
|
|
||||||
eventemitter3@3.1.2: {}
|
eventemitter3@3.1.2: {}
|
||||||
|
|
||||||
eventemitter3@4.0.7: {}
|
eventemitter3@4.0.7: {}
|
||||||
@@ -23181,10 +22938,6 @@ snapshots:
|
|||||||
signal-exit: 3.0.7
|
signal-exit: 3.0.7
|
||||||
strip-final-newline: 3.0.0
|
strip-final-newline: 3.0.0
|
||||||
|
|
||||||
executable@4.1.1:
|
|
||||||
dependencies:
|
|
||||||
pify: 2.3.0
|
|
||||||
|
|
||||||
exit@0.1.2: {}
|
exit@0.1.2: {}
|
||||||
|
|
||||||
expand-brackets@2.1.4:
|
expand-brackets@2.1.4:
|
||||||
@@ -23315,7 +23068,7 @@ snapshots:
|
|||||||
|
|
||||||
extract-files@9.0.0: {}
|
extract-files@9.0.0: {}
|
||||||
|
|
||||||
extract-zip@2.0.1(supports-color@8.1.1):
|
extract-zip@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.3.4(supports-color@8.1.1)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
get-stream: 5.2.0
|
get-stream: 5.2.0
|
||||||
@@ -23546,7 +23299,7 @@ snapshots:
|
|||||||
|
|
||||||
follow-redirects@1.15.3(debug@3.2.7):
|
follow-redirects@1.15.3(debug@3.2.7):
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
|
|
||||||
follow-redirects@1.15.3(debug@4.3.4):
|
follow-redirects@1.15.3(debug@4.3.4):
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
@@ -23635,13 +23388,6 @@ snapshots:
|
|||||||
jsonfile: 6.1.0
|
jsonfile: 6.1.0
|
||||||
universalify: 2.0.0
|
universalify: 2.0.0
|
||||||
|
|
||||||
fs-extra@9.1.0:
|
|
||||||
dependencies:
|
|
||||||
at-least-node: 1.0.0
|
|
||||||
graceful-fs: 4.2.11
|
|
||||||
jsonfile: 6.1.0
|
|
||||||
universalify: 2.0.0
|
|
||||||
|
|
||||||
fs-monkey@1.0.5: {}
|
fs-monkey@1.0.5: {}
|
||||||
|
|
||||||
fs-readdir-recursive@1.1.0: {}
|
fs-readdir-recursive@1.1.0: {}
|
||||||
@@ -24073,7 +23819,7 @@ snapshots:
|
|||||||
css-minimizer-webpack-plugin: 2.0.0(webpack@5.90.3(webpack-cli@4.10.0))
|
css-minimizer-webpack-plugin: 2.0.0(webpack@5.90.3(webpack-cli@4.10.0))
|
||||||
css.escape: 1.5.1
|
css.escape: 1.5.1
|
||||||
date-fns: 2.30.0
|
date-fns: 2.30.0
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
deepmerge: 4.3.1
|
deepmerge: 4.3.1
|
||||||
del: 5.1.0
|
del: 5.1.0
|
||||||
detect-port: 1.5.1
|
detect-port: 1.5.1
|
||||||
@@ -24253,10 +23999,6 @@ snapshots:
|
|||||||
|
|
||||||
get-value@2.0.6: {}
|
get-value@2.0.6: {}
|
||||||
|
|
||||||
getos@3.2.1:
|
|
||||||
dependencies:
|
|
||||||
async: 3.2.4
|
|
||||||
|
|
||||||
getpass@0.1.7:
|
getpass@0.1.7:
|
||||||
dependencies:
|
dependencies:
|
||||||
assert-plus: 1.0.0
|
assert-plus: 1.0.0
|
||||||
@@ -24823,12 +24565,6 @@ snapshots:
|
|||||||
jsprim: 1.4.2
|
jsprim: 1.4.2
|
||||||
sshpk: 1.17.0
|
sshpk: 1.17.0
|
||||||
|
|
||||||
http-signature@1.3.6:
|
|
||||||
dependencies:
|
|
||||||
assert-plus: 1.0.0
|
|
||||||
jsprim: 2.0.2
|
|
||||||
sshpk: 1.17.0
|
|
||||||
|
|
||||||
http-status@1.7.0: {}
|
http-status@1.7.0: {}
|
||||||
|
|
||||||
http2-wrapper@1.0.3:
|
http2-wrapper@1.0.3:
|
||||||
@@ -25085,10 +24821,6 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ci-info: 2.0.0
|
ci-info: 2.0.0
|
||||||
|
|
||||||
is-ci@3.0.1:
|
|
||||||
dependencies:
|
|
||||||
ci-info: 3.8.0
|
|
||||||
|
|
||||||
is-core-module@2.13.0:
|
is-core-module@2.13.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
has: 1.0.3
|
has: 1.0.3
|
||||||
@@ -25976,13 +25708,6 @@ snapshots:
|
|||||||
json-schema: 0.4.0
|
json-schema: 0.4.0
|
||||||
verror: 1.10.0
|
verror: 1.10.0
|
||||||
|
|
||||||
jsprim@2.0.2:
|
|
||||||
dependencies:
|
|
||||||
assert-plus: 1.0.0
|
|
||||||
extsprintf: 1.3.0
|
|
||||||
json-schema: 0.4.0
|
|
||||||
verror: 1.10.0
|
|
||||||
|
|
||||||
jsx-ast-utils@3.3.5:
|
jsx-ast-utils@3.3.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
array-includes: 3.1.7
|
array-includes: 3.1.7
|
||||||
@@ -26102,19 +25827,6 @@ snapshots:
|
|||||||
- enquirer
|
- enquirer
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
listr2@3.14.0(enquirer@2.4.1):
|
|
||||||
dependencies:
|
|
||||||
cli-truncate: 2.1.0
|
|
||||||
colorette: 2.0.20
|
|
||||||
log-update: 4.0.0
|
|
||||||
p-map: 4.0.0
|
|
||||||
rfdc: 1.3.0
|
|
||||||
rxjs: 7.8.1
|
|
||||||
through: 2.3.8
|
|
||||||
wrap-ansi: 7.0.0
|
|
||||||
optionalDependencies:
|
|
||||||
enquirer: 2.4.1
|
|
||||||
|
|
||||||
listr2@5.0.8(enquirer@2.4.1):
|
listr2@5.0.8(enquirer@2.4.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
cli-truncate: 2.1.0
|
cli-truncate: 2.1.0
|
||||||
@@ -26262,7 +25974,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
async: 0.9.2
|
async: 0.9.2
|
||||||
commondir: 1.0.1
|
commondir: 1.0.1
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
semver: 5.7.2
|
semver: 5.7.2
|
||||||
strong-globalize: 4.1.3
|
strong-globalize: 4.1.3
|
||||||
@@ -26272,7 +25984,7 @@ snapshots:
|
|||||||
|
|
||||||
loopback-component-explorer@6.4.0:
|
loopback-component-explorer@6.4.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
loopback-swagger: 5.9.0
|
loopback-swagger: 5.9.0
|
||||||
strong-globalize: 4.1.3
|
strong-globalize: 4.1.3
|
||||||
@@ -26284,7 +25996,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
async: 2.6.4
|
async: 2.6.4
|
||||||
bson: 1.1.6
|
bson: 1.1.6
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
loopback-connector: 4.11.1
|
loopback-connector: 4.11.1
|
||||||
mongodb: 3.6.9
|
mongodb: 3.6.9
|
||||||
strong-globalize: 4.1.3
|
strong-globalize: 4.1.3
|
||||||
@@ -26319,7 +26031,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
async: 2.6.4
|
async: 2.6.4
|
||||||
bluebird: 3.7.2
|
bluebird: 3.7.2
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
depd: 1.1.2
|
depd: 1.1.2
|
||||||
inflection: 1.13.4
|
inflection: 1.13.4
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
@@ -26337,14 +26049,14 @@ snapshots:
|
|||||||
|
|
||||||
loopback-filters@1.1.1:
|
loopback-filters@1.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
loopback-phase@3.4.0:
|
loopback-phase@3.4.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
async: 2.6.4
|
async: 2.6.4
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
strong-globalize: 4.1.3
|
strong-globalize: 4.1.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -26352,7 +26064,7 @@ snapshots:
|
|||||||
loopback-swagger@5.9.0:
|
loopback-swagger@5.9.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
async: 2.6.4
|
async: 2.6.4
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
ejs: 2.7.4
|
ejs: 2.7.4
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
strong-globalize: 4.1.3
|
strong-globalize: 4.1.3
|
||||||
@@ -27839,8 +27551,6 @@ snapshots:
|
|||||||
|
|
||||||
os-tmpdir@1.0.2: {}
|
os-tmpdir@1.0.2: {}
|
||||||
|
|
||||||
ospath@1.2.2: {}
|
|
||||||
|
|
||||||
p-cancelable@1.1.0: {}
|
p-cancelable@1.1.0: {}
|
||||||
|
|
||||||
p-cancelable@2.1.1: {}
|
p-cancelable@2.1.1: {}
|
||||||
@@ -28113,8 +27823,6 @@ snapshots:
|
|||||||
|
|
||||||
pidtree@0.6.0: {}
|
pidtree@0.6.0: {}
|
||||||
|
|
||||||
pify@2.3.0: {}
|
|
||||||
|
|
||||||
pify@4.0.1: {}
|
pify@4.0.1: {}
|
||||||
|
|
||||||
pify@5.0.0: {}
|
pify@5.0.0: {}
|
||||||
@@ -28171,8 +27879,6 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
find-up: 3.0.0
|
find-up: 3.0.0
|
||||||
|
|
||||||
platform@1.3.3: {}
|
|
||||||
|
|
||||||
platform@1.3.6: {}
|
platform@1.3.6: {}
|
||||||
|
|
||||||
playwright-core@1.44.0: {}
|
playwright-core@1.44.0: {}
|
||||||
@@ -28519,8 +28225,6 @@ snapshots:
|
|||||||
forwarded: 0.2.0
|
forwarded: 0.2.0
|
||||||
ipaddr.js: 1.9.1
|
ipaddr.js: 1.9.1
|
||||||
|
|
||||||
proxy-from-env@1.0.0: {}
|
|
||||||
|
|
||||||
proxy-from-env@1.1.0: {}
|
proxy-from-env@1.1.0: {}
|
||||||
|
|
||||||
proxy-middleware@0.15.0: {}
|
proxy-middleware@0.15.0: {}
|
||||||
@@ -28565,7 +28269,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.3.1
|
debug: 4.3.1
|
||||||
devtools-protocol: 0.0.901419
|
devtools-protocol: 0.0.901419
|
||||||
extract-zip: 2.0.1(supports-color@8.1.1)
|
extract-zip: 2.0.1
|
||||||
https-proxy-agent: 5.0.0
|
https-proxy-agent: 5.0.0
|
||||||
node-fetch: 2.6.1
|
node-fetch: 2.6.1
|
||||||
pkg-dir: 4.2.0
|
pkg-dir: 4.2.0
|
||||||
@@ -28600,10 +28304,6 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
side-channel: 1.0.4
|
side-channel: 1.0.4
|
||||||
|
|
||||||
qs@6.10.4:
|
|
||||||
dependencies:
|
|
||||||
side-channel: 1.0.4
|
|
||||||
|
|
||||||
qs@6.11.0:
|
qs@6.11.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
side-channel: 1.0.4
|
side-channel: 1.0.4
|
||||||
@@ -29253,10 +28953,6 @@ snapshots:
|
|||||||
|
|
||||||
replace-ext@1.0.0: {}
|
replace-ext@1.0.0: {}
|
||||||
|
|
||||||
request-progress@3.0.0:
|
|
||||||
dependencies:
|
|
||||||
throttleit: 1.0.0
|
|
||||||
|
|
||||||
request@2.88.2:
|
request@2.88.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
aws-sign2: 0.7.0
|
aws-sign2: 0.7.0
|
||||||
@@ -30450,8 +30146,6 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
real-require: 0.2.0
|
real-require: 0.2.0
|
||||||
|
|
||||||
throttleit@1.0.0: {}
|
|
||||||
|
|
||||||
through2@2.0.5:
|
through2@2.0.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
readable-stream: 2.3.8
|
readable-stream: 2.3.8
|
||||||
@@ -31334,7 +31028,7 @@ snapshots:
|
|||||||
|
|
||||||
webpack-virtual-modules@0.3.2:
|
webpack-virtual-modules@0.3.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 3.2.7(supports-color@8.1.1)
|
debug: 3.2.7(supports-color@5.5.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ describe('external curriculum data build', () => {
|
|||||||
const result = validateAvailableSuperBlocks(availableSuperblocks);
|
const result = validateAvailableSuperBlocks(availableSuperblocks);
|
||||||
|
|
||||||
if (result.error) {
|
if (result.error) {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
||||||
throw new AssertionError(
|
throw new AssertionError(
|
||||||
result.error.message,
|
result.error.message,
|
||||||
`file: available-superblocks.json`
|
`file: available-superblocks.json`
|
||||||
@@ -71,6 +72,7 @@ describe('external curriculum data build', () => {
|
|||||||
const result = validateSuperBlock(JSON.parse(fileContent));
|
const result = validateSuperBlock(JSON.parse(fileContent));
|
||||||
|
|
||||||
if (result.error) {
|
if (result.error) {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
||||||
throw new AssertionError(
|
throw new AssertionError(
|
||||||
result.error.message,
|
result.error.message,
|
||||||
`file: ${fileInArray}`
|
`file: ${fileInArray}`
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
"main": "none",
|
"main": "none",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@total-typescript/ts-reset": "^0.5.0",
|
"@total-typescript/ts-reset": "^0.5.0",
|
||||||
|
"@types/chai": "^4.3.16",
|
||||||
"chai": "4.4.1",
|
"chai": "4.4.1",
|
||||||
"joi": "17.12.2",
|
"joi": "17.12.2",
|
||||||
"readdirp": "3.6.0"
|
"readdirp": "3.6.0"
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@
|
|||||||
"noEmit": true,
|
"noEmit": true,
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"types": ["node", "jest", "cypress"]
|
"types": ["node", "jest"]
|
||||||
},
|
},
|
||||||
// since ts-node compiles ts on the fly and then uses node, it needs to
|
// since ts-node compiles ts on the fly and then uses node, it needs to
|
||||||
// compile the scripts to commonjs (or node will complain about the requires)
|
// compile the scripts to commonjs (or node will complain about the requires)
|
||||||
|
|||||||
Reference in New Issue
Block a user