create-qpq-app 0.1.26 → 0.1.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/lib/commonjs/cli/runCreateQpqApp.js +15 -1
- package/lib/commonjs/cli/runCreateQpqApp.js.map +1 -1
- package/lib/commonjs/lib/index.d.ts +1 -1
- package/lib/commonjs/lib/index.js +1 -1
- package/lib/commonjs/lib/index.js.map +1 -1
- package/lib/commonjs/lib/promptText.d.ts +1 -0
- package/lib/commonjs/lib/promptText.js +53 -0
- package/lib/commonjs/lib/promptText.js.map +1 -0
- package/lib/commonjs/steps/005_applyAppIdentity.js +6 -5
- package/lib/commonjs/steps/005_applyAppIdentity.js.map +1 -1
- package/lib/commonjs/steps/006_applyDomain.js +11 -6
- package/lib/commonjs/steps/006_applyDomain.js.map +1 -1
- package/lib/commonjs/steps/007_applyDockerHost.d.ts +2 -0
- package/lib/commonjs/steps/007_applyDockerHost.js +40 -0
- package/lib/commonjs/steps/007_applyDockerHost.js.map +1 -0
- package/lib/commonjs/steps/{007_pinRegistryVersions.js → 008_pinRegistryVersions.js} +1 -1
- package/lib/commonjs/steps/{007_pinRegistryVersions.js.map → 008_pinRegistryVersions.js.map} +1 -1
- package/lib/commonjs/steps/{008_transpileToJavaScript.js → 009_transpileToJavaScript.js} +1 -1
- package/lib/commonjs/steps/{008_transpileToJavaScript.js.map → 009_transpileToJavaScript.js.map} +1 -1
- package/lib/commonjs/steps/{009_restoreGitignore.js → 010_restoreGitignore.js} +1 -1
- package/lib/commonjs/steps/{009_restoreGitignore.js.map → 010_restoreGitignore.js.map} +1 -1
- package/lib/commonjs/steps/{010_gitInit.js → 011_gitInit.js} +1 -1
- package/lib/commonjs/steps/{010_gitInit.js.map → 011_gitInit.js.map} +1 -1
- package/lib/commonjs/steps/{011_npmInstall.js → 012_npmInstall.js} +1 -1
- package/lib/commonjs/steps/{011_npmInstall.js.map → 012_npmInstall.js.map} +1 -1
- package/lib/commonjs/steps/{012_buildWorkspaces.js → 013_buildWorkspaces.js} +1 -1
- package/lib/commonjs/steps/{012_buildWorkspaces.js.map → 013_buildWorkspaces.js.map} +1 -1
- package/lib/commonjs/steps/{013_printNextSteps.js → 014_printNextSteps.js} +6 -3
- package/lib/commonjs/steps/014_printNextSteps.js.map +1 -0
- package/lib/commonjs/steps/index.d.ts +9 -8
- package/lib/commonjs/steps/index.js +25 -22
- package/lib/commonjs/steps/index.js.map +1 -1
- package/lib/commonjs/types/CreateQpqAppAnswers.d.ts +2 -0
- package/lib/commonjs/types/CreateQpqAppAnswers.js.map +1 -1
- package/lib/esm/cli/runCreateQpqApp.js +15 -1
- package/lib/esm/cli/runCreateQpqApp.js.map +1 -1
- package/lib/esm/lib/index.d.ts +1 -1
- package/lib/esm/lib/index.js +1 -1
- package/lib/esm/lib/index.js.map +1 -1
- package/lib/esm/lib/promptText.d.ts +1 -0
- package/lib/esm/lib/promptText.js +7 -0
- package/lib/esm/lib/promptText.js.map +1 -0
- package/lib/esm/steps/005_applyAppIdentity.js +6 -5
- package/lib/esm/steps/005_applyAppIdentity.js.map +1 -1
- package/lib/esm/steps/006_applyDomain.js +11 -6
- package/lib/esm/steps/006_applyDomain.js.map +1 -1
- package/lib/esm/steps/007_applyDockerHost.d.ts +2 -0
- package/lib/esm/steps/007_applyDockerHost.js +30 -0
- package/lib/esm/steps/007_applyDockerHost.js.map +1 -0
- package/lib/esm/steps/{007_pinRegistryVersions.js → 008_pinRegistryVersions.js} +1 -1
- package/lib/esm/steps/{007_pinRegistryVersions.js.map → 008_pinRegistryVersions.js.map} +1 -1
- package/lib/esm/steps/{008_transpileToJavaScript.js → 009_transpileToJavaScript.js} +1 -1
- package/lib/esm/steps/{008_transpileToJavaScript.js.map → 009_transpileToJavaScript.js.map} +1 -1
- package/lib/esm/steps/{009_restoreGitignore.js → 010_restoreGitignore.js} +1 -1
- package/lib/esm/steps/{009_restoreGitignore.js.map → 010_restoreGitignore.js.map} +1 -1
- package/lib/esm/steps/{010_gitInit.js → 011_gitInit.js} +1 -1
- package/lib/esm/steps/{010_gitInit.js.map → 011_gitInit.js.map} +1 -1
- package/lib/esm/steps/{011_npmInstall.js → 012_npmInstall.js} +1 -1
- package/lib/esm/steps/{011_npmInstall.js.map → 012_npmInstall.js.map} +1 -1
- package/lib/esm/steps/{012_buildWorkspaces.js → 013_buildWorkspaces.js} +1 -1
- package/lib/esm/steps/{012_buildWorkspaces.js.map → 013_buildWorkspaces.js.map} +1 -1
- package/lib/esm/steps/014_printNextSteps.js +24 -0
- package/lib/esm/steps/014_printNextSteps.js.map +1 -0
- package/lib/esm/steps/index.d.ts +9 -8
- package/lib/esm/steps/index.js +10 -8
- package/lib/esm/steps/index.js.map +1 -1
- package/lib/esm/types/CreateQpqAppAnswers.d.ts +2 -0
- package/lib/esm/types/CreateQpqAppAnswers.js.map +1 -1
- package/package.json +2 -2
- package/template/README.md +4 -3
- package/template/apps/qpqjs/bootstrap.qpq.ts +3 -2
- package/template/apps/qpqjs/deploy.config.json +42 -9
- package/template/apps/qpqjs/devServer.config.ts +13 -0
- package/template/apps/qpqjs/packages/constants/src/index.ts +0 -1
- package/template/apps/qpqjs/packages/service-utils/src/defineQpqjsService.ts +12 -29
- package/template/apps/qpqjs/services/admin/service/src/infrastructure.ts +1 -1
- package/template/apps/qpqjs/services/admin/views/src/app/app.tsx +9 -19
- package/template/apps/qpqjs/services/design/service/src/infrastructure.ts +1 -1
- package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/NavBar.tsx +2 -10
- package/template/apps/qpqjs/services/design/views/src/components/WelcomeScreen/WelcomeScreen.tsx +3 -11
- package/template/apps/qpqjs/services/shell/service/src/infrastructure.ts +5 -1
- package/template/apps/qpqjs/services/test/models/src/SmokeProbeRecord.ts +3 -0
- package/template/apps/qpqjs/services/test/service/src/infrastructure.ts +1 -7
- package/template/apps/qpqjs/services/test/service/src/smoke/config/defineSmoke.ts +8 -264
- package/template/apps/qpqjs/services/test/service/src/smoke/harness/assert/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/harness/config/defineSmokeHarness.ts +115 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/harness/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{constants → harness/constants}/index.ts +0 -2
- package/template/apps/qpqjs/services/test/service/src/smoke/harness/index.ts +10 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{logic → harness/logic}/smokeRun/askExecuteSmokeTest.ts +3 -3
- package/template/apps/qpqjs/services/test/service/src/smoke/{logic → harness/logic}/smokeRun/askStartSmokeRun.ts +5 -4
- package/template/apps/qpqjs/services/test/service/src/smoke/{logic → harness/logic}/smokeRun/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/harness/logic/smokeRun/listSmokeTests.ts +6 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{models → harness/models}/SmokeTestRequestedQueueEvent.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/harness/models/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/harness/queue/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/harness/types/SmokeSuite.ts +13 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/harness/types/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/index.ts +2 -12
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/emailReceive/config/defineEmailReceiveSmoke.ts +20 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/emailReceive/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/emailReceive/constants/SMOKE_EMAIL_RECEIVER.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/emailReceive/constants/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/emailReceive/emailReceiveSmokeSuite.ts +15 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{email → suites/emailReceive/entry/email}/index.ts +0 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/{email → suites/emailReceive/entry/email}/onSmokeEmailReceived.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/emailReceive/entry/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/emailReceive/index.ts +5 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/emailReceive → suites/emailReceive/logic}/askRunEmailReceiveTest.ts +3 -3
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/emailReceive → suites/emailReceive/logic}/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/encryptedResources/config/defineEncryptedResourcesSmoke.ts +29 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/encryptedResources/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/encryptedResources/constants/SMOKE_CRYPTO_KEY.ts +5 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/encryptedResources/constants/SMOKE_ENCRYPTED_PROBE_DRIVE.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/encryptedResources/constants/SMOKE_ENCRYPTED_PROBE_STORE.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/encryptedResources/constants/index.ts +3 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/encryptedResources/encryptedResourcesSmokeSuite.ts +9 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/encryptedResources/index.ts +4 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/encryptedResources → suites/encryptedResources/logic}/askRunEncryptedResourcesTest.ts +3 -5
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/config/defineEventBusSmoke.ts +21 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/constants/SMOKE_PROBE_EVENT_BUS.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/constants/SMOKE_PROBE_EVENT_QUEUE.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/constants/SMOKE_PROBE_EVENT_TYPE.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/constants/index.ts +3 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/entry/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/entry/queue/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{queue → suites/eventBus/entry/queue}/onSmokeProbeEvent.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/eventBusSmokeSuite.ts +9 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/index.ts +6 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/eventBus → suites/eventBus/logic}/askRunEventBusTest.ts +4 -6
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventBus/models/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventDoc/config/defineEventDocSmoke.ts +44 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventDoc/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventDoc/constants/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{constants → suites/eventDoc/constants}/smokeEventDoc.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventDoc/entry/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventDoc/entry/queue/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{queue → suites/eventDoc/entry/queue}/onSmokeEventDocAppend.ts +3 -3
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventDoc/eventDocSmokeSuite.ts +19 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventDoc/index.ts +7 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/eventDoc → suites/eventDoc/logic}/askAssertContiguousEventIds.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/eventDoc → suites/eventDoc/logic}/askAssertSmokeProbeDocState.ts +2 -2
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/eventDoc → suites/eventDoc/logic}/askAwaitSmokeEventDocLog.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/eventDoc → suites/eventDoc/logic}/askRunEventDocConcurrentAppendTest.ts +5 -5
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/eventDoc → suites/eventDoc/logic}/askRunEventDocInterleavedBatchAppendTest.ts +4 -4
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/eventDoc/models/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests → suites}/index.ts +4 -5
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/keyValueStore/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/keyValueStore/keyValueStoreSmokeSuite.ts +14 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/crossService → suites/keyValueStore/logic}/askRunCrossServiceKeyValueStoreTest.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/keyValueStore → suites/keyValueStore/logic}/askRunKeyValueStoreTest.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/keyValueStore/logic/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/keyValueStoreStream/config/defineKeyValueStoreStreamSmoke.ts +30 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/keyValueStoreStream/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/keyValueStoreStream/constants/SMOKE_STREAM_PROBE_STORE.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/keyValueStoreStream/constants/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/keyValueStoreStream/entry/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{kvsStream → suites/keyValueStoreStream/entry/kvsStream}/index.ts +0 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/{kvsStream → suites/keyValueStoreStream/entry/kvsStream}/onSmokeStreamRecord.ts +6 -4
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/keyValueStoreStream/index.ts +5 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/keyValueStoreStream/keyValueStoreStreamSmokeSuite.ts +11 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/keyValueStoreStream → suites/keyValueStoreStream/logic}/askRunKeyValueStoreStreamTest.ts +15 -6
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/keyValueStoreStream → suites/keyValueStoreStream/logic}/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/noop/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/noop/noopSmokeSuite.ts +7 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/openApi/config/defineOpenApiSmoke.ts +13 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/openApi/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/openApi/index.ts +4 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/openApi → suites/openApi/logic}/askRunEchoRoundTripTest.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/openApi → suites/openApi/logic}/askRunOpenApiDocumentTest.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/openApi/openApiSmokeSuite.ts +13 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/parameter/config/defineParameterSmoke.ts +11 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/parameter/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/parameter/constants/SMOKE_PROBE_PARAMETER.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/parameter/constants/SMOKE_PROBE_PARAMETER_VALUE.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/parameter/constants/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/parameter/index.ts +4 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/parameter → suites/parameter/logic}/askRunParameterTest.ts +3 -5
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/parameter/parameterSmokeSuite.ts +9 -0
- package/template/apps/qpqjs/services/test/service/src/{tick/config/defineTick.ts → smoke/suites/schedule/config/defineScheduleSmoke.ts} +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/schedule/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/schedule/entry/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/schedule/index.ts +6 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/schedule → suites/schedule/logic}/askRunScheduleTest.ts +4 -4
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/schedule/scheduleSmokeSuite.ts +9 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedKeyValueStore/config/defineScopedKeyValueStoreSmoke.ts +19 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedKeyValueStore/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedKeyValueStore/constants/SMOKE_SCOPED_PROBE_STORE.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedKeyValueStore/constants/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedKeyValueStore/index.ts +4 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedKeyValueStore/logic/askRunScopedKeyValueStoreTest.ts +256 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedKeyValueStore/scopedKeyValueStoreSmokeSuite.ts +11 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedStorageDrive/config/defineScopedStorageDriveSmoke.ts +12 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedStorageDrive/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedStorageDrive/constants/SMOKE_SCOPED_PROBE_DRIVE.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedStorageDrive/constants/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedStorageDrive/index.ts +4 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/scopedStorageDrive → suites/scopedStorageDrive/logic}/askRunScopedStorageDriveTest.ts +2 -2
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/scopedStorageDrive/scopedStorageDriveSmokeSuite.ts +9 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/secret/config/defineSecretSmoke.ts +8 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/secret/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/secret/constants/SMOKE_PROBE_SECRET.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/secret/constants/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/secret/index.ts +4 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/secret → suites/secret/logic}/askRunSecretTest.ts +2 -2
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/secret/secretSmokeSuite.ts +9 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/signingKey/config/defineSigningKeySmoke.ts +12 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/signingKey/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/signingKey/index.ts +3 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/crossService → suites/signingKey/logic}/askRunCrossServiceSigningKeyTest.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/signingKey → suites/signingKey/logic}/askRunSigningKeyTest.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/signingKey/logic/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/signingKey/signingKeySmokeSuite.ts +16 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/smokeSuites.ts +46 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDrive/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/crossService → suites/storageDrive/logic}/askRunCrossServiceStorageDriveTest.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/storageDrive → suites/storageDrive/logic}/askRunStorageDriveTest.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDrive/logic/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDrive/storageDriveSmokeSuite.ts +14 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDriveEvent/config/defineStorageDriveEventSmoke.ts +27 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDriveEvent/config/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDriveEvent/constants/SMOKE_FILE_EVENT_DRIVE.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDriveEvent/constants/SMOKE_SCOPED_FILE_EVENT_DRIVE.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDriveEvent/constants/index.ts +2 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDriveEvent/entry/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDriveEvent/entry/storageDrive/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{storageDrive → suites/storageDriveEvent/entry/storageDrive}/onSmokeFileEvent.ts +1 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDriveEvent/index.ts +5 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/storageDriveEvent → suites/storageDriveEvent/logic}/askRunStorageDriveEventTest.ts +7 -9
- package/template/apps/qpqjs/services/test/service/src/smoke/{tests/storageDriveEvent → suites/storageDriveEvent/logic}/index.ts +1 -0
- package/template/apps/qpqjs/services/test/service/src/smoke/suites/storageDriveEvent/storageDriveEventSmokeSuite.ts +9 -0
- package/template/apps/qpqjs/services/testa/models/src/CrossServiceProbePayload.ts +1 -1
- package/template/apps/qpqjs/services/testa/service/src/infrastructure.ts +3 -3
- package/template/apps/qpqjs/services/testa/service/src/smoke/config/defineSmokeProbes.ts +16 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/config/index.ts +1 -0
- package/template/apps/qpqjs/services/{test/service/src/tick → testa/service/src/smoke}/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/index.ts +3 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/keyValueStore/config/defineKeyValueStoreSmokeProbe.ts +33 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/keyValueStore/config/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/keyValueStore/entry/serviceFunction/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/keyValueStore/logic/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/signingKey/config/defineSigningKeySmokeProbe.ts +28 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/signingKey/config/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/signingKey/entry/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/signingKey/entry/serviceFunction/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/signingKey/index.ts +3 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/signingKey/logic/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/storageDrive/config/defineStorageDriveSmokeProbe.ts +31 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/storageDrive/config/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/storageDrive/entry/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/storageDrive/entry/serviceFunction/index.ts +1 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/storageDrive/index.ts +3 -0
- package/template/apps/qpqjs/services/testa/service/src/smoke/suites/storageDrive/logic/index.ts +1 -0
- package/template/apps/todo/deploy.config.json +13 -4
- package/template/apps/todo/packages/constants/src/index.ts +0 -1
- package/template/apps/todo/packages/service-utils/src/defineTodoService.ts +9 -7
- package/template/apps/todo/services/admin/service/src/infrastructure.ts +1 -1
- package/template/apps/todo/services/admin/views/src/app/app.tsx +9 -19
- package/template/apps/todo/services/auth/service/src/infrastructure.ts +1 -1
- package/template/apps/todo/services/design/service/src/infrastructure.ts +1 -1
- package/template/apps/todo/services/shell/service/src/infrastructure.ts +1 -1
- package/template/apps/todo/services/todo/service/src/infrastructure.ts +1 -1
- package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-delete.md +1 -1
- package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-get-all.md +1 -1
- package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-get.md +1 -1
- package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-query.md +3 -1
- package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-scan.md +1 -1
- package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-update.md +1 -1
- package/template/docusaurus/docs/actions/core/key-value-store/ask-key-value-store-upsert.md +1 -1
- package/template/docusaurus/docs/config/core/key-value-store.md +12 -2
- package/template/docusaurus/docs/config/features/event-doc.md +22 -1
- package/template/docusaurus/docs/getting-started.md +5 -5
- package/template/scripts/deployedSmoke.mjs +27 -22
- package/template/scripts/localSmoke.mjs +7 -7
- package/lib/commonjs/lib/replaceInFileExact.d.ts +0 -1
- package/lib/commonjs/lib/replaceInFileExact.js +0 -18
- package/lib/commonjs/lib/replaceInFileExact.js.map +0 -1
- package/lib/commonjs/steps/013_printNextSteps.js.map +0 -1
- package/lib/esm/lib/replaceInFileExact.d.ts +0 -1
- package/lib/esm/lib/replaceInFileExact.js +0 -11
- package/lib/esm/lib/replaceInFileExact.js.map +0 -1
- package/lib/esm/steps/013_printNextSteps.js +0 -21
- package/lib/esm/steps/013_printNextSteps.js.map +0 -1
- package/template/apps/qpqjs/packages/constants/src/domain.ts +0 -3
- package/template/apps/qpqjs/services/test/service/src/echo/config/defineEcho.ts +0 -9
- package/template/apps/qpqjs/services/test/service/src/smoke/constants/smokeProbe.ts +0 -39
- package/template/apps/qpqjs/services/test/service/src/smoke/models/index.ts +0 -5
- package/template/apps/qpqjs/services/test/service/src/smoke/queue/index.ts +0 -3
- package/template/apps/qpqjs/services/test/service/src/smoke/storageDrive/index.ts +0 -4
- package/template/apps/qpqjs/services/test/service/src/smoke/tests/crossService/index.ts +0 -3
- package/template/apps/qpqjs/services/test/service/src/smoke/tests/keyValueStore/index.ts +0 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/tests/scopedKeyValueStore/askRunScopedKeyValueStoreTest.ts +0 -102
- package/template/apps/qpqjs/services/test/service/src/smoke/tests/signingKey/index.ts +0 -1
- package/template/apps/qpqjs/services/test/service/src/smoke/tests/smokeTestRegistry.ts +0 -66
- package/template/apps/qpqjs/services/test/service/src/smoke/tests/storageDrive/index.ts +0 -1
- package/template/apps/qpqjs/services/test/service/src/tick/config/index.ts +0 -1
- package/template/apps/qpqjs/services/testa/service/src/crossServiceProbe/config/defineCrossServiceProbe.ts +0 -68
- package/template/apps/qpqjs/services/testa/service/src/crossServiceProbe/config/index.ts +0 -1
- package/template/apps/qpqjs/services/testa/service/src/crossServiceProbe/entry/serviceFunction/index.ts +0 -3
- package/template/apps/qpqjs/services/testa/service/src/crossServiceProbe/logic/index.ts +0 -3
- package/template/apps/todo/packages/constants/src/domain.ts +0 -2
- /package/lib/commonjs/steps/{007_pinRegistryVersions.d.ts → 008_pinRegistryVersions.d.ts} +0 -0
- /package/lib/commonjs/steps/{008_transpileToJavaScript.d.ts → 009_transpileToJavaScript.d.ts} +0 -0
- /package/lib/commonjs/steps/{009_restoreGitignore.d.ts → 010_restoreGitignore.d.ts} +0 -0
- /package/lib/commonjs/steps/{010_gitInit.d.ts → 011_gitInit.d.ts} +0 -0
- /package/lib/commonjs/steps/{011_npmInstall.d.ts → 012_npmInstall.d.ts} +0 -0
- /package/lib/commonjs/steps/{012_buildWorkspaces.d.ts → 013_buildWorkspaces.d.ts} +0 -0
- /package/lib/commonjs/steps/{013_printNextSteps.d.ts → 014_printNextSteps.d.ts} +0 -0
- /package/lib/esm/steps/{007_pinRegistryVersions.d.ts → 008_pinRegistryVersions.d.ts} +0 -0
- /package/lib/esm/steps/{008_transpileToJavaScript.d.ts → 009_transpileToJavaScript.d.ts} +0 -0
- /package/lib/esm/steps/{009_restoreGitignore.d.ts → 010_restoreGitignore.d.ts} +0 -0
- /package/lib/esm/steps/{010_gitInit.d.ts → 011_gitInit.d.ts} +0 -0
- /package/lib/esm/steps/{011_npmInstall.d.ts → 012_npmInstall.d.ts} +0 -0
- /package/lib/esm/steps/{012_buildWorkspaces.d.ts → 013_buildWorkspaces.d.ts} +0 -0
- /package/lib/esm/steps/{013_printNextSteps.d.ts → 014_printNextSteps.d.ts} +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests → harness/assert}/askSmokeAssert.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests → harness/assert}/askSmokePollForMarker.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{constants → harness/constants}/SMOKE_RUNS_STORE.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{constants → harness/constants}/githubOidc.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{constants → harness/constants}/smokeRunQueue.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{controller → harness/controller}/askGetSmokeRun.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{controller → harness/controller}/askRunSmokeTests.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{controller → harness/controller}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{data → harness/data}/askGetSmokeRunById.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{data → harness/data}/askRecordSmokeTestResult.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{data → harness/data}/askSaveSmokeRun.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{data → harness/data}/askSetSmokeRunOutcome.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{data → harness/data}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{logic → harness/logic}/github/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{logic → harness/logic}/github/verifyGithubOidcToken.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{logic → harness/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{logic → harness/logic}/smokeRun/askFindSmokeRun.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{logic → harness/logic}/smokeRun/summarizeSmokeRun.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{models → harness/models}/GithubOidcClaims.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{processors → harness/processors}/github/getGithubOidcAuthProcessors.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{processors → harness/processors}/github/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{processors → harness/processors}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{queue → harness/queue}/onSmokeTestRequested.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests → harness/types}/SmokeTestDefinition.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{email → suites/emailReceive/logic}/smokeEmailMarkerId.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/encryptedResources → suites/encryptedResources/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/eventBus → suites/eventBus/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{models → suites/eventBus/models}/SmokeProbeEventQueueEvent.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{eventDoc → suites/eventDoc/definition}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{eventDoc → suites/eventDoc/definition}/smokeProbeDocDefinition.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/eventDoc → suites/eventDoc/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{models → suites/eventDoc/models}/SmokeEventDocAppendQueueEvent.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{models → suites/eventDoc/models}/SmokeEventDocMark.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{kvsStream → suites/keyValueStoreStream/logic}/smokeStreamMarkerId.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/noop → suites/noop/logic}/askRunNoopTest.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/noop → suites/noop/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{echo → smoke/suites/openApi}/controller/echo.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{echo → smoke/suites/openApi}/controller/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/openApi → suites/openApi/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/parameter → suites/parameter/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{tick → smoke/suites/schedule}/constants/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{tick → smoke/suites/schedule}/constants/scheduleTickName.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{tick → smoke/suites/schedule}/constants/scheduleTickStore.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{tick → smoke/suites/schedule}/entry/kvsStream/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{tick → smoke/suites/schedule}/entry/kvsStream/onScheduleTickStream.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{tick → smoke/suites/schedule}/entry/schedule/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{tick → smoke/suites/schedule}/entry/schedule/onTick.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/schedule → suites/schedule/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{tick → smoke/suites/schedule}/models/ScheduleTickRecord.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/{tick → smoke/suites/schedule}/models/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/scopedKeyValueStore → suites/scopedKeyValueStore/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/scopedStorageDrive → suites/scopedStorageDrive/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{tests/secret → suites/secret/logic}/index.ts +0 -0
- /package/template/apps/qpqjs/services/test/service/src/smoke/{storageDrive → suites/storageDriveEvent/logic}/smokeFileEventMarkerId.ts +0 -0
- /package/template/apps/qpqjs/services/testa/service/src/{crossServiceProbe → smoke/suites/keyValueStore}/entry/index.ts +0 -0
- /package/template/apps/qpqjs/services/testa/service/src/{crossServiceProbe → smoke/suites/keyValueStore}/entry/serviceFunction/smokeCrossServiceKeyValueStoreProbe.ts +0 -0
- /package/template/apps/qpqjs/services/testa/service/src/{crossServiceProbe → smoke/suites/keyValueStore}/index.ts +0 -0
- /package/template/apps/qpqjs/services/testa/service/src/{crossServiceProbe → smoke/suites/keyValueStore}/logic/askProbeForeignKeyValueStore.ts +0 -0
- /package/template/apps/qpqjs/services/testa/service/src/{crossServiceProbe → smoke/suites/signingKey}/entry/serviceFunction/smokeCrossServiceSigningKeyProbe.ts +0 -0
- /package/template/apps/qpqjs/services/testa/service/src/{crossServiceProbe → smoke/suites/signingKey}/logic/askProbeForeignSigningKey.ts +0 -0
- /package/template/apps/qpqjs/services/testa/service/src/{crossServiceProbe → smoke/suites/storageDrive}/entry/serviceFunction/smokeCrossServiceStorageDriveProbe.ts +0 -0
- /package/template/apps/qpqjs/services/testa/service/src/{crossServiceProbe → smoke/suites/storageDrive}/logic/askProbeForeignStorageDrive.ts +0 -0
package/lib/esm/steps/index.js
CHANGED
|
@@ -4,13 +4,14 @@ import { deleteDocusaurus } from './003_deleteDocusaurus';
|
|
|
4
4
|
import { deleteQpqjsApp } from './004_deleteQpqjsApp';
|
|
5
5
|
import { applyAppIdentity } from './005_applyAppIdentity';
|
|
6
6
|
import { applyDomain } from './006_applyDomain';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
7
|
+
import { applyDockerHost } from './007_applyDockerHost';
|
|
8
|
+
import { pinRegistryVersions } from './008_pinRegistryVersions';
|
|
9
|
+
import { transpileToJavaScript } from './009_transpileToJavaScript';
|
|
10
|
+
import { restoreGitignore } from './010_restoreGitignore';
|
|
11
|
+
import { gitInit } from './011_gitInit';
|
|
12
|
+
import { npmInstall } from './012_npmInstall';
|
|
13
|
+
import { buildWorkspaces } from './013_buildWorkspaces';
|
|
14
|
+
import { printNextSteps } from './014_printNextSteps';
|
|
14
15
|
// The pipeline: always this list, always this order; the numeric file
|
|
15
16
|
// prefixes match, so the steps directory reads top to bottom. Steps decide
|
|
16
17
|
// for themselves (shouldRun) whether the collected answers apply to them.
|
|
@@ -21,6 +22,7 @@ export const createQpqAppSteps = [
|
|
|
21
22
|
deleteQpqjsApp,
|
|
22
23
|
applyAppIdentity,
|
|
23
24
|
applyDomain,
|
|
25
|
+
applyDockerHost,
|
|
24
26
|
pinRegistryVersions,
|
|
25
27
|
transpileToJavaScript,
|
|
26
28
|
restoreGitignore,
|
|
@@ -29,5 +31,5 @@ export const createQpqAppSteps = [
|
|
|
29
31
|
buildWorkspaces,
|
|
30
32
|
printNextSteps,
|
|
31
33
|
];
|
|
32
|
-
export { applyAppIdentity, applyDomain, buildWorkspaces, copyTemplate, deleteDocusaurus, deleteQpqjsApp, gitInit, npmInstall, pinRegistryVersions, preflight, printNextSteps, restoreGitignore, transpileToJavaScript, };
|
|
34
|
+
export { applyAppIdentity, applyDockerHost, applyDomain, buildWorkspaces, copyTemplate, deleteDocusaurus, deleteQpqjsApp, gitInit, npmInstall, pinRegistryVersions, preflight, printNextSteps, restoreGitignore, transpileToJavaScript, };
|
|
33
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/steps/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,sEAAsE;AACtE,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,SAAS;IACT,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,mBAAmB;IACnB,qBAAqB;IACrB,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,eAAe;IACf,cAAc;CACf,CAAC;AAEF,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,qBAAqB,GACtB,CAAC","sourcesContent":["import { CreateQpqAppStep } from '../types';\nimport { preflight } from './001_preflight';\nimport { copyTemplate } from './002_copyTemplate';\nimport { deleteDocusaurus } from './003_deleteDocusaurus';\nimport { deleteQpqjsApp } from './004_deleteQpqjsApp';\nimport { applyAppIdentity } from './005_applyAppIdentity';\nimport { applyDomain } from './006_applyDomain';\nimport { pinRegistryVersions } from './
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/steps/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,sEAAsE;AACtE,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,SAAS;IACT,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,eAAe;IACf,mBAAmB;IACnB,qBAAqB;IACrB,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,eAAe;IACf,cAAc;CACf,CAAC;AAEF,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,qBAAqB,GACtB,CAAC","sourcesContent":["import { CreateQpqAppStep } from '../types';\nimport { preflight } from './001_preflight';\nimport { copyTemplate } from './002_copyTemplate';\nimport { deleteDocusaurus } from './003_deleteDocusaurus';\nimport { deleteQpqjsApp } from './004_deleteQpqjsApp';\nimport { applyAppIdentity } from './005_applyAppIdentity';\nimport { applyDomain } from './006_applyDomain';\nimport { applyDockerHost } from './007_applyDockerHost';\nimport { pinRegistryVersions } from './008_pinRegistryVersions';\nimport { transpileToJavaScript } from './009_transpileToJavaScript';\nimport { restoreGitignore } from './010_restoreGitignore';\nimport { gitInit } from './011_gitInit';\nimport { npmInstall } from './012_npmInstall';\nimport { buildWorkspaces } from './013_buildWorkspaces';\nimport { printNextSteps } from './014_printNextSteps';\n\n// The pipeline: always this list, always this order; the numeric file\n// prefixes match, so the steps directory reads top to bottom. Steps decide\n// for themselves (shouldRun) whether the collected answers apply to them.\nexport const createQpqAppSteps: CreateQpqAppStep[] = [\n preflight,\n copyTemplate,\n deleteDocusaurus,\n deleteQpqjsApp,\n applyAppIdentity,\n applyDomain,\n applyDockerHost,\n pinRegistryVersions,\n transpileToJavaScript,\n restoreGitignore,\n gitInit,\n npmInstall,\n buildWorkspaces,\n printNextSteps,\n];\n\nexport {\n applyAppIdentity,\n applyDockerHost,\n applyDomain,\n buildWorkspaces,\n copyTemplate,\n deleteDocusaurus,\n deleteQpqjsApp,\n gitInit,\n npmInstall,\n pinRegistryVersions,\n preflight,\n printNextSteps,\n restoreGitignore,\n transpileToJavaScript,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateQpqAppAnswers.js","sourceRoot":"","sources":["../../../src/types/CreateQpqAppAnswers.ts"],"names":[],"mappings":"","sourcesContent":["import { AppLanguage } from './AppLanguage';\n\n// Everything the pipeline needs to know, collected ONCE (flags first, prompts\n// for whatever is still missing) before any step runs: steps never prompt.\nexport type CreateQpqAppAnswers = {\n appName: string;\n language: AppLanguage;\n domain: string;\n initialiseGit: boolean;\n installDependencies: boolean;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"CreateQpqAppAnswers.js","sourceRoot":"","sources":["../../../src/types/CreateQpqAppAnswers.ts"],"names":[],"mappings":"","sourcesContent":["import { AppLanguage } from './AppLanguage';\n\n// Everything the pipeline needs to know, collected ONCE (flags first, prompts\n// for whatever is still missing) before any step runs: steps never prompt.\nexport type CreateQpqAppAnswers = {\n appName: string;\n language: AppLanguage;\n domain: string;\n // Docker registry the image is pushed to ('' = local docker store only).\n dockerRegistry: string;\n // Address browsers use for the docker host ('' = localhost).\n dockerHost: string;\n initialiseGit: boolean;\n installDependencies: boolean;\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-qpq-app",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.28",
|
|
4
4
|
"description": "Scaffold a new quidproquo app: npx create-qpq-app my-app",
|
|
5
5
|
"main": "./lib/commonjs/index.js",
|
|
6
6
|
"module": "./lib/esm/index.js",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@types/node": "^22.13.13",
|
|
58
|
-
"quidproquo-tsconfig": "0.1.
|
|
58
|
+
"quidproquo-tsconfig": "0.1.28"
|
|
59
59
|
},
|
|
60
60
|
"bin": {
|
|
61
61
|
"create-qpq-app": "./lib/commonjs/bin/createQpqApp.js"
|
package/template/README.md
CHANGED
|
@@ -28,7 +28,8 @@ curl -H "Host: qpqjs.development.localhost" http://localhost:8080/api/shell/v1/h
|
|
|
28
28
|
|
|
29
29
|
```
|
|
30
30
|
apps/<app>/ # qpqjs
|
|
31
|
-
deploy.config.json # { "
|
|
31
|
+
deploy.config.json # { "deployments": { "<name>": { platform, name, environment, ... } } }
|
|
32
|
+
devServer.config.ts # optional: dev server ports (also the docker image's) + local QPQ config overrides
|
|
32
33
|
tsconfig.federated.json # generated by `npm run prep`: cross-view type aliases
|
|
33
34
|
packages/ # app-wide libs (config, constants, service-utils)
|
|
34
35
|
services/<svc>/
|
|
@@ -48,7 +49,7 @@ There is no tools/ directory. All build, dev, and deploy orchestration ships in
|
|
|
48
49
|
|
|
49
50
|
- **Libraries** build to their own `dist/` with `tsc -b` (TypeScript project references, so only what changed rebuilds). Each lib's `package.json` `main`, `types`, and `exports` point at `dist/src`, and npm workspaces symlink it into `node_modules/@qpqjs/*`, so imports resolve like any npm package. Libs build before services because the root `workspaces` array lists all lib globs ahead of `apps/*/services/*/service`.
|
|
50
51
|
- **Service backends** are bundled to AWS Lambda by Rspack, programmatically at deploy time (`qpq go` calls `getServiceRspackConfig` from `quidproquo-deploy-rspack`). There are no per-service `rspack.config.ts` files or `bundle` scripts, and a service's `build` script only type-checks.
|
|
51
|
-
- **Views** are microfrontends built by Rspack and `@module-federation/enhanced`. There are no per-view federation config files: exposes are computed at build time from `// federated.export` markers, and remotes are discovered from sibling views packages (dev port from each service's `defineDevServerOptions({ port })` in its `infrastructure.ts`). The only generated artifact is `apps/<app>/tsconfig.federated.json`, regenerated with `npm run prep` after adding or removing a marker.
|
|
52
|
+
- **Views** are microfrontends built by Rspack and `@module-federation/enhanced`. There are no per-view federation config files: exposes are computed at build time from `// federated.export` markers, and remotes are discovered from sibling views packages (dev port from each service's `defineDevServerOptions({ views: { port } })` in its `infrastructure.ts`). The only generated artifact is `apps/<app>/tsconfig.federated.json`, regenerated with `npm run prep` after adding or removing a marker.
|
|
52
53
|
- **The dev server** (`npx qpq go:dev:api`, powered by `quidproquo-dev-server`) loads each service's `infrastructure.ts` directly, so no synth is needed, just built libs. Its bundle externalizes `node_modules` (an externals function in its rspack config) so native modules like `sqlite3` load at runtime from their install location.
|
|
53
54
|
- **The `admin` service** owns the log and admin backbone. Every service's config references `defineAdminSettings(Admin, …)` and `logServiceName: Admin`, so the dev server resolves log globals from the `admin` module. Running a single service without `admin` spams `Global config qpq-log-retention-days not found`.
|
|
54
55
|
|
|
@@ -93,7 +94,7 @@ npx qpq go # interactive aws deploy: pick app, services, stacks (inf
|
|
|
93
94
|
# bundles (rspack production), cdk deploy, and s3 sync per phase
|
|
94
95
|
```
|
|
95
96
|
|
|
96
|
-
`qpq go` needs AWS credentials plus a
|
|
97
|
+
`qpq go` needs AWS credentials plus a deployment: an entry in `apps/<app>/deploy.config.json` selected with `--deployment <name>`. Each entry is the whole story for that target (`platform`, `name`, `environment`, optional `feature`, `platformSettings` such as `accountId`/`region` for aws, and optional string `settings` that reach `infrastructure.ts` through `getDeploySetting`). The file is the source of truth: no env var or flag overrides it, so to change a target you edit the file or add an entry. Service configs read the primed `APPLICATION_NAME`, `ENVIRONMENT` and `FEATURE_NAME` env vars. App-specific bootstrap and account extras live in `apps/<app>/bootstrap.qpq.ts` and `apps/<app>/account.qpq.ts` as config fragments; the identity plumbing is provided by the generic CDK app in `quidproquo-deploy-awscdk`.
|
|
97
98
|
|
|
98
99
|
- Production views bundles get prod remote URLs (the `views` host on the primary root, under the app's domain resolver) derived from the service's qpq config. Dev bundles use localhost ports.
|
|
99
100
|
- `cdk.context.json` at the repo root is CDK's regenerable Route53 lookup cache. It is written on the first deploy, and checking it in means later synths need no live AWS lookups.
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
defineApi,
|
|
7
7
|
defineDns,
|
|
8
8
|
defineEmailReceivingDomain,
|
|
9
|
+
getDeploySettingList,
|
|
9
10
|
QPQConfig,
|
|
10
11
|
} from 'quidproquo';
|
|
11
12
|
import {
|
|
@@ -17,10 +18,10 @@ import {
|
|
|
17
18
|
} from 'quidproquo-config-aws';
|
|
18
19
|
import { QpqAppDeployContext } from 'quidproquo-deploy-awscdk';
|
|
19
20
|
|
|
20
|
-
import {
|
|
21
|
+
import { QpqjsServiceEnum } from '@qpqjs/constants';
|
|
21
22
|
|
|
22
23
|
export default ({ region }: QpqAppDeployContext): QPQConfig => [
|
|
23
|
-
defineDns(
|
|
24
|
+
defineDns(getDeploySettingList('ROOT_DOMAINS')),
|
|
24
25
|
|
|
25
26
|
// inbox.<env>.<root>: verified with SES and MX-routed to it, for every defineEmailReceiver.
|
|
26
27
|
defineEmailReceivingDomain('inbox'),
|
|
@@ -1,23 +1,56 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"environments": {
|
|
2
|
+
"deployments": {
|
|
4
3
|
"development": {
|
|
5
4
|
"platform": "aws",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
5
|
+
"name": "qpqjs",
|
|
6
|
+
"environment": "development",
|
|
7
|
+
"platformSettings": {
|
|
8
|
+
"accountId": "061039804449",
|
|
9
|
+
"region": "ap-southeast-2"
|
|
10
|
+
},
|
|
11
|
+
"settings": {
|
|
12
|
+
"ROOT_DOMAINS": "quidproquojs.com, qpqjs.com"
|
|
13
|
+
}
|
|
8
14
|
},
|
|
9
15
|
"staging": {
|
|
10
16
|
"platform": "aws",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
17
|
+
"name": "qpqjs",
|
|
18
|
+
"environment": "staging",
|
|
19
|
+
"platformSettings": {
|
|
20
|
+
"accountId": "061039804449",
|
|
21
|
+
"region": "us-east-1"
|
|
22
|
+
},
|
|
23
|
+
"settings": {
|
|
24
|
+
"ROOT_DOMAINS": "quidproquojs.com, qpqjs.com"
|
|
25
|
+
}
|
|
13
26
|
},
|
|
14
27
|
"production": {
|
|
15
28
|
"platform": "aws",
|
|
16
|
-
"
|
|
17
|
-
"
|
|
29
|
+
"name": "qpqjs",
|
|
30
|
+
"environment": "production",
|
|
31
|
+
"platformSettings": {
|
|
32
|
+
"accountId": "761018864142",
|
|
33
|
+
"region": "ap-southeast-2"
|
|
34
|
+
},
|
|
35
|
+
"settings": {
|
|
36
|
+
"ROOT_DOMAINS": "quidproquojs.com, qpqjs.com"
|
|
37
|
+
}
|
|
18
38
|
},
|
|
19
39
|
"local": {
|
|
20
|
-
"platform": "docker"
|
|
40
|
+
"platform": "docker",
|
|
41
|
+
"name": "qpqjs",
|
|
42
|
+
"environment": "local",
|
|
43
|
+
"settings": {
|
|
44
|
+
"ROOT_DOMAINS": "quidproquojs.com, qpqjs.com"
|
|
45
|
+
},
|
|
46
|
+
"platformSettings": {
|
|
47
|
+
"portMappings": "80:8080, 8888:8888, 3001:3001, 3090:3090",
|
|
48
|
+
"registry": "192.168.8.88:5000",
|
|
49
|
+
"arch": "linux/amd64",
|
|
50
|
+
"tag": "latest",
|
|
51
|
+
"publicHost": "192.168.8.88",
|
|
52
|
+
"dataPath": "/mnt/user/appdata/qpq-qpqjs"
|
|
53
|
+
}
|
|
21
54
|
}
|
|
22
55
|
}
|
|
23
56
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DevServerConfigOverrides } from 'quidproquo-dev-server';
|
|
2
|
+
|
|
3
|
+
// App-level dev server settings. The ports are the same locally and inside the docker image,
|
|
4
|
+
// so a url that works against `npm run dev` works against the deployed container too.
|
|
5
|
+
const devServerConfig: DevServerConfigOverrides = {
|
|
6
|
+
ports: {
|
|
7
|
+
api: 8080,
|
|
8
|
+
webSocket: 8888,
|
|
9
|
+
fileStorage: 3001,
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default devServerConfig;
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
defineDns,
|
|
9
9
|
defineEmailReceivingDomain,
|
|
10
10
|
defineFrontendBundleOptions,
|
|
11
|
+
getDeploySettingList,
|
|
11
12
|
QPQConfig,
|
|
12
13
|
} from 'quidproquo';
|
|
13
14
|
import {
|
|
@@ -16,6 +17,7 @@ import {
|
|
|
16
17
|
defineAwsDataStoreRemovalPolicy,
|
|
17
18
|
defineAwsServiceAccountInfo,
|
|
18
19
|
defineWafProtection,
|
|
20
|
+
getAwsServiceAccountInfosForDeployments,
|
|
19
21
|
} from 'quidproquo-config-aws';
|
|
20
22
|
import {
|
|
21
23
|
defineAdminSettings,
|
|
@@ -25,17 +27,17 @@ import {
|
|
|
25
27
|
|
|
26
28
|
import { execSync } from 'child_process';
|
|
27
29
|
import {
|
|
28
|
-
QPQJS_DOMAINS,
|
|
29
30
|
QPQJS_USER_DIRECTORY,
|
|
30
31
|
QpqjsServiceEnum,
|
|
31
32
|
qpqjsServiceNames,
|
|
32
33
|
} from '@qpqjs/constants';
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
// Identity comes from the selected deployment in deploy.config.json, primed by the CLI.
|
|
36
|
+
const modulePrefix = process.env.APPLICATION_NAME!;
|
|
37
|
+
|
|
38
|
+
// Deployments (by name in deploy.config.json) whose services this one may reach
|
|
39
|
+
// across accounts. Add a developer's feature deployment here to share with it.
|
|
40
|
+
const crossDeploymentNames = ['production', 'staging'];
|
|
39
41
|
|
|
40
42
|
export const defineQpqjsService = (
|
|
41
43
|
service: QpqjsServiceEnum,
|
|
@@ -50,7 +52,7 @@ export const defineQpqjsService = (
|
|
|
50
52
|
process.env.ENVIRONMENT!,
|
|
51
53
|
configRoot,
|
|
52
54
|
apiBuildPath,
|
|
53
|
-
process.env.
|
|
55
|
+
process.env.FEATURE_NAME
|
|
54
56
|
),
|
|
55
57
|
|
|
56
58
|
defineApplicationVersion(
|
|
@@ -59,7 +61,8 @@ export const defineQpqjsService = (
|
|
|
59
61
|
.trim()}-${new Date().toISOString()}`
|
|
60
62
|
),
|
|
61
63
|
|
|
62
|
-
|
|
64
|
+
// Root domains come from the deployment's ROOT_DOMAINS setting, primary first.
|
|
65
|
+
defineDns(getDeploySettingList('ROOT_DOMAINS')),
|
|
63
66
|
// Same domain bootstrap.qpq.ts declares: bootstrap owns the records, a service's
|
|
64
67
|
// defineEmailReceiver resolves its recipients from it.
|
|
65
68
|
defineEmailReceivingDomain('inbox'),
|
|
@@ -76,27 +79,7 @@ export const defineQpqjsService = (
|
|
|
76
79
|
process.env.AWS_DEFAULT_ACCOUNT!,
|
|
77
80
|
process.env.AWS_DEFAULT_REGION!,
|
|
78
81
|
|
|
79
|
-
qpqjsServiceNames
|
|
80
|
-
{
|
|
81
|
-
environment: 'production',
|
|
82
|
-
moduleName: crossServiceName,
|
|
83
|
-
awsAccountId: productionAccountId,
|
|
84
|
-
awsRegion: process.env.AWS_DEFAULT_REGION!,
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
environment: 'staging',
|
|
88
|
-
moduleName: crossServiceName,
|
|
89
|
-
awsAccountId: stagingAccountId,
|
|
90
|
-
awsRegion: process.env.AWS_DEFAULT_REGION!,
|
|
91
|
-
},
|
|
92
|
-
...developerNames.map((actorName) => ({
|
|
93
|
-
environment: 'development',
|
|
94
|
-
moduleName: crossServiceName,
|
|
95
|
-
feature: actorName,
|
|
96
|
-
awsAccountId: developmentAccountId,
|
|
97
|
-
awsRegion: process.env.AWS_DEFAULT_REGION!,
|
|
98
|
-
})),
|
|
99
|
-
]),
|
|
82
|
+
getAwsServiceAccountInfosForDeployments(crossDeploymentNames, qpqjsServiceNames),
|
|
100
83
|
{
|
|
101
84
|
apiLayers,
|
|
102
85
|
lambdaMaxMemoryInMiB: lambdaMemoryInMiB,
|
|
@@ -4,7 +4,7 @@ import { QpqjsServiceEnum } from '@qpqjs/constants';
|
|
|
4
4
|
import { defineQpqjsService } from '@qpqjs/service-utils';
|
|
5
5
|
|
|
6
6
|
export default [
|
|
7
|
-
defineDevServerOptions({ port: 3082 }),
|
|
7
|
+
defineDevServerOptions({ views: { port: 3082 } }),
|
|
8
8
|
|
|
9
9
|
// never change the app name, it will result in a new stack!
|
|
10
10
|
defineQpqjsService(
|
|
@@ -1,30 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getApiUrl,
|
|
3
|
+
getFederatedViewsUrl,
|
|
4
|
+
getWebSocketUrl,
|
|
5
|
+
} from 'quidproquo-web';
|
|
1
6
|
import { App as QpqAdminApp } from 'quidproquo-web-admin';
|
|
2
7
|
import { BaseUrlResolvers } from 'quidproquo-web-react';
|
|
3
8
|
|
|
4
9
|
import { QpqjsServiceEnum } from '@qpqjs/constants';
|
|
5
10
|
|
|
6
|
-
export const getApiBaseUrl = () =>
|
|
7
|
-
const [_views, ...domainParts] = window.location.host.split('.');
|
|
8
|
-
const domain = domainParts.join('.');
|
|
11
|
+
export const getApiBaseUrl = () => getApiUrl(QpqjsServiceEnum.Admin);
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
: `http://localhost:8080/api/${QpqjsServiceEnum.Admin}`;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export const getWsBaseUrl = () => {
|
|
16
|
-
const [_views, ...domainParts] = window.location.host.split('.');
|
|
17
|
-
const domain = domainParts.join('.');
|
|
18
|
-
|
|
19
|
-
return window.location.hostname !== 'localhost'
|
|
20
|
-
? `wss://qpqadmin.${QpqjsServiceEnum.Admin}.${domain}`
|
|
21
|
-
: `ws://localhost:8888/${QpqjsServiceEnum.Admin}/qpqadmin`;
|
|
22
|
-
};
|
|
13
|
+
export const getWsBaseUrl = () =>
|
|
14
|
+
getWebSocketUrl(QpqjsServiceEnum.Admin, 'qpqadmin');
|
|
23
15
|
|
|
24
16
|
export const getMFManifestBaseUrl = () =>
|
|
25
|
-
|
|
26
|
-
? `${window.location.origin}${window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/'))}`
|
|
27
|
-
: `http://localhost:3082`;
|
|
17
|
+
getFederatedViewsUrl(QpqjsServiceEnum.Admin);
|
|
28
18
|
|
|
29
19
|
const urlResolvers: BaseUrlResolvers = {
|
|
30
20
|
getApiUrl: getApiBaseUrl,
|
|
@@ -4,7 +4,7 @@ import { QpqjsServiceEnum } from '@qpqjs/constants';
|
|
|
4
4
|
import { defineQpqjsService } from '@qpqjs/service-utils';
|
|
5
5
|
|
|
6
6
|
export default [
|
|
7
|
-
defineDevServerOptions({ port: 3081 }),
|
|
7
|
+
defineDevServerOptions({ views: { port: 3081 } }),
|
|
8
8
|
|
|
9
9
|
// never change the app name, it will result in a new stack!
|
|
10
10
|
defineQpqjsService(
|
package/template/apps/qpqjs/services/design/views/src/components/LandingPage/components/NavBar.tsx
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
// (minus the views. prefix on federated views); localhost falls back to prod.
|
|
3
|
-
const getDocsUrl = (): string => {
|
|
4
|
-
const { hostname, protocol, host } = window.location;
|
|
1
|
+
import { getWebEntryUrl } from 'quidproquo-web';
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
return 'https://docs.quidproquojs.com';
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
return `${protocol}//docs.${host.replace(/^views\./, '')}`;
|
|
11
|
-
};
|
|
3
|
+
const getDocsUrl = (): string => getWebEntryUrl('docs');
|
|
12
4
|
|
|
13
5
|
export function NavBar() {
|
|
14
6
|
return (
|
package/template/apps/qpqjs/services/design/views/src/components/WelcomeScreen/WelcomeScreen.tsx
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// federated.export: This file will be exported using module federation
|
|
2
2
|
|
|
3
|
+
import { getApiUrl } from 'quidproquo-web';
|
|
4
|
+
|
|
3
5
|
import { type CSSProperties, useState } from 'react';
|
|
4
6
|
|
|
5
7
|
const containerStyle: CSSProperties = {
|
|
@@ -39,17 +41,7 @@ const resultStyle: CSSProperties = {
|
|
|
39
41
|
color: '#1a2733',
|
|
40
42
|
};
|
|
41
43
|
|
|
42
|
-
|
|
43
|
-
// api.<domain root> (the page host, minus the views. prefix on remote views).
|
|
44
|
-
const getShellApiBaseUrl = (): string => {
|
|
45
|
-
const { hostname, protocol, host } = window.location;
|
|
46
|
-
|
|
47
|
-
if (hostname === 'localhost' || hostname.endsWith('.localhost')) {
|
|
48
|
-
return 'http://localhost:8080/api/shell';
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return `${protocol}//api.${host.replace(/^views\./, '')}/shell`;
|
|
52
|
-
};
|
|
44
|
+
const getShellApiBaseUrl = (): string => getApiUrl('shell');
|
|
53
45
|
|
|
54
46
|
export const WelcomeScreen = () => {
|
|
55
47
|
const [healthResult, setHealthResult] = useState<string | null>(null);
|
|
@@ -67,7 +67,11 @@ const docsWebEntryOptions: QPQConfigAdvancedWebEntrySettings = {
|
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
export default [
|
|
70
|
-
defineDevServerOptions({
|
|
70
|
+
defineDevServerOptions({
|
|
71
|
+
views: { port: 3080 },
|
|
72
|
+
// The docker image hosts the docs site on this port; AWS gives it docs.<domain>.
|
|
73
|
+
webEntries: { docs: { port: 3090 } },
|
|
74
|
+
}),
|
|
71
75
|
|
|
72
76
|
// never change the app name, it will result in a new stack!
|
|
73
77
|
defineQpqjsService(
|
|
@@ -12,6 +12,9 @@ export type SmokeProbeRecord = {
|
|
|
12
12
|
scope?: string;
|
|
13
13
|
ambientScope?: string;
|
|
14
14
|
path?: string;
|
|
15
|
+
// Set by the kvs stream handler: the attribute names on the record's image,
|
|
16
|
+
// so a test can prove no backend bookkeeping attribute reaches a handler.
|
|
17
|
+
imageAttributes?: string[];
|
|
15
18
|
// Set by the email handler: the provider's spf/dkim verdicts on the message.
|
|
16
19
|
authentication?: string;
|
|
17
20
|
};
|
|
@@ -3,12 +3,10 @@ import { defineDevServerOptions } from 'quidproquo-dev-server/config';
|
|
|
3
3
|
import { QpqjsServiceEnum } from '@qpqjs/constants';
|
|
4
4
|
import { defineQpqjsService } from '@qpqjs/service-utils';
|
|
5
5
|
|
|
6
|
-
import { defineEcho } from './echo/config/defineEcho';
|
|
7
6
|
import { defineSmoke } from './smoke/config/defineSmoke';
|
|
8
|
-
import { defineTick } from './tick/config/defineTick';
|
|
9
7
|
|
|
10
8
|
export default [
|
|
11
|
-
defineDevServerOptions({ port: 3083 }),
|
|
9
|
+
defineDevServerOptions({ views: { port: 3083 } }),
|
|
12
10
|
|
|
13
11
|
// never change the app name, it will result in a new stack!
|
|
14
12
|
defineQpqjsService(
|
|
@@ -18,8 +16,4 @@ export default [
|
|
|
18
16
|
),
|
|
19
17
|
|
|
20
18
|
defineSmoke(),
|
|
21
|
-
|
|
22
|
-
defineEcho(),
|
|
23
|
-
|
|
24
|
-
defineTick(),
|
|
25
19
|
];
|