diff --git a/packages/applicant/src/pages/api/create-mandatory-question.page.tsx b/packages/applicant/src/pages/api/create-mandatory-question.page.tsx index ac2cda566..ff61fa43a 100644 --- a/packages/applicant/src/pages/api/create-mandatory-question.page.tsx +++ b/packages/applicant/src/pages/api/create-mandatory-question.page.tsx @@ -18,11 +18,11 @@ export default async function handler( ); const organisationProfileKeys = [ + 'orgType', 'name', 'addressLine1', 'city', 'postcode', - 'orgType', 'companiesHouseNumber', 'charityCommissionNumber', ]; @@ -35,7 +35,7 @@ export default async function handler( const redirectionUrl = areOrganisationProfileQuestionsComplete ? routes.mandatoryQuestions.fundingAmountPage(mandatoryQuestion.id) - : routes.mandatoryQuestions.namePage(mandatoryQuestion.id); + : routes.mandatoryQuestions.typePage(mandatoryQuestion.id); return res.redirect(`${process.env.HOST}${redirectionUrl}`); } catch (e) { diff --git a/packages/applicant/src/pages/api/create-mandatory-question.test.tsx b/packages/applicant/src/pages/api/create-mandatory-question.test.tsx index d766fb4c0..15fb34826 100644 --- a/packages/applicant/src/pages/api/create-mandatory-question.test.tsx +++ b/packages/applicant/src/pages/api/create-mandatory-question.test.tsx @@ -61,7 +61,7 @@ describe('API Handler Tests', () => { await handler(req(), res()); expect(mockedRedirect).toHaveBeenCalledWith( - `http://localhost${routes.mandatoryQuestions.namePage( + `http://localhost${routes.mandatoryQuestions.typePage( 'mandatoryQuestionId' )}` ); diff --git a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/getServerSideProps.test.tsx b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/getServerSideProps.test.tsx index 6ef861102..9fb7bdbb9 100644 --- a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/getServerSideProps.test.tsx +++ b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/getServerSideProps.test.tsx @@ -52,6 +52,11 @@ describe('getServerSideProps', () => { describe('when handling a GET request', () => { const getDefaultContext = (): Optional => ({ + req: { + headers: { + referer: `${process.env.HOST}/test/path`, + }, + }, params: { mandatoryQuestionId: 'mandatoryQuestionId' }, query: {}, }); @@ -72,6 +77,7 @@ describe('getServerSideProps', () => { defaultFields: getDefaultGrantMandatoryQuestion(), mandatoryQuestion: getDefaultGrantMandatoryQuestion(), mandatoryQuestionId: 'mandatoryQuestionId', + backButtonUrl: '/test/path', }, }); }); @@ -110,6 +116,9 @@ describe('getServerSideProps', () => { const getDefaultContext = (): Optional => ({ req: { method: 'POST', + headers: { + referer: `${process.env.HOST}/test/path`, + }, }, params: { mandatoryQuestionId: 'mandatoryQuestionId' }, query: {}, @@ -160,6 +169,9 @@ describe('getServerSideProps', () => { const getDefaultContext = (): Optional => ({ req: { method: 'POST', + headers: { + referer: `${process.env.HOST}/test/path`, + }, }, params: { mandatoryQuestionId: 'mandatoryQuestionId' }, query: { fromSummaryPage: 'true' }, @@ -180,6 +192,9 @@ describe('getServerSideProps', () => { const getDefaultContext = (): Optional => ({ req: { method: 'POST', + headers: { + referer: `${process.env.HOST}/test/path`, + }, }, params: { mandatoryQuestionId: 'mandatoryQuestionId', @@ -245,6 +260,7 @@ describe('getServerSideProps', () => { defaultFields: { name: 'test name' }, mandatoryQuestion: getDefaultGrantMandatoryQuestion(), mandatoryQuestionId: 'mandatoryQuestionId', + backButtonUrl: '/test/path', }, }); }); diff --git a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/getServerSideProps.tsx b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/getServerSideProps.tsx index 96dc28db6..d653d81fe 100644 --- a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/getServerSideProps.tsx +++ b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/getServerSideProps.tsx @@ -17,6 +17,7 @@ export default async function getServerSideProps({ query, resolvedUrl, //the url that the user requested }: GetServerSidePropsContext) { + const backButtonUrl = req.headers.referer.replace(process.env.HOST, ''); const { mandatoryQuestionId } = params as Record; const { fromSummaryPage = false, @@ -109,6 +110,7 @@ export default async function getServerSideProps({ defaultFields, mandatoryQuestion, mandatoryQuestionId, + backButtonUrl, }, }; } diff --git a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-address.page.tsx b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-address.page.tsx index f0047dcce..7257839aa 100644 --- a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-address.page.tsx +++ b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-address.page.tsx @@ -13,10 +13,8 @@ export default function MandatoryQuestionOrganisationAddressPage({ fieldErrors, formAction, defaultFields, - mandatoryQuestion, - mandatoryQuestionId, + backButtonUrl, }: InferProps) { - const backButtonUrl = routes.mandatoryQuestions.namePage(mandatoryQuestionId); const commonAddressInputProps = { boldHeading: false, titleSize: 's', diff --git a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-charity-commission-number.page.tsx b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-charity-commission-number.page.tsx index 522cf5cd5..84c2d1e47 100644 --- a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-charity-commission-number.page.tsx +++ b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-charity-commission-number.page.tsx @@ -13,11 +13,8 @@ export default function MandatoryQuestionOrganisationCharityCommissionNumberPage fieldErrors, formAction, defaultFields, - mandatoryQuestion, - mandatoryQuestionId, + backButtonUrl, }: InferProps) { - const backButtonUrl = - routes.mandatoryQuestions.companiesHouseNumberPage(mandatoryQuestionId); return ( <> ) { - const backButtonUrl = routes.mandatoryQuestions.typePage(mandatoryQuestionId); return ( <> ) { - const backButtonUrl = - routes.mandatoryQuestions.charityCommissionNumberPage(mandatoryQuestionId); return ( <> <> diff --git a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-funding-location.page.tsx b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-funding-location.page.tsx index 6998e930a..67232b04c 100644 --- a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-funding-location.page.tsx +++ b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-funding-location.page.tsx @@ -16,11 +16,8 @@ export default function MandatoryQuestionOrganisationFundingLocationPage({ fieldErrors, formAction, defaultFields, - mandatoryQuestion, - mandatoryQuestionId, + backButtonUrl, }: InferProps) { - const backButtonUrl = - routes.mandatoryQuestions.fundingAmountPage(mandatoryQuestionId); return ( <> <> diff --git a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-name.page.tsx b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-name.page.tsx index 297c408f3..dde91e2d8 100644 --- a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-name.page.tsx +++ b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-name.page.tsx @@ -16,11 +16,8 @@ export default function MandatoryQuestionOrganisationNamePage({ fieldErrors, formAction, defaultFields, - mandatoryQuestion, + backButtonUrl, }: InferProps) { - const backButtonUrl = routes.mandatoryQuestions.startPage( - mandatoryQuestion.schemeId.toString() - ); return ( <> <> diff --git a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-summary.page.test.tsx b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-summary.page.test.tsx index 1513c9334..4d2927153 100644 --- a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-summary.page.test.tsx +++ b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-summary.page.test.tsx @@ -10,30 +10,50 @@ import MandatoryQuestionOrganisationSummaryPage, { } from './organisation-summary.page'; describe('Organisation summary page', () => { - const mandatoryQuestion = { + const defaultMandatoryQuestion = { schemeId: 1, + orgType: 'Limited company', name: 'Test Organisation', addressLine1: 'Test Address 1', addressLine2: 'Test Address 2', city: 'Test City', county: 'Test County', postcode: 'Test Postcode', - orgType: 'Test Organisation Type', companiesHouseNumber: 'Test Companies House Number', charityCommissionNumber: 'Test Charity Commission Number', fundingAmount: '1000', fundingLocation: ['Test Funding Location'], }; - const getDefaultProps = (): InferProps => ({ + const getDefaultProps = ( + mandatoryQuestion = defaultMandatoryQuestion + ): InferProps => ({ fieldErrors: [], csrfToken: 'testCSRFToken', formAction: 'testFormAction', defaultFields: {}, mandatoryQuestion, mandatoryQuestionId: 'mandatoryQuestionId', + backButtonUrl: '/test/path', }); + const checkDetailItem = (detail) => { + const labelElement = screen.getByText(detail.label); + expect(labelElement).toBeInTheDocument(); + + if (Array.isArray(detail.value)) { + detail.value.forEach((v) => { + const valueElement = screen.getByText(new RegExp(`${v}`)); + expect(valueElement).toBeInTheDocument(); + }); + } else { + const valueElement = screen.getByText( + detail.showCurrency ? `£ ${detail.value}` : detail.value + ); + expect(valueElement).toBeInTheDocument(); + } + }; + it('should display a heading', () => { renderWithRouter( { /> ); const mandatoryQuestionDetails = generateMandatoryQuestionDetails( - mandatoryQuestion, + defaultMandatoryQuestion, 'mandatoryQuestionId' ); - mandatoryQuestionDetails.forEach((detail) => { - const labelElement = screen.getByText(detail.label); - expect(labelElement).toBeInTheDocument(); + mandatoryQuestionDetails.forEach(checkDetailItem); + const changeLinks = screen.getAllByText('Change', { + selector: 'a', + }); + expect(changeLinks).toHaveLength(7); + }); - if (Array.isArray(detail.value)) { - detail.value.forEach((v) => { - const valueElement = screen.getByText(new RegExp(`${v}`)); - expect(valueElement).toBeInTheDocument(); - }); + it('should not display all the mandatory question details for certain org types', () => { + const mandatoryQuestionForIndividual = { + ...defaultMandatoryQuestion, + orgType: 'Individual', + companiesHouseNumber: '', + charityCommissionNumber: '', + }; + renderWithRouter( + getDefaultProps(mandatoryQuestionForIndividual))} + /> + ); + const mandatoryQuestionDetails = generateMandatoryQuestionDetails( + mandatoryQuestionForIndividual, + 'mandatoryQuestionId' + ); + + mandatoryQuestionDetails.forEach((detail) => { + if (!detail.hidden) { + checkDetailItem(detail); } else { - const valueElement = screen.getByText( - detail.showCurrency ? `£ ${detail.value}` : detail.value - ); - expect(valueElement).toBeInTheDocument(); + const labelElement = screen.queryByText(detail.label); + expect(labelElement).not.toBeInTheDocument(); } }); const changeLinks = screen.getAllByText('Change', { selector: 'a', }); - expect(changeLinks).toHaveLength(7); + expect(changeLinks).toHaveLength(5); }); it('should display a confirm and submit button', () => { diff --git a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-summary.page.tsx b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-summary.page.tsx index 9755c1e6c..5cf0b3fa3 100644 --- a/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-summary.page.tsx +++ b/packages/applicant/src/pages/mandatory-questions/[mandatoryQuestionId]/organisation-summary.page.tsx @@ -11,7 +11,19 @@ export const generateMandatoryQuestionDetails = ( mandatoryQuestion, mandatoryQuestionId ): MandatoryQuestionDetails[] => { + const shouldDisplayExtraFields = [ + 'Limited company', + 'Charity', + 'Other', + ].includes(mandatoryQuestion.orgType); return [ + { + id: 'organisationType', + label: 'Type of organisation', + value: mandatoryQuestion?.orgType, + url: routes.mandatoryQuestions.typePage(mandatoryQuestionId), + status: 'Change', + }, { id: 'organisationName', label: 'Name', @@ -32,13 +44,6 @@ export const generateMandatoryQuestionDetails = ( url: routes.mandatoryQuestions.addressPage(mandatoryQuestionId), status: 'Change', }, - { - id: 'organisationType', - label: 'Type of organisation', - value: mandatoryQuestion?.orgType, - url: routes.mandatoryQuestions.typePage(mandatoryQuestionId), - status: 'Change', - }, { id: 'organisationCompaniesHouseNumber', label: 'Companies House number', @@ -47,6 +52,7 @@ export const generateMandatoryQuestionDetails = ( mandatoryQuestionId ), status: 'Change', + hidden: !shouldDisplayExtraFields, }, { id: 'organisationCharity', @@ -56,6 +62,7 @@ export const generateMandatoryQuestionDetails = ( mandatoryQuestionId ), status: 'Change', + hidden: !shouldDisplayExtraFields, }, { id: 'fundingAmount', @@ -109,8 +116,9 @@ export default function MandatoryQuestionOrganisationSummaryPage({ they can run checks to prevent fraud.

- {mandatoryQuestionDetails?.map((mandatoryQuestionDetail) => { - return ( + {mandatoryQuestionDetails + ?.filter((item) => !item.hidden) + ?.map((mandatoryQuestionDetail) => (
- ); - })} + ))}
) { - const backButtonUrl = - routes.mandatoryQuestions.addressPage(mandatoryQuestionId); return ( <> => ({ + req: { + headers: { + referer: `${process.env.HOST}/test/path`, + }, + }, query: { schemeId: '1' }, }); const mandatoryQuestionData: GrantMandatoryQuestionDto = { diff --git a/packages/applicant/src/pages/submissions/[submissionId]/sections/[sectionId]/index.page.tsx b/packages/applicant/src/pages/submissions/[submissionId]/sections/[sectionId]/index.page.tsx index d2b7be33f..61988e88e 100644 --- a/packages/applicant/src/pages/submissions/[submissionId]/sections/[sectionId]/index.page.tsx +++ b/packages/applicant/src/pages/submissions/[submissionId]/sections/[sectionId]/index.page.tsx @@ -36,6 +36,11 @@ export const getQuestionUrl = ( const queryParam = `?fromSubmissionPage=true&submissionId=${submissionId}§ionId=${sectionId}`; if (sectionId === 'ORGANISATION_DETAILS') { switch (questionId) { + case 'APPLICANT_TYPE': { + return ( + routes.mandatoryQuestions.typePage(mandatoryQuestionId) + queryParam + ); + } case 'APPLICANT_ORG_NAME': { return ( routes.mandatoryQuestions.namePage(mandatoryQuestionId) + queryParam @@ -47,11 +52,6 @@ export const getQuestionUrl = ( queryParam ); } - case 'APPLICANT_TYPE': { - return ( - routes.mandatoryQuestions.typePage(mandatoryQuestionId) + queryParam - ); - } case 'APPLICANT_ORG_COMPANIES_HOUSE': { return ( routes.mandatoryQuestions.companiesHouseNumberPage( diff --git a/packages/gap-web-ui/package.json b/packages/gap-web-ui/package.json index 0eddd6ebf..a65c6c233 100644 --- a/packages/gap-web-ui/package.json +++ b/packages/gap-web-ui/package.json @@ -37,7 +37,7 @@ "@storybook/preset-scss": "1.0.3", "@storybook/react-webpack5": "7.4.6", "@storybook/testing-library": "0.1.0", - "@tinymce/tinymce-react": "^4.3.0", + "@tinymce/tinymce-react": "^4.3.1", "@types/jest": "^28.1.4", "@types/react": "^18.0.14", "@types/turndown": "^5.0.1", diff --git a/yarn.lock b/yarn.lock index aaba40168..ecd6abc52 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5025,6 +5025,22 @@ __metadata: languageName: node linkType: hard +"@storybook/storybook-deployer@npm:^2.8.16": + version: 2.8.16 + resolution: "@storybook/storybook-deployer@npm:2.8.16" + dependencies: + git-url-parse: ^12.0.0 + glob: ^7.1.3 + parse-repo: ^1.0.4 + shelljs: ^0.8.1 + yargs: ^15.0.0 + bin: + storybook-to-aws-s3: bin/storybook_to_aws_s3 + storybook-to-ghpages: bin/storybook_to_ghpages + checksum: 06d02d9da9e6242de89436973e0a0d8126bcac5a89e7356815b095073d7c3b8c5ec7e9216183b18a9ec9c120455634a08388ddf67b1192cda748577768f07bd2 + languageName: node + linkType: hard + "@storybook/telemetry@npm:7.4.6": version: 7.4.6 resolution: "@storybook/telemetry@npm:7.4.6" @@ -5328,16 +5344,17 @@ __metadata: languageName: node linkType: hard -"@tinymce/tinymce-react@npm:^4.3.0": - version: 4.3.0 - resolution: "@tinymce/tinymce-react@npm:4.3.0" +"@tinymce/tinymce-react@npm:^4.3.1": + version: 4.3.1 + resolution: "@tinymce/tinymce-react@npm:4.3.1" dependencies: + "@storybook/storybook-deployer": ^2.8.16 prop-types: ^15.6.2 - tinymce: ^6.3.1 + tinymce: ^6.0.0 || ^5.5.1 peerDependencies: react: ^18.0.0 || ^17.0.1 || ^16.7.0 react-dom: ^18.0.0 || ^17.0.1 || ^16.7.0 - checksum: 73b3765ae9bacc58df760c1bb8968fc6c8dd498373a8f99f782292f0c3bbc4c1ff71d6aaa1d8ac66349a79ebfc6091698c2891532c3efd8f795399b59bb427b8 + checksum: 3911f8680adee61ff85e74715ea4d2ce4e04b8bde55ab9b5e74a9731f5ae73692f38f5c668df5fe1ef38dd4cea1607bfd6c60d2ba1b6e6fd36f8fc111ae2f9cb languageName: node linkType: hard @@ -7789,7 +7806,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.3.1": +"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b @@ -8042,6 +8059,17 @@ __metadata: languageName: node linkType: hard +"cliui@npm:^6.0.0": + version: 6.0.0 + resolution: "cliui@npm:6.0.0" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.0 + wrap-ansi: ^6.2.0 + checksum: 4fcfd26d292c9f00238117f39fc797608292ae36bac2168cfee4c85923817d0607fe21b3329a8621e01aedf512c99b7eaa60e363a671ffd378df6649fb48ae42 + languageName: node + linkType: hard + "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -10928,6 +10956,13 @@ __metadata: languageName: node linkType: hard +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 + languageName: node + linkType: hard + "function.prototype.name@npm:^1.1.5": version: 1.1.5 resolution: "function.prototype.name@npm:1.1.5" @@ -10989,7 +11024,7 @@ __metadata: "@storybook/preset-scss": 1.0.3 "@storybook/react-webpack5": 7.4.6 "@storybook/testing-library": 0.1.0 - "@tinymce/tinymce-react": ^4.3.0 + "@tinymce/tinymce-react": ^4.3.1 "@types/jest": ^28.1.4 "@types/react": ^18.0.14 "@types/turndown": ^5.0.1 @@ -11052,7 +11087,7 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.5": +"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 @@ -11160,6 +11195,25 @@ __metadata: languageName: node linkType: hard +"git-up@npm:^6.0.0": + version: 6.0.0 + resolution: "git-up@npm:6.0.0" + dependencies: + is-ssh: ^1.4.0 + parse-url: ^7.0.2 + checksum: 145a1f546d7a078cdfc2616556e518e634d134e34a31c6bf2ed89e44158659cb525dbd451c338121f7107f55cef066d0b37a7bbf178555befc9304b3940b435e + languageName: node + linkType: hard + +"git-url-parse@npm:^12.0.0": + version: 12.0.0 + resolution: "git-url-parse@npm:12.0.0" + dependencies: + git-up: ^6.0.0 + checksum: b4c8530b816202ecf9d4dabf755f785a314a096b56145018385b3d7171e862f9d0d9b38cce620c0af354b269750fe7b2d9aa95815c7150922090a11dac4ab1e6 + languageName: node + linkType: hard + "github-slugger@npm:^1.0.0": version: 1.5.0 resolution: "github-slugger@npm:1.5.0" @@ -11212,7 +11266,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": +"glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -11460,6 +11514,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.0": + version: 2.0.0 + resolution: "hasown@npm:2.0.0" + dependencies: + function-bind: ^1.1.2 + checksum: 6151c75ca12554565098641c98a40f4cc86b85b0fd5b6fe92360967e4605a4f9610f7757260b4e8098dd1c2ce7f4b095f2006fe72a570e3b6d2d28de0298c176 + languageName: node + linkType: hard + "he@npm:1.2.0, he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -11894,6 +11957,13 @@ __metadata: languageName: node linkType: hard +"interpret@npm:^1.0.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 2e5f51268b5941e4a17e4ef0575bc91ed0ab5f8515e3cf77486f7c14d13f3010df9c0959f37063dcc96e78d12dc6b0bb1b9e111cdfe69771f4656d2993d36155 + languageName: node + linkType: hard + "into-stream@npm:^6.0.0": version: 6.0.0 resolution: "into-stream@npm:6.0.0" @@ -12050,6 +12120,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.13.0": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" + dependencies: + hasown: ^2.0.0 + checksum: 256559ee8a9488af90e4bad16f5583c6d59e92f0742e9e8bb4331e758521ee86b810b93bae44f390766ffbc518a0488b18d9dab7da9a5ff997d499efc9403f7c + languageName: node + linkType: hard + "is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" @@ -12313,6 +12392,15 @@ __metadata: languageName: node linkType: hard +"is-ssh@npm:^1.4.0": + version: 1.4.0 + resolution: "is-ssh@npm:1.4.0" + dependencies: + protocols: ^2.0.1 + checksum: 75eaa17b538bee24b661fbeb0f140226ac77e904a6039f787bea418431e2162f1f9c4c4ccad3bd169e036cd701cc631406e8c505d9fa7e20164e74b47f86f40f + languageName: node + linkType: hard + "is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" @@ -14864,7 +14952,7 @@ __metadata: languageName: node linkType: hard -"normalize-url@npm:^6.0.1": +"normalize-url@npm:^6.0.1, normalize-url@npm:^6.1.0": version: 6.1.0 resolution: "normalize-url@npm:6.1.0" checksum: 4a4944631173e7d521d6b80e4c85ccaeceb2870f315584fa30121f505a6dfd86439c5e3fdd8cd9e0e291290c41d0c3599f0cb12ab356722ed242584c30348e50 @@ -15296,6 +15384,34 @@ __metadata: languageName: node linkType: hard +"parse-path@npm:^5.0.0": + version: 5.0.0 + resolution: "parse-path@npm:5.0.0" + dependencies: + protocols: ^2.0.0 + checksum: e9f670559cd8e535f39f548bf5d41ad96a220190ea98df33d0babd9dfaa7c3c70ee2e55394078517d5e7e93c6a39c8eac1261ed3f9e68033656614fc954262e8 + languageName: node + linkType: hard + +"parse-repo@npm:^1.0.4": + version: 1.0.4 + resolution: "parse-repo@npm:1.0.4" + checksum: b0d32a182cdb2287adfb1d9141f7f694890e0ad659e80f75ec2e266339c5a728328f08cb72caf85cb7524b5dbbc4122b17efdd48e0d17d96ed9863ec512e0141 + languageName: node + linkType: hard + +"parse-url@npm:^7.0.2": + version: 7.0.2 + resolution: "parse-url@npm:7.0.2" + dependencies: + is-ssh: ^1.4.0 + normalize-url: ^6.1.0 + parse-path: ^5.0.0 + protocols: ^2.0.1 + checksum: 3e26852706bebe9fac409909316716dee52883d2fb5c82d65577effba1507abb7bc42bb59ce0ba6c8659168fb99acf89000bd8fe096ed3ad7124fa85227436d7 + languageName: node + linkType: hard + "parse5@npm:^7.0.0, parse5@npm:^7.1.1": version: 7.1.2 resolution: "parse5@npm:7.1.2" @@ -16302,6 +16418,13 @@ __metadata: languageName: node linkType: hard +"protocols@npm:^2.0.0, protocols@npm:^2.0.1": + version: 2.0.1 + resolution: "protocols@npm:2.0.1" + checksum: 4a9bef6aa0449a0245ded319ac3cbfd032c3e76ebb562777037a3a832c99253d0e8bc2847f7be350236df620a11f7d4fe683ea7f59a2cc14c69f746b6259eda4 + languageName: node + linkType: hard + "proxy-addr@npm:~2.0.7": version: 2.0.7 resolution: "proxy-addr@npm:2.0.7" @@ -16863,6 +16986,15 @@ __metadata: languageName: node linkType: hard +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: ^1.1.6 + checksum: fe76bf9c21875ac16e235defedd7cbd34f333c02a92546142b7911a0f7c7059d2e16f441fe6fb9ae203f459c05a31b2bcf26202896d89e390eda7514d5d2702b + languageName: node + linkType: hard + "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -17041,6 +17173,13 @@ __metadata: languageName: node linkType: hard +"require-main-filename@npm:^2.0.0": + version: 2.0.0 + resolution: "require-main-filename@npm:2.0.0" + checksum: e9e294695fea08b076457e9ddff854e81bffbe248ed34c1eec348b7abbd22a0d02e8d75506559e2265e96978f3c4720bd77a6dad84755de8162b357eb6c778c7 + languageName: node + linkType: hard + "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -17078,6 +17217,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.1.6": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" + dependencies: + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c + languageName: node + linkType: hard + "resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1": version: 1.22.3 resolution: "resolve@npm:1.22.3" @@ -17104,6 +17256,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@^1.1.6#~builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d" + dependencies: + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 5479b7d431cacd5185f8db64bfcb7286ae5e31eb299f4c4f404ad8aa6098b77599563ac4257cb2c37a42f59dfc06a1bec2bcf283bb448f319e37f0feb9a09847 + languageName: node + linkType: hard + "resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": version: 1.22.3 resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=c3c19d" @@ -17575,6 +17740,19 @@ __metadata: languageName: node linkType: hard +"shelljs@npm:^0.8.1": + version: 0.8.5 + resolution: "shelljs@npm:0.8.5" + dependencies: + glob: ^7.0.0 + interpret: ^1.0.0 + rechoir: ^0.6.2 + bin: + shjs: bin/shjs + checksum: 7babc46f732a98f4c054ec1f048b55b9149b98aa2da32f6cf9844c434b43c6251efebd6eec120937bd0999e13811ebd45efe17410edb3ca938f82f9381302748 + languageName: node + linkType: hard + "side-channel@npm:^1.0.4": version: 1.0.4 resolution: "side-channel@npm:1.0.4" @@ -19404,6 +19582,13 @@ __metadata: languageName: node linkType: hard +"which-module@npm:^2.0.0": + version: 2.0.1 + resolution: "which-module@npm:2.0.1" + checksum: 1967b7ce17a2485544a4fdd9063599f0f773959cca24176dbe8f405e55472d748b7c549cd7920ff6abb8f1ab7db0b0f1b36de1a21c57a8ff741f4f1e792c52be + languageName: node + linkType: hard + "which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": version: 1.1.9 resolution: "which-typed-array@npm:1.1.9" @@ -19590,6 +19775,13 @@ __metadata: languageName: node linkType: hard +"y18n@npm:^4.0.0": + version: 4.0.3 + resolution: "y18n@npm:4.0.3" + checksum: 014dfcd9b5f4105c3bb397c1c8c6429a9df004aa560964fb36732bfb999bfe83d45ae40aeda5b55d21b1ee53d8291580a32a756a443e064317953f08025b1aa4 + languageName: node + linkType: hard + "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -19618,6 +19810,16 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^18.1.2": + version: 18.1.3 + resolution: "yargs-parser@npm:18.1.3" + dependencies: + camelcase: ^5.0.0 + decamelize: ^1.2.0 + checksum: 60e8c7d1b85814594d3719300ecad4e6ae3796748b0926137bfec1f3042581b8646d67e83c6fc80a692ef08b8390f21ddcacb9464476c39bbdf52e34961dd4d9 + languageName: node + linkType: hard + "yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.9": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" @@ -19632,6 +19834,25 @@ __metadata: languageName: node linkType: hard +"yargs@npm:^15.0.0": + version: 15.4.1 + resolution: "yargs@npm:15.4.1" + dependencies: + cliui: ^6.0.0 + decamelize: ^1.2.0 + find-up: ^4.1.0 + get-caller-file: ^2.0.1 + require-directory: ^2.1.1 + require-main-filename: ^2.0.0 + set-blocking: ^2.0.0 + string-width: ^4.2.0 + which-module: ^2.0.0 + y18n: ^4.0.0 + yargs-parser: ^18.1.2 + checksum: 40b974f508d8aed28598087720e086ecd32a5fd3e945e95ea4457da04ee9bdb8bdd17fd91acff36dc5b7f0595a735929c514c40c402416bbb87c03f6fb782373 + languageName: node + linkType: hard + "yargs@npm:^16.2.0": version: 16.2.0 resolution: "yargs@npm:16.2.0"