@sprucelabs/spruce-cli 18.2.0 → 18.3.0
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/CHANGELOG.md +6 -0
- package/build/.spruce/events/events.contract.d.ts +159 -0
- package/build/.spruce/events/events.contract.js +5 -1
- package/build/.spruce/events/events.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.d.ts +46 -0
- package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js +57 -0
- package/build/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.js.map +1 -0
- package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.d.ts +68 -0
- package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js +78 -0
- package/build/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.js.map +1 -0
- package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.d.ts +40 -0
- package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js +51 -0
- package/build/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.js.map +1 -0
- package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.d.ts +9 -0
- package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js +17 -0
- package/build/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.js.map +1 -0
- package/build/.spruce/schemas/schemas.types.d.ts +158 -55
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.d.ts +3 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js +70 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.js.map +1 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.d.ts +3 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js +35 -0
- package/build/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.js.map +1 -0
- package/build/.spruce/settings.json +2 -1
- package/build/GlobalEmitter.d.ts +13 -38
- package/build/GlobalEmitter.js +3 -6
- package/build/GlobalEmitter.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.d.ts +2 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +74 -84
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +38 -13
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +16 -9
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +2 -2
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +7 -7
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.d.ts +6 -0
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +85 -0
- package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -0
- package/build/__tests__/behavioral/permissions/PermissionStore.test.d.ts +5 -4
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js +96 -63
- package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.d.ts +5 -0
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +88 -0
- package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -0
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.d.ts +15 -4
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +325 -28
- package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.d.ts +11 -0
- package/build/__tests__/behavioral/permissions/{AbstractPermissionsTest.js → support/AbstractPermissionsTest.js} +34 -2
- package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -0
- package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.d.ts +1 -0
- package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js +11 -0
- package/build/__tests__/behavioral/permissions/support/generateShortAlphaId.js.map +1 -0
- package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.d.ts +1 -0
- package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js +17 -0
- package/build/__tests__/behavioral/permissions/support/renderPermissionTestFile.js.map +1 -0
- package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.d.ts +5 -0
- package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js +10 -0
- package/build/__tests__/behavioral/permissions/support/sortPermissionContracts.js.map +1 -0
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.d.ts +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +46 -46
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +7 -3
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -2
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.d.ts +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +23 -11
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.test.d.ts +1 -0
- package/build/__tests__/implementation/GlobalEmitter.test.js +40 -3
- package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +3 -4
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/features/AbstractAction.d.ts +1 -1
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.d.ts +3 -3
- package/build/features/AbstractFeature.js +8 -8
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.d.ts +1 -1
- package/build/features/ActionExecuter.js +3 -4
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionFactory.d.ts +12 -5
- package/build/features/ActionFactory.js +27 -6
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.d.ts +1 -1
- package/build/features/ActionQuestionAsker.js +6 -6
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js +1 -1
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js +1 -1
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/deploy/actions/HerokuAction.js +31 -33
- package/build/features/deploy/actions/HerokuAction.js.map +1 -1
- package/build/features/error/ErrorFeature.js +4 -4
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/event/EventFeature.d.ts +8 -8
- package/build/features/event/EventFeature.js +7 -4
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/stores/EventStore.d.ts +9 -9
- package/build/features/event/stores/EventStore.js +26 -26
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js +4 -1
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js +10 -5
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/features.types.d.ts +2 -37
- package/build/features/features.types.js +0 -41
- package/build/features/features.types.js.map +1 -1
- package/build/features/log/LogFeature.js +1 -1
- package/build/features/log/LogFeature.js.map +1 -1
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/organization/actions/InstallAction.js.map +1 -1
- package/build/features/permission/PermissionFeature.d.ts +12 -2
- package/build/features/permission/PermissionFeature.js +140 -15
- package/build/features/permission/PermissionFeature.js.map +1 -1
- package/build/features/permission/actions/CreateAction.js +4 -1
- package/build/features/permission/actions/CreateAction.js.map +1 -1
- package/build/features/permission/actions/SyncAction.d.ts +5 -1
- package/build/features/permission/actions/SyncAction.js +28 -10
- package/build/features/permission/actions/SyncAction.js.map +1 -1
- package/build/features/permission/stores/PermissionStore.d.ts +6 -1
- package/build/features/permission/stores/PermissionStore.js +43 -31
- package/build/features/permission/stores/PermissionStore.js.map +1 -1
- package/build/features/permission/writers/PermissionWriter.d.ts +7 -1
- package/build/features/permission/writers/PermissionWriter.js +66 -17
- package/build/features/permission/writers/PermissionWriter.js.map +1 -1
- package/build/features/person/PersonFeature.js +1 -1
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js +1 -1
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/schema/SchemaFeature.d.ts +8 -8
- package/build/features/schema/SchemaFeature.js +4 -4
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.d.ts +12 -12
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.d.ts +11 -11
- package/build/features/skill/SkillFeature.js +2 -2
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/actions/RebuildAction.js.map +1 -1
- package/build/features/skill/actions/RegisterAction.js.map +1 -1
- package/build/features/skill/stores/SkillStore.js +1 -2
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/store/StoreFeature.js +1 -1
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/SyncAction.d.ts +1 -1
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/test/TestFeature.js +1 -1
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/view/ViewFeature.js +1 -1
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/schemas/v2020_07_22/actionResponse.builder.d.ts +85 -0
- package/build/schemas/v2020_07_22/actionResponse.builder.js +70 -0
- package/build/schemas/v2020_07_22/actionResponse.builder.js.map +1 -0
- package/build/schemas/v2020_07_22/generatedFile.builder.d.ts +27 -0
- package/build/schemas/v2020_07_22/generatedFile.builder.js +45 -0
- package/build/schemas/v2020_07_22/generatedFile.builder.js.map +1 -0
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +4 -40
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
- package/build/services/CommandService.d.ts +2 -2
- package/build/services/CommandService.js +6 -6
- package/build/services/CommandService.js.map +1 -1
- package/build/services/PkgService.d.ts +1 -0
- package/build/services/PkgService.js +5 -0
- package/build/services/PkgService.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +7 -3
- package/build/tests/AbstractCliTest.js +81 -45
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/buildTestCache.js +7 -0
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.js +1 -0
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/utilities/test.utility.d.ts +2 -0
- package/build/tests/utilities/test.utility.js +6 -0
- package/build/tests/utilities/test.utility.js.map +1 -1
- package/node_modules/@typescript-eslint/parser/package.json +5 -5
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +13 -5
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +3 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
- package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
- package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +20 -2
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +20 -2
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +2 -0
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
- package/node_modules/@typescript-eslint/types/package.json +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +15 -3
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +2 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -49
- package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
- package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
- package/package.json +65 -33
- package/src/.spruce/events/events.contract.ts +24 -0
- package/src/.spruce/events/heartwood/getActiveTheme.v2021_02_11.contract.ts +54 -0
- package/src/.spruce/events/heartwood/registerDashboardCards.v2021_02_11.contract.ts +79 -0
- package/src/.spruce/events/heartwood/upsertTheme.v2021_02_11.contract.ts +48 -0
- package/src/.spruce/events/spruceCli/registerSkillViews.v2021_04_11.contract.ts +13 -0
- package/src/.spruce/schemas/schemas.types.ts +171 -52
- package/src/.spruce/schemas/spruceCli/v2020_07_22/actionResponse.schema.ts +58 -0
- package/src/.spruce/schemas/spruceCli/v2020_07_22/npmPackage.schema.ts +33 -0
- package/src/.spruce/settings.json +2 -1
- package/src/GlobalEmitter.ts +2 -7
- package/src/__tests__/behavioral/TestingAConversation.test.ts +20 -37
- package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +14 -2
- package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
- package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +2 -2
- package/src/__tests__/behavioral/permissions/PermissionPlugin.test.ts +24 -0
- package/src/__tests__/behavioral/permissions/PermissionStore.test.ts +95 -38
- package/src/__tests__/behavioral/permissions/PermissionWriter.test.ts +23 -0
- package/src/__tests__/behavioral/permissions/SyncingPermissions.test.ts +125 -8
- package/src/__tests__/behavioral/permissions/support/AbstractPermissionsTest.ts +38 -0
- package/src/__tests__/behavioral/permissions/support/generateShortAlphaId.ts +5 -0
- package/src/__tests__/behavioral/permissions/support/renderPermissionTestFile.ts +27 -0
- package/src/__tests__/behavioral/permissions/support/sortPermissionContracts.ts +3 -0
- package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +12 -12
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -2
- package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +3 -0
- package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +3 -2
- package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter2.test.ts +13 -6
- package/src/__tests__/implementation/GlobalEmitter.test.ts +22 -1
- package/src/__tests__/implementation/SkillStore.test.ts +1 -2
- package/src/features/AbstractAction.ts +2 -2
- package/src/features/AbstractFeature.ts +8 -8
- package/src/features/ActionExecuter.ts +4 -5
- package/src/features/ActionFactory.ts +44 -20
- package/src/features/ActionQuestionAsker.ts +17 -17
- package/src/features/conversation/ConversationFeature.ts +1 -1
- package/src/features/dependencies/DependencyFeature.ts +1 -1
- package/src/features/deploy/actions/HerokuAction.ts +2 -2
- package/src/features/error/ErrorFeature.ts +4 -4
- package/src/features/event/EventFeature.ts +15 -14
- package/src/features/event/actions/CreateAction.ts +1 -1
- package/src/features/event/actions/ListenAction.ts +1 -1
- package/src/features/event/stores/EventStore.ts +37 -37
- package/src/features/eventContract/EventContractFeature.ts +6 -1
- package/src/features/eventContract/actions/PullAction.ts +7 -3
- package/src/features/features.types.ts +4 -41
- package/src/features/log/LogFeature.ts +1 -1
- package/src/features/node/NodeFeature.ts +1 -1
- package/src/features/organization/actions/InstallAction.ts +1 -1
- package/src/features/permission/PermissionFeature.ts +66 -11
- package/src/features/permission/actions/CreateAction.ts +2 -0
- package/src/features/permission/actions/SyncAction.ts +22 -3
- package/src/features/permission/stores/PermissionStore.ts +27 -8
- package/src/features/permission/writers/PermissionWriter.ts +64 -3
- package/src/features/person/PersonFeature.ts +1 -1
- package/src/features/sandbox/SandboxFeature.ts +1 -3
- package/src/features/schema/SchemaFeature.ts +14 -14
- package/src/features/schema/writers/SchemaWriter.ts +14 -15
- package/src/features/skill/SkillFeature.ts +18 -18
- package/src/features/skill/actions/RebuildAction.ts +1 -1
- package/src/features/skill/actions/RegisterAction.ts +1 -1
- package/src/features/skill/stores/SkillStore.ts +1 -2
- package/src/features/store/StoreFeature.ts +1 -1
- package/src/features/store/actions/SyncAction.ts +1 -1
- package/src/features/test/TestFeature.ts +1 -1
- package/src/features/view/ViewFeature.ts +1 -1
- package/src/schemas/v2020_07_22/actionResponse.builder.ts +62 -0
- package/src/schemas/v2020_07_22/generatedFile.builder.ts +44 -0
- package/src/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.ts +3 -46
- package/src/services/CommandService.ts +5 -5
- package/src/services/PkgService.ts +4 -0
- package/src/tests/AbstractCliTest.ts +31 -13
- package/src/tests/buildTestCache.ts +7 -0
- package/src/tests/fixtures/FeatureFixture.ts +2 -0
- package/src/tests/utilities/test.utility.ts +13 -0
- package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.d.ts +0 -8
- package/build/__tests__/behavioral/permissions/AbstractPermissionsTest.js.map +0 -1
- package/src/__tests__/behavioral/permissions/AbstractPermissionsTest.ts +0 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractCliTest.js","names":["AbstractCliTest","cleanTestDirsAndFiles","LintService","disableLinting","ImportService","setCacheDir","diskUtil","createRandomTempDir","enableCaching","process","env","ENABLE_INSTALL_ENTERTAINMENT","originalEnv","testUtil","startLogTimer","SchemaRegistry","getInstance","forgetAllSchemas","cwd","freshTmpDir","homeDir","_emitter","undefined","_featureInstaller","OnboardingStore","overrideCwd","ui","reset","invocations","setCursorPosition","x","y","clearFixtures","clearCache","SkillStore","clearCurrentSkill","EventStore","CommandService","clearMockResponses","MercuryClientFactory","setIsTestMode","commandFaker","CommandFaker","organizationFixture","clearAllOrgs","mercuryFixture","disconnectAll","_ui","isWaitingForInput","Error","doesDirExist","shouldClearCache","deleteDir","shouldCleanupTestSkillDirs","FeatureFixture","deleteOldSkillDirs","pattern","resolveTestPath","globby","matches","match","deleteFile","personFixture","skillFixture","viewFixture","tmpDirectory","resolveTestDir","uuid","v4","fs","ensureDirSync","SpyInterface","CliGlobalEmitter","Emitter","emitter","pathAfterTestDirsAndFiles","pathUtil","join","cliRoot","options","Cli","fixture","linkLocalPackages","type","sf","ServiceFactory","Service","serviceFactory","apiClientFactory","getMercuryFixture","getApiClientFactory","featureInstaller","MercuryFixture","PersonFixture","writerFactory","WriterFactory","viewWriter","Writer","fileDescriptions","ViewFixture","Action","templates","settings","execute","promise","waitForInput","sendInput","results","OrganizationFixture","people","StoreFactory","SkillFixture","filePath","resolveHashSprucePath","installer","FeatureInstaller","storeFactory","actionExecuter","ActionExecuter","FeatureInstallerFactory","WithAllFeatures","code","Store","isInstalled","assert","isTrue","files","file","checker","check","path","connectToApi","all","dir","wait","timeout","log","featureCode","actionCode","executer","shouldThrowOnListenerError","actionFactory","ActionFactory","optionOverrides","shouldInstallMissingDependencies","featureInstallerFactory","shouldAutoHandleDependencies","label","last","getLastInvocation","doesInclude","choices","find","o","value","AbstractSpruceTest","__dirname"],"sources":["../../src/tests/AbstractCliTest.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { SchemaRegistry } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { templates } from '@sprucelabs/spruce-templates'\nimport AbstractSpruceTest, { assert } from '@sprucelabs/test-utils'\nimport fs from 'fs-extra'\nimport globby from 'globby'\nimport * as uuid from 'uuid'\nimport { CliBootOptions } from '../cli'\nimport AbstractAction from '../features/AbstractAction'\nimport { FeatureOptions } from '../features/AbstractFeature'\nimport ActionExecuter, {\n\tActionExecuterOptions,\n} from '../features/ActionExecuter'\nimport ActionFactory from '../features/ActionFactory'\nimport EventStore from '../features/event/stores/EventStore'\nimport FeatureInstaller from '../features/FeatureInstaller'\nimport FeatureInstallerFactory from '../features/FeatureInstallerFactory'\nimport { FeatureActionResponse, FeatureCode } from '../features/features.types'\nimport OnboardingStore from '../features/onboard/stores/OnboardingStore'\nimport SkillStore from '../features/skill/stores/SkillStore'\nimport CliGlobalEmitter, { GlobalEmitter } from '../GlobalEmitter'\nimport SpyInterface from '../interfaces/SpyInterface'\nimport CommandService from '../services/CommandService'\nimport ImportService from '../services/ImportService'\nimport LintService from '../services/LintService'\nimport ServiceFactory, { Service, ServiceMap } from '../services/ServiceFactory'\nimport StoreFactory, {\n\tStoreCode,\n\tCreateStoreOptions,\n\tStoreFactoryOptions,\n\tStoreMap,\n} from '../stores/StoreFactory'\nimport { ApiClientFactoryOptions } from '../types/apiClient.types'\nimport { OptionOverrides } from '../types/cli.types'\nimport WriterFactory from '../writers/WriterFactory'\nimport CommandFaker from './CommandFaker'\nimport FeatureFixture, {\n\tFeatureFixtureOptions,\n} from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\nimport ViewFixture from './fixtures/ViewFixture'\nimport testUtil from './utilities/test.utility'\n\ntype ExecuterOptions = Partial<ActionExecuterOptions> & {\n\toptionOverrides?: OptionOverrides\n}\n\nexport default abstract class AbstractCliTest extends AbstractSpruceTest {\n\tprotected static cliRoot = pathUtil.join(__dirname, '..')\n\tprotected static homeDir: string\n\tprotected static commandFaker: CommandFaker\n\n\tprivate static _ui: SpyInterface\n\tprivate static _emitter?: GlobalEmitter\n\tprivate static mercuryFixture?: MercuryFixture\n\tprivate static personFixture?: PersonFixture\n\tprivate static organizationFixture?: OrganizationFixture\n\tprivate static skillFixture?: SkillFixture\n\tprivate static _featureInstaller?: FeatureInstaller\n\tprivate static viewFixture?: ViewFixture\n\tprivate static originalEnv: { [x: string]: string | undefined }\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tawait this.cleanTestDirsAndFiles()\n\n\t\tLintService.disableLinting()\n\n\t\tImportService.setCacheDir(diskUtil.createRandomTempDir())\n\t\tImportService.enableCaching()\n\n\t\tprocess.env.ENABLE_INSTALL_ENTERTAINMENT = 'false'\n\n\t\tthis.originalEnv = { ...process.env }\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\t//@ts-ignore\n\t\tprocess.env = { ...this.originalEnv }\n\n\t\ttestUtil.startLogTimer()\n\n\t\tSchemaRegistry.getInstance().forgetAllSchemas()\n\n\t\tthis.cwd = this.freshTmpDir()\n\t\tthis.homeDir = this.freshTmpDir()\n\n\t\tthis._emitter = undefined\n\t\tthis._featureInstaller = undefined\n\n\t\tOnboardingStore.overrideCwd(diskUtil.createRandomTempDir())\n\n\t\tthis.ui.reset()\n\t\tthis.ui.invocations = []\n\t\tthis.ui.setCursorPosition({ x: 0, y: 0 })\n\n\t\tthis.clearFixtures()\n\n\t\tImportService.clearCache()\n\t\tSkillStore.clearCurrentSkill()\n\t\tEventStore.clearCache()\n\t\tCommandService.clearMockResponses()\n\t\tMercuryClientFactory.reset()\n\t\tMercuryClientFactory.setIsTestMode(false)\n\n\t\tthis.commandFaker = new CommandFaker()\n\t}\n\n\tprotected static async afterEach() {\n\t\tawait super.afterEach()\n\n\t\tawait this.organizationFixture?.clearAllOrgs()\n\t\tawait this.mercuryFixture?.disconnectAll()\n\n\t\tthis.clearFixtures()\n\n\t\tif (this._ui?.isWaitingForInput()) {\n\t\t\tthrow new Error(\n\t\t\t\t`Terminal interface is waiting for input. Make sure you are invoking this.term.sendInput() as many times as needed.`\n\t\t\t)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.cwd) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.cwd)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.homeDir) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.homeDir)\n\t\t}\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t\tif (testUtil.shouldCleanupTestSkillDirs()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprivate static async cleanTestDirsAndFiles() {\n\t\tconst pattern = this.resolveTestPath('**/*.d.ts')\n\t\tconst matches = await globby(pattern)\n\n\t\tfor (const match of matches) {\n\t\t\tdiskUtil.deleteFile(match)\n\t\t}\n\t}\n\n\tprivate static clearFixtures() {\n\t\tthis._emitter = undefined\n\t\tthis.mercuryFixture = undefined\n\t\tthis.organizationFixture = undefined\n\t\tthis.personFixture = undefined\n\t\tthis.skillFixture = undefined\n\t\tthis.viewFixture = undefined\n\t}\n\n\tprotected static freshTmpDir() {\n\t\tconst tmpDirectory = testUtil.resolveTestDir(uuid.v4())\n\t\tfs.ensureDirSync(tmpDirectory)\n\t\treturn tmpDirectory\n\t}\n\n\tprotected static get ui() {\n\t\tif (!this._ui) {\n\t\t\tthis._ui = new SpyInterface()\n\t\t}\n\n\t\treturn this._ui\n\t}\n\n\tprotected static get emitter() {\n\t\tif (!this._emitter) {\n\t\t\tthis._emitter = CliGlobalEmitter.Emitter()\n\t\t}\n\t\treturn this._emitter\n\t}\n\n\tprotected static set emitter(emitter: GlobalEmitter) {\n\t\tthis._emitter = emitter\n\t}\n\n\tprotected static resolveTestPath(...pathAfterTestDirsAndFiles: string[]) {\n\t\treturn pathUtil.join(\n\t\t\tthis.cliRoot,\n\t\t\t'__tests__',\n\t\t\t'testDirsAndFiles',\n\t\t\t...pathAfterTestDirsAndFiles\n\t\t)\n\t}\n\n\tprotected static async Cli(options?: CliBootOptions) {\n\t\treturn this.FeatureFixture(options).Cli({\n\t\t\tcwd: this.cwd,\n\t\t\thomeDir: this.homeDir,\n\t\t\t...(options ?? {}),\n\t\t})\n\t}\n\n\tprotected static async linkLocalPackages() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tawait fixture.linkLocalPackages()\n\t}\n\n\tprotected static Service<S extends Service>(\n\t\ttype: S,\n\t\tcwd?: string\n\t): ServiceMap[S] {\n\t\tconst sf = this.ServiceFactory()\n\t\treturn sf.Service(cwd ?? this.cwd, type)\n\t}\n\n\tprotected static ServiceFactory() {\n\t\treturn new ServiceFactory()\n\t}\n\n\tprotected static FeatureFixture(options?: Partial<FeatureFixtureOptions>) {\n\t\treturn new FeatureFixture({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory: this.ServiceFactory(),\n\t\t\tui: this.ui,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tfeatureInstaller: this.featureInstaller,\n\t\t\temitter: this.emitter,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static getMercuryFixture() {\n\t\tif (!this.mercuryFixture) {\n\t\t\tthis.mercuryFixture = new MercuryFixture(this.cwd, this.ServiceFactory())\n\t\t}\n\n\t\treturn this.mercuryFixture\n\t}\n\n\tprotected static get people() {\n\t\tif (!this.personFixture) {\n\t\t\tthis.personFixture = new PersonFixture(\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.personFixture\n\t}\n\n\tprotected static getViewFixture() {\n\t\tif (!this.viewFixture) {\n\t\t\tconst writerFactory = this.WriterFactory()\n\n\t\t\tconst viewWriter = writerFactory.Writer('view', { fileDescriptions: [] })\n\t\t\tthis.viewFixture = new ViewFixture(\n\t\t\t\tthis.cwd,\n\t\t\t\tviewWriter,\n\t\t\t\tthis.Action('view', 'sync')\n\t\t\t)\n\t\t}\n\n\t\treturn this.viewFixture\n\t}\n\n\tprivate static WriterFactory() {\n\t\treturn new WriterFactory({\n\t\t\ttemplates,\n\t\t\tui: this.ui,\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\t}\n\n\tprotected static async skipInstallSkillPrompts<\n\t\tE extends () => Promise<FeatureActionResponse>\n\t>(\n\t\texecute?: E\n\t): Promise<E extends undefined ? undefined : FeatureActionResponse> {\n\t\tconst promise = execute?.()\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('n')\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\treturn results as any\n\t}\n\n\tprotected static getOrganizationFixture() {\n\t\tif (!this.organizationFixture) {\n\t\t\tthis.organizationFixture = new OrganizationFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.organizationFixture\n\t}\n\n\tprotected static getSkillFixture() {\n\t\tif (!this.skillFixture) {\n\t\t\tthis.skillFixture = new SkillFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory(),\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.skillFixture\n\t}\n\n\tprotected static resolveHashSprucePath(...filePath: string[]) {\n\t\treturn diskUtil.resolveHashSprucePath(this.cwd, ...filePath)\n\t}\n\n\tprotected static get featureInstaller() {\n\t\tif (!this._featureInstaller) {\n\t\t\tconst installer = this.FeatureInstaller()\n\t\t\tthis._featureInstaller = installer\n\t\t}\n\n\t\treturn this._featureInstaller\n\t}\n\n\tprotected static set featureInstaller(installer: FeatureInstaller) {\n\t\tthis._featureInstaller = installer\n\t}\n\n\tprotected static FeatureInstaller(options?: Partial<FeatureOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\t\tconst storeFactory = this.StoreFactory(options)\n\t\tconst emitter = options?.emitter ?? this.emitter\n\t\tconst apiClientFactory = this.getMercuryFixture().getApiClientFactory()\n\n\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\tconst installer = FeatureInstallerFactory.WithAllFeatures({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory,\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory,\n\t\t\tactionExecuter,\n\t\t\t...options,\n\t\t})\n\t\treturn installer\n\t}\n\n\tprotected static StoreFactory(options?: Partial<StoreFactoryOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\treturn new StoreFactory({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\thomeDir: this.homeDir,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\temitter: this.emitter,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static Store<C extends StoreCode>(\n\t\tcode: C,\n\t\toptions?: CreateStoreOptions<C>\n\t): StoreMap[C] {\n\t\treturn this.StoreFactory().Store(code, {\n\t\t\tcwd: this.cwd,\n\t\t\t...(options as any),\n\t\t})\n\t}\n\n\tprotected static async waitForInput() {\n\t\treturn this.ui.waitForInput()\n\t}\n\n\tprotected static async assertIsFeatureInstalled(code: FeatureCode) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled(code)\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\tprotected static async assertValidActionResponseFiles(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tfor (const file of results.files ?? []) {\n\t\t\tconst checker = this.Service('typeChecker')\n\t\t\tawait checker.check(file.path)\n\t\t}\n\n\t\t// await Promise.all(\n\t\t// \t(results.files ?? []).map((file) => {\n\t\t// \t\tconst checker = this.Service('typeChecker')\n\t\t// \t\treturn checker.check(file.path)\n\t\t// \t})\n\t\t// )\n\t}\n\n\tprotected static async connectToApi(options?: ApiClientFactoryOptions) {\n\t\treturn this.getMercuryFixture().connectToApi(options)\n\t}\n\n\tprotected static async openInVsCode(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Action('vscode', 'setup').execute({ all: true })\n\n\t\tawait this.Service('command').execute(\n\t\t\t`code ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static async openInFinder(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Service('command').execute(\n\t\t\t`open ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static log(...args: any[]) {\n\t\ttestUtil.log(...args)\n\t}\n\n\tprotected static Action<\n\t\tAction extends AbstractAction = AbstractAction,\n\t\tF extends FeatureCode = FeatureCode\n\t>(featureCode: F, actionCode: string, options?: ExecuterOptions): Action {\n\t\tconst executer = this.ActionExecuter({\n\t\t\tshouldThrowOnListenerError: true,\n\t\t\t...options,\n\t\t}).Action(featureCode, actionCode)\n\n\t\treturn executer as any\n\t}\n\n\tprotected static ActionExecuter(options?: ExecuterOptions) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\t\tconst writerFactory = this.WriterFactory()\n\n\t\tconst actionFactory = new ActionFactory({\n\t\t\twriterFactory,\n\t\t\tui: this.ui,\n\t\t\temitter: this.emitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory: this.StoreFactory(),\n\t\t\ttemplates,\n\t\t\toptionOverrides: {\n\t\t\t\t'sync.schemas': {\n\t\t\t\t\tshouldInstallMissingDependencies: true,\n\t\t\t\t},\n\t\t\t\t...options?.optionOverrides,\n\t\t\t},\n\t\t})\n\n\t\tconst executer = new ActionExecuter({\n\t\t\tui: this.ui,\n\t\t\temitter: this.emitter,\n\t\t\tactionFactory,\n\t\t\tfeatureInstallerFactory: () => {\n\t\t\t\treturn this.featureInstaller\n\t\t\t},\n\t\t\tshouldAutoHandleDependencies: false,\n\t\t\t...options,\n\t\t})\n\n\t\treturn executer\n\t}\n\n\tprotected static selectOptionBasedOnLabel(label: string) {\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel,\n\t\t})\n\n\t\tconst match = last.options.options.choices.find(\n\t\t\t(o: any) => o.label === label\n\t\t)\n\n\t\tvoid this.ui.sendInput(`${match.value}`)\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AbstractCliTest.js","names":["AbstractCliTest","cleanTestDirsAndFiles","LintService","disableLinting","ImportService","setCacheDir","diskUtil","createRandomTempDir","enableCaching","process","env","ENABLE_INSTALL_ENTERTAINMENT","originalEnv","_writers","ActionFactory","clearActionOverrides","testUtil","startLogTimer","SchemaRegistry","getInstance","forgetAllSchemas","cwd","freshTmpDir","homeDir","_emitter","undefined","_featureInstaller","OnboardingStore","overrideCwd","ui","reset","invocations","setCursorPosition","x","y","clearFixtures","clearCache","SkillStore","clearCurrentSkill","EventStore","CommandService","clearFakedResponses","MercuryClientFactory","setIsTestMode","commandFaker","CommandFaker","organizationFixture","clearAllOrgs","mercuryFixture","disconnectAll","_ui","isWaitingForInput","Error","doesDirExist","shouldClearCache","deleteDir","shouldCleanupAfterEach","FeatureFixture","deleteOldSkillDirs","shouldCleanupAfterAll","pattern","resolveTestPath","globby","matches","match","deleteFile","personFixture","skillFixture","viewFixture","tmpDirectory","resolveTestDir","uuid","v4","fs","ensureDirSync","SpyInterface","CliGlobalEmitter","Emitter","emitter","pathAfterTestDirsAndFiles","pathUtil","join","cliRoot","options","Cli","fixture","linkLocalPackages","type","sf","ServiceFactory","Service","serviceFactory","apiClientFactory","getMercuryFixture","getApiClientFactory","featureInstaller","MercuryFixture","PersonFixture","viewWriter","writers","Writer","fileDescriptions","ViewFixture","Action","WriterFactory","templates","settings","execute","promise","waitForInput","sendInput","results","OrganizationFixture","people","StoreFactory","SkillFixture","filePath","resolveHashSprucePath","installer","FeatureInstaller","storeFactory","actionExecuter","ActionExecuter","FeatureInstallerFactory","WithAllFeatures","code","Store","isInstalled","assert","isTrue","files","file","assertFilePassesTypeChecks","path","checker","check","connectToApi","all","dir","wait","timeout","log","featureCode","actionCode","executer","shouldThrowOnListenerError","actionFactory","writerFactory","optionOverrides","shouldInstallMissingDependencies","featureInstallerFactory","shouldAutoHandleDependencies","label","last","getLastInvocation","doesInclude","choices","find","o","value","AbstractSpruceTest","__dirname"],"sources":["../../src/tests/AbstractCliTest.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { SchemaRegistry } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { templates } from '@sprucelabs/spruce-templates'\nimport AbstractSpruceTest, { assert } from '@sprucelabs/test-utils'\nimport fs from 'fs-extra'\nimport globby from 'globby'\nimport * as uuid from 'uuid'\nimport { CliBootOptions } from '../cli'\nimport AbstractAction from '../features/AbstractAction'\nimport { FeatureOptions } from '../features/AbstractFeature'\nimport ActionExecuter, {\n\tActionExecuterOptions,\n} from '../features/ActionExecuter'\nimport ActionFactory from '../features/ActionFactory'\nimport EventStore from '../features/event/stores/EventStore'\nimport FeatureInstaller from '../features/FeatureInstaller'\nimport FeatureInstallerFactory from '../features/FeatureInstallerFactory'\nimport { FeatureActionResponse, FeatureCode } from '../features/features.types'\nimport OnboardingStore from '../features/onboard/stores/OnboardingStore'\nimport SkillStore from '../features/skill/stores/SkillStore'\nimport CliGlobalEmitter, { GlobalEmitter } from '../GlobalEmitter'\nimport SpyInterface from '../interfaces/SpyInterface'\nimport CommandService from '../services/CommandService'\nimport ImportService from '../services/ImportService'\nimport LintService from '../services/LintService'\nimport ServiceFactory, { Service, ServiceMap } from '../services/ServiceFactory'\nimport StoreFactory, {\n\tStoreCode,\n\tCreateStoreOptions,\n\tStoreFactoryOptions,\n\tStoreMap,\n} from '../stores/StoreFactory'\nimport { ApiClientFactoryOptions } from '../types/apiClient.types'\nimport { OptionOverrides } from '../types/cli.types'\nimport WriterFactory from '../writers/WriterFactory'\nimport CommandFaker from './CommandFaker'\nimport FeatureFixture, {\n\tFeatureFixtureOptions,\n} from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\nimport ViewFixture from './fixtures/ViewFixture'\nimport testUtil from './utilities/test.utility'\n\nexport default abstract class AbstractCliTest extends AbstractSpruceTest {\n\tprotected static cliRoot = pathUtil.join(__dirname, '..')\n\tprotected static homeDir: string\n\tprotected static commandFaker: CommandFaker\n\n\tprivate static _ui: SpyInterface\n\tprivate static _emitter?: GlobalEmitter\n\tprivate static mercuryFixture?: MercuryFixture\n\tprivate static personFixture?: PersonFixture\n\tprivate static organizationFixture?: OrganizationFixture\n\tprivate static skillFixture?: SkillFixture\n\tprivate static _featureInstaller?: FeatureInstaller\n\tprivate static viewFixture?: ViewFixture\n\tprivate static originalEnv: { [x: string]: string | undefined }\n\tprivate static _writers?: WriterFactory\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tawait this.cleanTestDirsAndFiles()\n\n\t\tLintService.disableLinting()\n\n\t\tImportService.setCacheDir(diskUtil.createRandomTempDir())\n\t\tImportService.enableCaching()\n\n\t\tprocess.env.ENABLE_INSTALL_ENTERTAINMENT = 'false'\n\n\t\tthis.originalEnv = { ...process.env }\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tdelete this._writers\n\n\t\tActionFactory.clearActionOverrides()\n\n\t\t//@ts-ignore\n\t\tprocess.env = { ...this.originalEnv }\n\n\t\ttestUtil.startLogTimer()\n\n\t\tSchemaRegistry.getInstance().forgetAllSchemas()\n\n\t\tthis.cwd = this.freshTmpDir()\n\t\tthis.homeDir = this.freshTmpDir()\n\n\t\tthis._emitter = undefined\n\t\tthis._featureInstaller = undefined\n\n\t\tOnboardingStore.overrideCwd(diskUtil.createRandomTempDir())\n\n\t\tthis.ui.reset()\n\t\tthis.ui.invocations = []\n\t\tthis.ui.setCursorPosition({ x: 0, y: 0 })\n\n\t\tthis.clearFixtures()\n\n\t\tImportService.clearCache()\n\t\tSkillStore.clearCurrentSkill()\n\t\tEventStore.clearCache()\n\t\tCommandService.clearFakedResponses()\n\t\tMercuryClientFactory.reset()\n\t\tMercuryClientFactory.setIsTestMode(false)\n\n\t\tthis.commandFaker = new CommandFaker()\n\t}\n\n\tprotected static async afterEach() {\n\t\tawait super.afterEach()\n\n\t\tawait this.organizationFixture?.clearAllOrgs()\n\t\tawait this.mercuryFixture?.disconnectAll()\n\n\t\tthis.clearFixtures()\n\n\t\tif (this._ui?.isWaitingForInput()) {\n\t\t\tthrow new Error(\n\t\t\t\t`Terminal interface is waiting for input. Make sure you are invoking this.term.sendInput() as many times as needed.`\n\t\t\t)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.cwd) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.cwd)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.homeDir) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.homeDir)\n\t\t}\n\n\t\tif (testUtil.shouldCleanupAfterEach()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t\tif (testUtil.shouldCleanupAfterAll()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprivate static async cleanTestDirsAndFiles() {\n\t\tconst pattern = this.resolveTestPath('**/*.d.ts')\n\t\tconst matches = await globby(pattern)\n\n\t\tfor (const match of matches) {\n\t\t\tdiskUtil.deleteFile(match)\n\t\t}\n\t}\n\n\tprivate static clearFixtures() {\n\t\tthis._emitter = undefined\n\t\tthis.mercuryFixture = undefined\n\t\tthis.organizationFixture = undefined\n\t\tthis.personFixture = undefined\n\t\tthis.skillFixture = undefined\n\t\tthis.viewFixture = undefined\n\t}\n\n\tprotected static freshTmpDir() {\n\t\tconst tmpDirectory = testUtil.resolveTestDir(uuid.v4())\n\t\tfs.ensureDirSync(tmpDirectory)\n\t\treturn tmpDirectory\n\t}\n\n\tprotected static get ui() {\n\t\tif (!this._ui) {\n\t\t\tthis._ui = new SpyInterface()\n\t\t}\n\n\t\treturn this._ui\n\t}\n\n\tprotected static get emitter() {\n\t\tif (!this._emitter) {\n\t\t\tthis._emitter = CliGlobalEmitter.Emitter()\n\t\t}\n\t\treturn this._emitter\n\t}\n\n\tprotected static set emitter(emitter: GlobalEmitter) {\n\t\tthis._emitter = emitter\n\t}\n\n\tprotected static resolveTestPath(...pathAfterTestDirsAndFiles: string[]) {\n\t\treturn pathUtil.join(\n\t\t\tthis.cliRoot,\n\t\t\t'__tests__',\n\t\t\t'testDirsAndFiles',\n\t\t\t...pathAfterTestDirsAndFiles\n\t\t)\n\t}\n\n\tprotected static async Cli(options?: CliBootOptions) {\n\t\treturn this.FeatureFixture(options).Cli({\n\t\t\tcwd: this.cwd,\n\t\t\thomeDir: this.homeDir,\n\t\t\t...(options ?? {}),\n\t\t})\n\t}\n\n\tprotected static async linkLocalPackages() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tawait fixture.linkLocalPackages()\n\t}\n\n\tprotected static Service<S extends Service>(\n\t\ttype: S,\n\t\tcwd?: string\n\t): ServiceMap[S] {\n\t\tconst sf = this.ServiceFactory()\n\t\treturn sf.Service(cwd ?? this.cwd, type)\n\t}\n\n\tprotected static ServiceFactory() {\n\t\treturn new ServiceFactory()\n\t}\n\n\tprotected static FeatureFixture(options?: Partial<FeatureFixtureOptions>) {\n\t\treturn new FeatureFixture({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory: this.ServiceFactory(),\n\t\t\tui: this.ui,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tfeatureInstaller: this.featureInstaller,\n\t\t\temitter: this.emitter,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static getMercuryFixture() {\n\t\tif (!this.mercuryFixture) {\n\t\t\tthis.mercuryFixture = new MercuryFixture(this.cwd, this.ServiceFactory())\n\t\t}\n\n\t\treturn this.mercuryFixture\n\t}\n\n\tprotected static get people() {\n\t\tif (!this.personFixture) {\n\t\t\tthis.personFixture = new PersonFixture(\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.personFixture\n\t}\n\n\tprotected static getViewFixture() {\n\t\tif (!this.viewFixture) {\n\t\t\tconst viewWriter = this.writers.Writer('view', { fileDescriptions: [] })\n\t\t\tthis.viewFixture = new ViewFixture(\n\t\t\t\tthis.cwd,\n\t\t\t\tviewWriter,\n\t\t\t\tthis.Action('view', 'sync')\n\t\t\t)\n\t\t}\n\n\t\treturn this.viewFixture\n\t}\n\n\tprotected static get writers() {\n\t\tif (!this._writers) {\n\t\t\tthis._writers = this.WriterFactory()\n\t\t}\n\n\t\treturn this._writers\n\t}\n\n\tprivate static WriterFactory() {\n\t\treturn new WriterFactory({\n\t\t\ttemplates,\n\t\t\tui: this.ui,\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\t}\n\n\tprotected static async skipInstallSkillPrompts<\n\t\tE extends () => Promise<FeatureActionResponse>\n\t>(\n\t\texecute?: E\n\t): Promise<E extends undefined ? undefined : FeatureActionResponse> {\n\t\tconst promise = execute?.()\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('n')\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\treturn results as any\n\t}\n\n\tprotected static getOrganizationFixture() {\n\t\tif (!this.organizationFixture) {\n\t\t\tthis.organizationFixture = new OrganizationFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.organizationFixture\n\t}\n\n\tprotected static getSkillFixture() {\n\t\tif (!this.skillFixture) {\n\t\t\tthis.skillFixture = new SkillFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory(),\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.skillFixture\n\t}\n\n\tprotected static resolveHashSprucePath(...filePath: string[]) {\n\t\treturn diskUtil.resolveHashSprucePath(this.cwd, ...filePath)\n\t}\n\n\tprotected static get featureInstaller() {\n\t\tif (!this._featureInstaller) {\n\t\t\tconst installer = this.FeatureInstaller()\n\t\t\tthis._featureInstaller = installer\n\t\t}\n\n\t\treturn this._featureInstaller\n\t}\n\n\tprotected static set featureInstaller(installer: FeatureInstaller) {\n\t\tthis._featureInstaller = installer\n\t}\n\n\tprotected static FeatureInstaller(options?: Partial<FeatureOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\t\tconst storeFactory = this.StoreFactory(options)\n\t\tconst emitter = options?.emitter ?? this.emitter\n\t\tconst apiClientFactory = this.getMercuryFixture().getApiClientFactory()\n\n\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\tconst installer = FeatureInstallerFactory.WithAllFeatures({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory,\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory,\n\t\t\tactionExecuter,\n\t\t\t...options,\n\t\t})\n\t\treturn installer\n\t}\n\n\tprotected static StoreFactory(options?: Partial<StoreFactoryOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\treturn new StoreFactory({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\thomeDir: this.homeDir,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\temitter: this.emitter,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static Store<C extends StoreCode>(\n\t\tcode: C,\n\t\toptions?: CreateStoreOptions<C>\n\t): StoreMap[C] {\n\t\treturn this.StoreFactory().Store(code, {\n\t\t\tcwd: this.cwd,\n\t\t\t...(options as any),\n\t\t})\n\t}\n\n\tprotected static async waitForInput() {\n\t\treturn this.ui.waitForInput()\n\t}\n\n\tprotected static async assertIsFeatureInstalled(code: FeatureCode) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled(code)\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\tprotected static async assertValidActionResponseFiles(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tfor (const file of results.files ?? []) {\n\t\t\tawait this.assertFilePassesTypeChecks(file.path)\n\t\t}\n\n\t\t// await Promise.all(\n\t\t// \t(results.files ?? []).map((file) => {\n\t\t// \t\tconst checker = this.Service('typeChecker')\n\t\t// \t\treturn checker.check(file.path)\n\t\t// \t})\n\t\t// )\n\t}\n\n\tprotected static async assertFilePassesTypeChecks(file: string) {\n\t\tconst checker = this.Service('typeChecker')\n\t\tawait checker.check(file)\n\t}\n\n\tprotected static async connectToApi(options?: ApiClientFactoryOptions) {\n\t\treturn this.getMercuryFixture().connectToApi(options)\n\t}\n\n\tprotected static async openInVsCode(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Action('vscode', 'setup').execute({ all: true })\n\n\t\tawait this.Service('command').execute(\n\t\t\t`code ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static async openInFinder(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Service('command').execute(\n\t\t\t`open ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static log(...args: any[]) {\n\t\ttestUtil.log(...args)\n\t}\n\n\tprotected static Action<\n\t\tAction extends AbstractAction = AbstractAction,\n\t\tF extends FeatureCode = FeatureCode\n\t>(featureCode: F, actionCode: string, options?: ExecuterOptions): Action {\n\t\tconst executer = this.ActionExecuter({\n\t\t\tshouldThrowOnListenerError: true,\n\t\t\t...options,\n\t\t}).Action(featureCode, actionCode)\n\n\t\treturn executer as any\n\t}\n\n\tprotected static ActionExecuter(options?: ExecuterOptions) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\tconst actionFactory = new ActionFactory({\n\t\t\twriterFactory: this.writers,\n\t\t\tui: this.ui,\n\t\t\temitter: this.emitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory: this.StoreFactory(),\n\t\t\ttemplates,\n\t\t\toptionOverrides: {\n\t\t\t\t'sync.schemas': {\n\t\t\t\t\tshouldInstallMissingDependencies: true,\n\t\t\t\t},\n\t\t\t\t...options?.optionOverrides,\n\t\t\t},\n\t\t})\n\n\t\tconst executer = new ActionExecuter({\n\t\t\tui: this.ui,\n\t\t\temitter: this.emitter,\n\t\t\tactionFactory,\n\t\t\tfeatureInstallerFactory: () => {\n\t\t\t\treturn this.featureInstaller\n\t\t\t},\n\t\t\tshouldAutoHandleDependencies: false,\n\t\t\t...options,\n\t\t})\n\n\t\treturn executer\n\t}\n\n\tprotected static selectOptionBasedOnLabel(label: string) {\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel,\n\t\t})\n\n\t\tconst match = last.options.options.choices.find(\n\t\t\t(o: any) => o.label === label\n\t\t)\n\n\t\tvoid this.ui.sendInput(`${match.value}`)\n\t}\n}\n\ntype ExecuterOptions = Partial<ActionExecuterOptions> & {\n\toptionOverrides?: OptionOverrides\n}\n"],"mappings":"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"}
|
|
@@ -173,6 +173,13 @@ function _run() {
|
|
|
173
173
|
term.clear();
|
|
174
174
|
if (process.env.WILL_BUILD_CACHE_SCRIPT) {
|
|
175
175
|
term.renderLine('Running pre build cache script');
|
|
176
|
+
if (process.env.CLEAN_CACHE_SCRIPT) {
|
|
177
|
+
try {
|
|
178
|
+
(0, _child_process.execSync)(process.env.CLEAN_CACHE_SCRIPT);
|
|
179
|
+
} catch (_unused) {
|
|
180
|
+
/* Empty */
|
|
181
|
+
}
|
|
182
|
+
}
|
|
176
183
|
(0, _child_process.execSync)(process.env.WILL_BUILD_CACHE_SCRIPT);
|
|
177
184
|
}
|
|
178
185
|
term.renderHeadline("Found ".concat(testKeys.length, " skills to cache."));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTestCache.js","names":["require","config","packageJsonContents","diskUtil","readFile","resolvePath","__dirname","packageJson","JSON","parse","testSkillCache","testKeys","Object","keys","remaining","length","term","TerminalInterface","start","Date","getTime","testSkillsToCache","process","env","TEST_SKILLS_TO_CACHE","undefined","onlyInstall","split","map","t","trim","shouldRunSequentially","argv","find","a","maxSimultaneous","MAX_SIMULTANEOUS_SKILL_CACHERS","totalSimultaneous","progressInterval","doesSupportColor","didMessagesChange","run","getTimeSpent","renderLine","renderWarning","cacheOrSkip","setup","cache","lineNum","cwd","cacheKey","fixture","options","doesDirExist","GraphicsTextEffect","Italic","deleteDir","Green","installFeatures","durationUtil","msToFriendly","Bold","Red","stack","importCacheDir","testUtil","resolveTestDir","ImportService","setCacheDir","serviceFactory","ServiceFactory","mercuryFixture","MercuryFixture","FeatureFixture","ui","shouldGenerateCacheIfMissing","apiClientFactory","getApiClientFactory","cacheTracker","loadCacheTracker","indexOf","Yellow","message","effects","messages","render","console","log","now","delta","clear","WILL_BUILD_CACHE_SCRIPT","execSync","renderHeadline","moveCursorTo","eraseLine","stopLoading","startLoading","dropInS","clearBelowCursor","setInterval","Promise","all","idx","promises","resolve","setTimeout","then","DID_BUILD_CACHE_SCRIPT","clearInterval","err","renderError"],"sources":["../../src/tests/buildTestCache.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { execSync } from 'child_process'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport ImportService from '../services/ImportService'\nimport ServiceFactory from '../services/ServiceFactory'\nimport testUtil from '../tests/utilities/test.utility'\nimport { GraphicsTextEffect } from '../types/graphicsInterface.types'\nimport durationUtil from '../utilities/duration.utility'\nimport FeatureFixture from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nrequire('dotenv').config()\n\nconst packageJsonContents = diskUtil.readFile(\n\tdiskUtil.resolvePath(__dirname, '..', '..', 'package.json')\n)\n\nconst packageJson = JSON.parse(packageJsonContents)\nconst { testSkillCache } = packageJson\nconst testKeys = Object.keys(testSkillCache)\n\nlet remaining = testKeys.length\nconst term = new TerminalInterface(__dirname, true)\nconst start = new Date().getTime()\nconst testSkillsToCache =\n\tprocess.env.TEST_SKILLS_TO_CACHE === '*'\n\t\t? undefined\n\t\t: process.env.TEST_SKILLS_TO_CACHE\nconst onlyInstall = testSkillsToCache?.split(',').map((t) => t.trim()) as\n\t| string[]\n\t| undefined\n\nconst shouldRunSequentially = !!process.argv.find(\n\t(a) => a === '--shouldRunSequentially=true' || a === '--shouldRunSequentially'\n)\nconst maxSimultaneous = process.env.MAX_SIMULTANEOUS_SKILL_CACHERS ?? 10\nlet totalSimultaneous = 0\nlet progressInterval: any\nconst doesSupportColor = TerminalInterface.doesSupportColor()\n\nlet didMessagesChange = true\n\nasync function run() {\n\tterm.clear()\n\n\tif (process.env.WILL_BUILD_CACHE_SCRIPT) {\n\t\tterm.renderLine('Running pre build cache script')\n\t\texecSync(process.env.WILL_BUILD_CACHE_SCRIPT)\n\t}\n\n\tterm.renderHeadline(`Found ${testKeys.length} skills to cache.`)\n\n\tlet messages: [string, any][] = []\n\n\tconst render = async () => {\n\t\tif (didMessagesChange) {\n\t\t\tterm.moveCursorTo(0, 6)\n\n\t\t\tfor (const message of messages) {\n\t\t\t\tterm.eraseLine()\n\t\t\t\tterm.renderLine(message[0], message[1])\n\t\t\t}\n\n\t\t\tawait term.stopLoading()\n\n\t\t\tterm.eraseLine()\n\t\t\tterm.renderLine('')\n\t\t}\n\n\t\tdidMessagesChange = false\n\n\t\tawait term.startLoading(\n\t\t\t`${`Building ${remaining} skill${dropInS(\n\t\t\t\tremaining\n\t\t\t)}`}. ${durationUtil.msToFriendly(getTimeSpent())}`\n\t\t)\n\n\t\tterm.clearBelowCursor()\n\t}\n\n\tprogressInterval = doesSupportColor && setInterval(render, 1000)\n\n\tfunction getTimeSpent() {\n\t\tconst now = new Date().getTime()\n\t\tconst delta = now - start\n\t\treturn delta\n\t}\n\n\tfunction renderLine(lineNum: number, message: any, effects?: any) {\n\t\tif (doesSupportColor) {\n\t\t\tdidMessagesChange = true\n\t\t\tmessages[lineNum] = [message, effects]\n\t\t\tvoid render()\n\t\t} else {\n\t\t\tconsole.log(message)\n\t\t}\n\t}\n\n\tfunction renderWarning(lineNum: number, message: any, effects?: any) {\n\t\tif (doesSupportColor) {\n\t\t\tdidMessagesChange = true\n\t\t\tmessages[lineNum] = [message, effects]\n\t\t\tvoid render()\n\t\t} else {\n\t\t\tconsole.log(message)\n\t\t}\n\t}\n\n\tif (doesSupportColor) {\n\t\tawait term.startLoading(\n\t\t\t`Building ${remaining} remaining skill${dropInS(remaining)}...`\n\t\t)\n\t}\n\n\tif (shouldRunSequentially) {\n\t\tawait Promise.all(\n\t\t\ttestKeys.map((cacheKey, idx) => cacheOrSkip(idx, cacheKey))\n\t\t)\n\t} else {\n\t\tconst promises = testKeys.map(async (cacheKey, idx) => {\n\t\t\twhile (totalSimultaneous >= maxSimultaneous) {\n\t\t\t\tawait new Promise((resolve) => setTimeout(resolve, 1000))\n\t\t\t}\n\t\t\ttotalSimultaneous++\n\t\t\tawait cacheOrSkip(idx, cacheKey)\n\t\t\ttotalSimultaneous--\n\t\t})\n\n\t\tawait Promise.all(promises)\n\t}\n\n\tawait term.stopLoading()\n\tterm.renderLine(`Done! ${durationUtil.msToFriendly(getTimeSpent())}`)\n\n\tasync function cacheOrSkip(lineNum: number, cacheKey: string) {\n\t\tconst { cacheTracker, cwd, fixture, options } = setup(cacheKey)\n\n\t\tif (onlyInstall && onlyInstall.indexOf(cacheKey) === -1) {\n\t\t\trenderLine(lineNum, `Skipping '${cacheKey}'.`, [\n\t\t\t\tGraphicsTextEffect.Yellow,\n\t\t\t])\n\t\t\tremaining--\n\t\t} else if (\n\t\t\tcacheTracker[cacheKey] &&\n\t\t\tdiskUtil.doesDirExist(diskUtil.resolvePath(cwd, 'node_modules'))\n\t\t) {\n\t\t\tremaining--\n\t\t\trenderLine(lineNum, `'${cacheKey}' already cached. Skipping...`, [\n\t\t\t\tGraphicsTextEffect.Italic,\n\t\t\t])\n\t\t} else {\n\t\t\tawait cache(lineNum, cwd, cacheKey, fixture, options)\n\t\t\tremaining--\n\t\t}\n\t}\n\n\tfunction setup(cacheKey: string) {\n\t\tconst options = testSkillCache[cacheKey]\n\n\t\tconst importCacheDir = testUtil.resolveTestDir('spruce-cli-import-cache')\n\t\tImportService.setCacheDir(importCacheDir)\n\n\t\tconst serviceFactory = new ServiceFactory()\n\t\tconst cwd = testUtil.resolveTestDir(cacheKey)\n\n\t\tconst mercuryFixture = new MercuryFixture(cwd, serviceFactory)\n\t\tconst fixture = new FeatureFixture({\n\t\t\tcwd,\n\t\t\tserviceFactory,\n\t\t\tui: new TerminalInterface(cwd),\n\t\t\tshouldGenerateCacheIfMissing: true,\n\t\t\tapiClientFactory: mercuryFixture.getApiClientFactory(),\n\t\t})\n\n\t\tconst cacheTracker = fixture.loadCacheTracker()\n\t\treturn { cacheTracker, cwd, fixture, options }\n\t}\n\n\tasync function cache(\n\t\tlineNum: number,\n\t\tcwd: string,\n\t\tcacheKey: string,\n\t\tfixture: FeatureFixture,\n\t\toptions: any\n\t) {\n\t\tif (diskUtil.doesDirExist(cwd)) {\n\t\t\trenderWarning(\n\t\t\t\tlineNum,\n\t\t\t\t`Found cached '${cacheKey}', but deleted it since it was not in the cache tracker...`,\n\t\t\t\t[GraphicsTextEffect.Italic]\n\t\t\t)\n\t\t\tdiskUtil.deleteDir(cwd)\n\t\t}\n\n\t\trenderLine(lineNum, `Starting to build '${cacheKey}'...`, [\n\t\t\tGraphicsTextEffect.Green,\n\t\t])\n\n\t\ttry {\n\t\t\tawait fixture.installFeatures(options, cacheKey)\n\t\t\trenderLine(\n\t\t\t\tlineNum,\n\t\t\t\t`Done caching '${cacheKey}'. ${\n\t\t\t\t\tremaining - 1\n\t\t\t\t} remaining (${durationUtil.msToFriendly(getTimeSpent())})...`,\n\t\t\t\t[GraphicsTextEffect.Green, GraphicsTextEffect.Bold]\n\t\t\t)\n\t\t} catch (err: any) {\n\t\t\trenderLine(lineNum, `Error caching '${cacheKey}'...`, [\n\t\t\t\tGraphicsTextEffect.Red,\n\t\t\t\tGraphicsTextEffect.Bold,\n\t\t\t])\n\n\t\t\trenderLine(lineNum, `Error caching ${cacheKey}:\\n\\n${err.stack}`)\n\t\t}\n\t}\n}\n\nfunction dropInS(remaining: number) {\n\treturn remaining === 1 ? '' : 's'\n}\n\nvoid run()\n\t.then(() => {\n\t\tif (process.env.DID_BUILD_CACHE_SCRIPT) {\n\t\t\tterm.renderLine('Running pre build cache script')\n\t\t\texecSync(process.env.DID_BUILD_CACHE_SCRIPT)\n\t\t}\n\t\tif (progressInterval) {\n\t\t\tclearInterval(progressInterval)\n\t\t}\n\t})\n\t.catch((err) => {\n\t\tterm.renderError(err)\n\t\tif (progressInterval) {\n\t\t\tclearInterval(progressInterval)\n\t\t}\n\t})\n"],"mappings":"AAAA;AAAmB;;AAAA;AAAA;AAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAsD;AAAA;AAAA;AAAA;AACtDA,OAAO,CAAC,QAAQ,CAAC,CAACC,MAAM,EAAE;AAE1B,IAAMC,mBAAmB,GAAGC,0BAAQ,CAACC,QAAQ,CAC5CD,0BAAQ,CAACE,WAAW,CAACC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAC3D;AAED,IAAMC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACP,mBAAmB,CAAC;AACnD,IAAQQ,cAAc,GAAKH,WAAW,CAA9BG,cAAc;AACtB,IAAMC,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACH,cAAc,CAAC;AAE5C,IAAII,SAAS,GAAGH,QAAQ,CAACI,MAAM;AAC/B,IAAMC,IAAI,GAAG,IAAIC,6BAAiB,CAACX,SAAS,EAAE,IAAI,CAAC;AACnD,IAAMY,KAAK,GAAG,IAAIC,IAAI,EAAE,CAACC,OAAO,EAAE;AAClC,IAAMC,iBAAiB,GACtBC,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,GAAG,GACrCC,SAAS,GACTH,OAAO,CAACC,GAAG,CAACC,oBAAoB;AACpC,IAAME,WAAW,GAAGL,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEM,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,UAACC,CAAC;EAAA,OAAKA,CAAC,CAACC,IAAI,EAAE;AAAA,EAEzD;AAEZ,IAAMC,qBAAqB,GAAG,CAAC,CAACT,OAAO,CAACU,IAAI,CAACC,IAAI,CAChD,UAACC,CAAC;EAAA,OAAKA,CAAC,KAAK,8BAA8B,IAAIA,CAAC,KAAK,yBAAyB;AAAA,EAC9E;AACD,IAAMC,eAAe,4BAAGb,OAAO,CAACC,GAAG,CAACa,8BAA8B,yEAAI,EAAE;AACxE,IAAIC,iBAAiB,GAAG,CAAC;AACzB,IAAIC,gBAAqB;AACzB,IAAMC,gBAAgB,GAAGtB,6BAAiB,CAACsB,gBAAgB,EAAE;AAE7D,IAAIC,iBAAiB,GAAG,IAAI;AAAA,SAEbC,GAAG;EAAA;AAAA;AAAA;EAAA,qFAAlB;IAAA,sBAwCUC,YAAY,EAMZC,UAAU,EAUVC,aAAa,YAoCPC,WAAW,gBAsBjBC,KAAK,EAsBCC,KAAK;IAAA;MAAA;QAAA;UAAA;YAAA;cAAA,uFAApB,kBACCC,OAAe,EACfC,GAAW,EACXC,QAAgB,EAChBC,OAAuB,EACvBC,OAAY;gBAAA;kBAAA;oBAAA;sBAAA;wBAEZ,IAAIjD,0BAAQ,CAACkD,YAAY,CAACJ,GAAG,CAAC,EAAE;0BAC/BL,aAAa,CACZI,OAAO,0BACUE,QAAQ,iEACzB,CAACI,qCAAkB,CAACC,MAAM,CAAC,CAC3B;0BACDpD,0BAAQ,CAACqD,SAAS,CAACP,GAAG,CAAC;wBACxB;wBAEAN,UAAU,CAACK,OAAO,+BAAwBE,QAAQ,WAAQ,CACzDI,qCAAkB,CAACG,KAAK,CACxB,CAAC;wBAAA;wBAAA;wBAAA,OAGKN,OAAO,CAACO,eAAe,CAACN,OAAO,EAAEF,QAAQ,CAAC;sBAAA;wBAChDP,UAAU,CACTK,OAAO,0BACUE,QAAQ,gBACxBpC,SAAS,GAAG,CAAC,yBACC6C,oBAAY,CAACC,YAAY,CAAClB,YAAY,EAAE,CAAC,WACxD,CAACY,qCAAkB,CAACG,KAAK,EAAEH,qCAAkB,CAACO,IAAI,CAAC,CACnD;wBAAA;wBAAA;sBAAA;wBAAA;wBAAA;wBAEDlB,UAAU,CAACK,OAAO,2BAAoBE,QAAQ,WAAQ,CACrDI,qCAAkB,CAACQ,GAAG,EACtBR,qCAAkB,CAACO,IAAI,CACvB,CAAC;wBAEFlB,UAAU,CAACK,OAAO,0BAAmBE,QAAQ,kBAAQ,aAAIa,KAAK,EAAG;sBAAA;sBAAA;wBAAA;oBAAA;kBAAA;gBAAA;cAAA,CAElE;cAAA;YAAA;YArCchB,KAAK;cAAA;YAAA;YAtBXD,KAAK,oBAACI,QAAgB,EAAE;cAChC,IAAME,OAAO,GAAG1C,cAAc,CAACwC,QAAQ,CAAC;cAExC,IAAMc,cAAc,GAAGC,gBAAQ,CAACC,cAAc,CAAC,yBAAyB,CAAC;cACzEC,yBAAa,CAACC,WAAW,CAACJ,cAAc,CAAC;cAEzC,IAAMK,cAAc,GAAG,IAAIC,0BAAc,EAAE;cAC3C,IAAMrB,GAAG,GAAGgB,gBAAQ,CAACC,cAAc,CAAChB,QAAQ,CAAC;cAE7C,IAAMqB,cAAc,GAAG,IAAIC,0BAAc,CAACvB,GAAG,EAAEoB,cAAc,CAAC;cAC9D,IAAMlB,OAAO,GAAG,IAAIsB,0BAAc,CAAC;gBAClCxB,GAAG,EAAHA,GAAG;gBACHoB,cAAc,EAAdA,cAAc;gBACdK,EAAE,EAAE,IAAIzD,6BAAiB,CAACgC,GAAG,CAAC;gBAC9B0B,4BAA4B,EAAE,IAAI;gBAClCC,gBAAgB,EAAEL,cAAc,CAACM,mBAAmB;cACrD,CAAC,CAAC;cAEF,IAAMC,YAAY,GAAG3B,OAAO,CAAC4B,gBAAgB,EAAE;cAC/C,OAAO;gBAAED,YAAY,EAAZA,YAAY;gBAAE7B,GAAG,EAAHA,GAAG;gBAAEE,OAAO,EAAPA,OAAO;gBAAEC,OAAO,EAAPA;cAAQ,CAAC;YAC/C,CAAC;YAAA;cAAA,6FA1CD,kBAA2BJ,OAAe,EAAEE,QAAgB;gBAAA;gBAAA;kBAAA;oBAAA;sBAAA;wBAAA,SACXJ,KAAK,CAACI,QAAQ,CAAC,EAAvD4B,YAAY,UAAZA,YAAY,EAAE7B,GAAG,UAAHA,GAAG,EAAEE,OAAO,UAAPA,OAAO,EAAEC,OAAO,UAAPA,OAAO;wBAAA,MAEvC1B,WAAW,IAAIA,WAAW,CAACsD,OAAO,CAAC9B,QAAQ,CAAC,KAAK,CAAC,CAAC;0BAAA;0BAAA;wBAAA;wBACtDP,UAAU,CAACK,OAAO,sBAAeE,QAAQ,SAAM,CAC9CI,qCAAkB,CAAC2B,MAAM,CACzB,CAAC;wBACFnE,SAAS,EAAE;wBAAA;wBAAA;sBAAA;wBAAA,MAEXgE,YAAY,CAAC5B,QAAQ,CAAC,IACtB/C,0BAAQ,CAACkD,YAAY,CAAClD,0BAAQ,CAACE,WAAW,CAAC4C,GAAG,EAAE,cAAc,CAAC,CAAC;0BAAA;0BAAA;wBAAA;wBAEhEnC,SAAS,EAAE;wBACX6B,UAAU,CAACK,OAAO,aAAME,QAAQ,oCAAiC,CAChEI,qCAAkB,CAACC,MAAM,CACzB,CAAC;wBAAA;wBAAA;sBAAA;wBAAA;wBAAA,OAEIR,KAAK,CAACC,OAAO,EAAEC,GAAG,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,CAAC;sBAAA;wBACrDtC,SAAS,EAAE;sBAAA;sBAAA;wBAAA;oBAAA;kBAAA;gBAAA;cAAA,CAEZ;cAAA;YAAA;YApBc+B,WAAW;cAAA;YAAA;YApCjBD,aAAa,2BAACI,OAAe,EAAEkC,OAAY,EAAEC,OAAa,EAAE;cACpE,IAAI5C,gBAAgB,EAAE;gBACrBC,iBAAiB,GAAG,IAAI;gBACxB4C,QAAQ,CAACpC,OAAO,CAAC,GAAG,CAACkC,OAAO,EAAEC,OAAO,CAAC;gBACtC,KAAKE,MAAM,EAAE;cACd,CAAC,MAAM;gBACNC,OAAO,CAACC,GAAG,CAACL,OAAO,CAAC;cACrB;YACD,CAAC;YAlBQvC,UAAU,wBAACK,OAAe,EAAEkC,OAAY,EAAEC,OAAa,EAAE;cACjE,IAAI5C,gBAAgB,EAAE;gBACrBC,iBAAiB,GAAG,IAAI;gBACxB4C,QAAQ,CAACpC,OAAO,CAAC,GAAG,CAACkC,OAAO,EAAEC,OAAO,CAAC;gBACtC,KAAKE,MAAM,EAAE;cACd,CAAC,MAAM;gBACNC,OAAO,CAACC,GAAG,CAACL,OAAO,CAAC;cACrB;YACD,CAAC;YAdQxC,YAAY,4BAAG;cACvB,IAAM8C,GAAG,GAAG,IAAIrE,IAAI,EAAE,CAACC,OAAO,EAAE;cAChC,IAAMqE,KAAK,GAAGD,GAAG,GAAGtE,KAAK;cACzB,OAAOuE,KAAK;YACb,CAAC;YA3CDzE,IAAI,CAAC0E,KAAK,EAAE;YAEZ,IAAIpE,OAAO,CAACC,GAAG,CAACoE,uBAAuB,EAAE;cACxC3E,IAAI,CAAC2B,UAAU,CAAC,gCAAgC,CAAC;cACjD,IAAAiD,uBAAQ,EAACtE,OAAO,CAACC,GAAG,CAACoE,uBAAuB,CAAC;YAC9C;YAEA3E,IAAI,CAAC6E,cAAc,iBAAUlF,QAAQ,CAACI,MAAM,uBAAoB;YAE5DqE,QAAyB,GAAG,EAAE;YAE5BC,MAAM;cAAA,yFAAG;gBAAA;gBAAA;kBAAA;oBAAA;sBAAA;wBAAA,KACV7C,iBAAiB;0BAAA;0BAAA;wBAAA;wBACpBxB,IAAI,CAAC8E,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAA,uCAEDV,QAAQ;wBAAA;0BAA9B,oDAAgC;4BAArBF,OAAO;4BACjBlE,IAAI,CAAC+E,SAAS,EAAE;4BAChB/E,IAAI,CAAC2B,UAAU,CAACuC,OAAO,CAAC,CAAC,CAAC,EAAEA,OAAO,CAAC,CAAC,CAAC,CAAC;0BACxC;wBAAC;0BAAA;wBAAA;0BAAA;wBAAA;wBAAA;wBAAA,OAEKlE,IAAI,CAACgF,WAAW,EAAE;sBAAA;wBAExBhF,IAAI,CAAC+E,SAAS,EAAE;wBAChB/E,IAAI,CAAC2B,UAAU,CAAC,EAAE,CAAC;sBAAA;wBAGpBH,iBAAiB,GAAG,KAAK;wBAAA;wBAAA,OAEnBxB,IAAI,CAACiF,YAAY,8BACPnF,SAAS,mBAASoF,OAAO,CACvCpF,SAAS,CACT,SAAO6C,oBAAY,CAACC,YAAY,CAAClB,YAAY,EAAE,CAAC,EACjD;sBAAA;wBAED1B,IAAI,CAACmF,gBAAgB,EAAE;sBAAA;sBAAA;wBAAA;oBAAA;kBAAA;gBAAA;cAAA,CACvB;cAAA,gBAxBKd,MAAM;gBAAA;cAAA;YAAA;YA0BZ/C,gBAAgB,GAAGC,gBAAgB,IAAI6D,WAAW,CAACf,MAAM,EAAE,IAAI,CAAC;YAAA,KA4B5D9C,gBAAgB;cAAA;cAAA;YAAA;YAAA;YAAA,OACbvB,IAAI,CAACiF,YAAY,oBACVnF,SAAS,6BAAmBoF,OAAO,CAACpF,SAAS,CAAC,SAC1D;UAAA;YAAA,KAGEiB,qBAAqB;cAAA;cAAA;YAAA;YAAA;YAAA,OAClBsE,OAAO,CAACC,GAAG,CAChB3F,QAAQ,CAACiB,GAAG,CAAC,UAACsB,QAAQ,EAAEqD,GAAG;cAAA,OAAK1D,WAAW,CAAC0D,GAAG,EAAErD,QAAQ,CAAC;YAAA,EAAC,CAC3D;UAAA;YAAA;YAAA;UAAA;YAEKsD,QAAQ,GAAG7F,QAAQ,CAACiB,GAAG;cAAA,0FAAC,kBAAOsB,QAAQ,EAAEqD,GAAG;gBAAA;kBAAA;oBAAA;sBAAA;wBAAA,MAC1ClE,iBAAiB,IAAIF,eAAe;0BAAA;0BAAA;wBAAA;wBAAA;wBAAA,OACpC,IAAIkE,OAAO,CAAC,UAACI,OAAO;0BAAA,OAAKC,UAAU,CAACD,OAAO,EAAE,IAAI,CAAC;wBAAA,EAAC;sBAAA;wBAAA;wBAAA;sBAAA;wBAE1DpE,iBAAiB,EAAE;wBAAA;wBAAA,OACbQ,WAAW,CAAC0D,GAAG,EAAErD,QAAQ,CAAC;sBAAA;wBAChCb,iBAAiB,EAAE;sBAAA;sBAAA;wBAAA;oBAAA;kBAAA;gBAAA;cAAA,CACnB;cAAA;gBAAA;cAAA;YAAA,IAAC;YAAA;YAAA,OAEIgE,OAAO,CAACC,GAAG,CAACE,QAAQ,CAAC;UAAA;YAAA;YAAA,OAGtBxF,IAAI,CAACgF,WAAW,EAAE;UAAA;YACxBhF,IAAI,CAAC2B,UAAU,iBAAUgB,oBAAY,CAACC,YAAY,CAAClB,YAAY,EAAE,CAAC,EAAG;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAoFrE;EAAA;AAAA;AAED,SAASwD,OAAO,CAACpF,SAAiB,EAAE;EACnC,OAAOA,SAAS,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG;AAClC;AAEA,KAAK2B,GAAG,EAAE,CACRkE,IAAI,CAAC,YAAM;EACX,IAAIrF,OAAO,CAACC,GAAG,CAACqF,sBAAsB,EAAE;IACvC5F,IAAI,CAAC2B,UAAU,CAAC,gCAAgC,CAAC;IACjD,IAAAiD,uBAAQ,EAACtE,OAAO,CAACC,GAAG,CAACqF,sBAAsB,CAAC;EAC7C;EACA,IAAItE,gBAAgB,EAAE;IACrBuE,aAAa,CAACvE,gBAAgB,CAAC;EAChC;AACD,CAAC,CAAC,SACI,CAAC,UAACwE,GAAG,EAAK;EACf9F,IAAI,CAAC+F,WAAW,CAACD,GAAG,CAAC;EACrB,IAAIxE,gBAAgB,EAAE;IACrBuE,aAAa,CAACvE,gBAAgB,CAAC;EAChC;AACD,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"buildTestCache.js","names":["require","config","packageJsonContents","diskUtil","readFile","resolvePath","__dirname","packageJson","JSON","parse","testSkillCache","testKeys","Object","keys","remaining","length","term","TerminalInterface","start","Date","getTime","testSkillsToCache","process","env","TEST_SKILLS_TO_CACHE","undefined","onlyInstall","split","map","t","trim","shouldRunSequentially","argv","find","a","maxSimultaneous","MAX_SIMULTANEOUS_SKILL_CACHERS","totalSimultaneous","progressInterval","doesSupportColor","didMessagesChange","run","getTimeSpent","renderLine","renderWarning","cacheOrSkip","setup","cache","lineNum","cwd","cacheKey","fixture","options","doesDirExist","GraphicsTextEffect","Italic","deleteDir","Green","installFeatures","durationUtil","msToFriendly","Bold","Red","stack","importCacheDir","testUtil","resolveTestDir","ImportService","setCacheDir","serviceFactory","ServiceFactory","mercuryFixture","MercuryFixture","FeatureFixture","ui","shouldGenerateCacheIfMissing","apiClientFactory","getApiClientFactory","cacheTracker","loadCacheTracker","indexOf","Yellow","message","effects","messages","render","console","log","now","delta","clear","WILL_BUILD_CACHE_SCRIPT","CLEAN_CACHE_SCRIPT","execSync","renderHeadline","moveCursorTo","eraseLine","stopLoading","startLoading","dropInS","clearBelowCursor","setInterval","Promise","all","idx","promises","resolve","setTimeout","then","DID_BUILD_CACHE_SCRIPT","clearInterval","err","renderError"],"sources":["../../src/tests/buildTestCache.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { execSync } from 'child_process'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport TerminalInterface from '../interfaces/TerminalInterface'\nimport ImportService from '../services/ImportService'\nimport ServiceFactory from '../services/ServiceFactory'\nimport testUtil from '../tests/utilities/test.utility'\nimport { GraphicsTextEffect } from '../types/graphicsInterface.types'\nimport durationUtil from '../utilities/duration.utility'\nimport FeatureFixture from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nrequire('dotenv').config()\n\nconst packageJsonContents = diskUtil.readFile(\n\tdiskUtil.resolvePath(__dirname, '..', '..', 'package.json')\n)\n\nconst packageJson = JSON.parse(packageJsonContents)\nconst { testSkillCache } = packageJson\nconst testKeys = Object.keys(testSkillCache)\n\nlet remaining = testKeys.length\nconst term = new TerminalInterface(__dirname, true)\nconst start = new Date().getTime()\nconst testSkillsToCache =\n\tprocess.env.TEST_SKILLS_TO_CACHE === '*'\n\t\t? undefined\n\t\t: process.env.TEST_SKILLS_TO_CACHE\nconst onlyInstall = testSkillsToCache?.split(',').map((t) => t.trim()) as\n\t| string[]\n\t| undefined\n\nconst shouldRunSequentially = !!process.argv.find(\n\t(a) => a === '--shouldRunSequentially=true' || a === '--shouldRunSequentially'\n)\nconst maxSimultaneous = process.env.MAX_SIMULTANEOUS_SKILL_CACHERS ?? 10\nlet totalSimultaneous = 0\nlet progressInterval: any\nconst doesSupportColor = TerminalInterface.doesSupportColor()\n\nlet didMessagesChange = true\n\nasync function run() {\n\tterm.clear()\n\n\tif (process.env.WILL_BUILD_CACHE_SCRIPT) {\n\t\tterm.renderLine('Running pre build cache script')\n\t\tif (process.env.CLEAN_CACHE_SCRIPT) {\n\t\t\ttry {\n\t\t\t\texecSync(process.env.CLEAN_CACHE_SCRIPT)\n\t\t\t} catch {\n\t\t\t\t/* Empty */\n\t\t\t}\n\t\t}\n\t\texecSync(process.env.WILL_BUILD_CACHE_SCRIPT)\n\t}\n\n\tterm.renderHeadline(`Found ${testKeys.length} skills to cache.`)\n\n\tlet messages: [string, any][] = []\n\n\tconst render = async () => {\n\t\tif (didMessagesChange) {\n\t\t\tterm.moveCursorTo(0, 6)\n\n\t\t\tfor (const message of messages) {\n\t\t\t\tterm.eraseLine()\n\t\t\t\tterm.renderLine(message[0], message[1])\n\t\t\t}\n\n\t\t\tawait term.stopLoading()\n\n\t\t\tterm.eraseLine()\n\t\t\tterm.renderLine('')\n\t\t}\n\n\t\tdidMessagesChange = false\n\n\t\tawait term.startLoading(\n\t\t\t`${`Building ${remaining} skill${dropInS(\n\t\t\t\tremaining\n\t\t\t)}`}. ${durationUtil.msToFriendly(getTimeSpent())}`\n\t\t)\n\n\t\tterm.clearBelowCursor()\n\t}\n\n\tprogressInterval = doesSupportColor && setInterval(render, 1000)\n\n\tfunction getTimeSpent() {\n\t\tconst now = new Date().getTime()\n\t\tconst delta = now - start\n\t\treturn delta\n\t}\n\n\tfunction renderLine(lineNum: number, message: any, effects?: any) {\n\t\tif (doesSupportColor) {\n\t\t\tdidMessagesChange = true\n\t\t\tmessages[lineNum] = [message, effects]\n\t\t\tvoid render()\n\t\t} else {\n\t\t\tconsole.log(message)\n\t\t}\n\t}\n\n\tfunction renderWarning(lineNum: number, message: any, effects?: any) {\n\t\tif (doesSupportColor) {\n\t\t\tdidMessagesChange = true\n\t\t\tmessages[lineNum] = [message, effects]\n\t\t\tvoid render()\n\t\t} else {\n\t\t\tconsole.log(message)\n\t\t}\n\t}\n\n\tif (doesSupportColor) {\n\t\tawait term.startLoading(\n\t\t\t`Building ${remaining} remaining skill${dropInS(remaining)}...`\n\t\t)\n\t}\n\n\tif (shouldRunSequentially) {\n\t\tawait Promise.all(\n\t\t\ttestKeys.map((cacheKey, idx) => cacheOrSkip(idx, cacheKey))\n\t\t)\n\t} else {\n\t\tconst promises = testKeys.map(async (cacheKey, idx) => {\n\t\t\twhile (totalSimultaneous >= maxSimultaneous) {\n\t\t\t\tawait new Promise((resolve) => setTimeout(resolve, 1000))\n\t\t\t}\n\t\t\ttotalSimultaneous++\n\t\t\tawait cacheOrSkip(idx, cacheKey)\n\t\t\ttotalSimultaneous--\n\t\t})\n\n\t\tawait Promise.all(promises)\n\t}\n\n\tawait term.stopLoading()\n\tterm.renderLine(`Done! ${durationUtil.msToFriendly(getTimeSpent())}`)\n\n\tasync function cacheOrSkip(lineNum: number, cacheKey: string) {\n\t\tconst { cacheTracker, cwd, fixture, options } = setup(cacheKey)\n\n\t\tif (onlyInstall && onlyInstall.indexOf(cacheKey) === -1) {\n\t\t\trenderLine(lineNum, `Skipping '${cacheKey}'.`, [\n\t\t\t\tGraphicsTextEffect.Yellow,\n\t\t\t])\n\t\t\tremaining--\n\t\t} else if (\n\t\t\tcacheTracker[cacheKey] &&\n\t\t\tdiskUtil.doesDirExist(diskUtil.resolvePath(cwd, 'node_modules'))\n\t\t) {\n\t\t\tremaining--\n\t\t\trenderLine(lineNum, `'${cacheKey}' already cached. Skipping...`, [\n\t\t\t\tGraphicsTextEffect.Italic,\n\t\t\t])\n\t\t} else {\n\t\t\tawait cache(lineNum, cwd, cacheKey, fixture, options)\n\t\t\tremaining--\n\t\t}\n\t}\n\n\tfunction setup(cacheKey: string) {\n\t\tconst options = testSkillCache[cacheKey]\n\n\t\tconst importCacheDir = testUtil.resolveTestDir('spruce-cli-import-cache')\n\t\tImportService.setCacheDir(importCacheDir)\n\n\t\tconst serviceFactory = new ServiceFactory()\n\t\tconst cwd = testUtil.resolveTestDir(cacheKey)\n\n\t\tconst mercuryFixture = new MercuryFixture(cwd, serviceFactory)\n\t\tconst fixture = new FeatureFixture({\n\t\t\tcwd,\n\t\t\tserviceFactory,\n\t\t\tui: new TerminalInterface(cwd),\n\t\t\tshouldGenerateCacheIfMissing: true,\n\t\t\tapiClientFactory: mercuryFixture.getApiClientFactory(),\n\t\t})\n\n\t\tconst cacheTracker = fixture.loadCacheTracker()\n\t\treturn { cacheTracker, cwd, fixture, options }\n\t}\n\n\tasync function cache(\n\t\tlineNum: number,\n\t\tcwd: string,\n\t\tcacheKey: string,\n\t\tfixture: FeatureFixture,\n\t\toptions: any\n\t) {\n\t\tif (diskUtil.doesDirExist(cwd)) {\n\t\t\trenderWarning(\n\t\t\t\tlineNum,\n\t\t\t\t`Found cached '${cacheKey}', but deleted it since it was not in the cache tracker...`,\n\t\t\t\t[GraphicsTextEffect.Italic]\n\t\t\t)\n\t\t\tdiskUtil.deleteDir(cwd)\n\t\t}\n\n\t\trenderLine(lineNum, `Starting to build '${cacheKey}'...`, [\n\t\t\tGraphicsTextEffect.Green,\n\t\t])\n\n\t\ttry {\n\t\t\tawait fixture.installFeatures(options, cacheKey)\n\t\t\trenderLine(\n\t\t\t\tlineNum,\n\t\t\t\t`Done caching '${cacheKey}'. ${\n\t\t\t\t\tremaining - 1\n\t\t\t\t} remaining (${durationUtil.msToFriendly(getTimeSpent())})...`,\n\t\t\t\t[GraphicsTextEffect.Green, GraphicsTextEffect.Bold]\n\t\t\t)\n\t\t} catch (err: any) {\n\t\t\trenderLine(lineNum, `Error caching '${cacheKey}'...`, [\n\t\t\t\tGraphicsTextEffect.Red,\n\t\t\t\tGraphicsTextEffect.Bold,\n\t\t\t])\n\n\t\t\trenderLine(lineNum, `Error caching ${cacheKey}:\\n\\n${err.stack}`)\n\t\t}\n\t}\n}\n\nfunction dropInS(remaining: number) {\n\treturn remaining === 1 ? '' : 's'\n}\n\nvoid run()\n\t.then(() => {\n\t\tif (process.env.DID_BUILD_CACHE_SCRIPT) {\n\t\t\tterm.renderLine('Running pre build cache script')\n\t\t\texecSync(process.env.DID_BUILD_CACHE_SCRIPT)\n\t\t}\n\t\tif (progressInterval) {\n\t\t\tclearInterval(progressInterval)\n\t\t}\n\t})\n\t.catch((err) => {\n\t\tterm.renderError(err)\n\t\tif (progressInterval) {\n\t\t\tclearInterval(progressInterval)\n\t\t}\n\t})\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureFixture.js","names":["FeatureFixture","options","cwd","search","Error","serviceFactory","term","ui","generateCacheIfMissing","shouldGenerateCacheIfMissing","apiClientFactory","emitter","featureInstaller","type","Service","linkWorkspacePackages","Cli","Boot","graphicsInterface","cli","linkedUtils","cacheKey","bootOptions","installFeatures","features","isCached","installedSkills","testUtil","isCacheEnabled","doesCacheExist","copyCachedSkillToCwd","removeCwdFromCacheTracker","addCwdToCacheTracker","cacheCli","linkLocalPackages","settings","loadCacheTracker","diskUtil","copyDir","process","env","TEST_HOST","set","dirsToDelete","push","writeCacheSettings","settingsFile","getTestCacheTrackerFilePath","settingsFolder","pathUtil","dirname","doesDirExist","createDir","writeFile","JSON","stringify","alreadyInstalled","resolvePath","exists","doesFileExist","settingsObject","parse","readFile","resolveHashSprucePath","__dirname","dir","deleteDir"],"sources":["../../../src/tests/fixtures/FeatureFixture.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport Cli, { CliBootOptions, CliInterface } from '../../cli'\nimport FeatureInstaller from '../../features/FeatureInstaller'\nimport { InstallFeature } from '../../features/features.types'\nimport { GlobalEmitter } from '../../GlobalEmitter'\nimport ServiceFactory, {\n\tServiceProvider,\n\tService,\n\tServiceMap,\n} from '../../services/ServiceFactory'\nimport { ApiClientFactory } from '../../types/apiClient.types'\nimport { GraphicsInterface } from '../../types/cli.types'\nimport testUtil from '../utilities/test.utility'\n\nexport interface CachedCli {\n\tcli: CliInterface\n\tcwd: string\n}\n\nexport interface FeatureFixtureOptions {\n\tcwd: string\n\tserviceFactory: ServiceFactory\n\tui: GraphicsInterface\n\tshouldGenerateCacheIfMissing?: boolean\n\tapiClientFactory: ApiClientFactory\n\temitter?: GlobalEmitter\n\tfeatureInstaller?: FeatureInstaller\n}\n\nexport default class FeatureFixture implements ServiceProvider {\n\tprivate cwd: string\n\tprivate installedSkills: Record<string, CachedCli> = {}\n\tprivate serviceFactory: ServiceFactory\n\tprivate static linkedUtils = false\n\tprivate static dirsToDelete: string[] = []\n\tprivate term: GraphicsInterface\n\tprivate generateCacheIfMissing = false\n\tprivate apiClientFactory: ApiClientFactory\n\tprivate emitter?: GlobalEmitter\n\tprivate featureInstaller?: FeatureInstaller\n\n\tpublic constructor(options: FeatureFixtureOptions) {\n\t\tif (options.cwd.search('packages/spruce-cli') > -1) {\n\t\t\tthrow new Error(\"You can't run FeatureFixture in the cli directory.\")\n\t\t}\n\n\t\tthis.cwd = options.cwd\n\t\tthis.serviceFactory = options.serviceFactory\n\t\tthis.term = options.ui\n\t\tthis.generateCacheIfMissing = !!options.shouldGenerateCacheIfMissing\n\t\tthis.apiClientFactory = options.apiClientFactory\n\t\tthis.emitter = options.emitter\n\t\tthis.featureInstaller = options.featureInstaller\n\t}\n\n\tpublic static deleteOldSkillDirs() {\n\t\tfor (const dir of this.dirsToDelete) {\n\t\t\tdiskUtil.deleteDir(dir)\n\t\t}\n\t}\n\n\tpublic Service<S extends Service>(\n\t\ttype: S,\n\t\tcwd?: string | undefined\n\t): ServiceMap[S] {\n\t\treturn this.serviceFactory.Service(cwd ?? this.cwd, type)\n\t}\n\n\tpublic async Cli(options?: CliBootOptions) {\n\t\tawait this.linkWorkspacePackages()\n\n\t\tconst cli = await Cli.Boot({\n\t\t\tcwd: this.cwd,\n\t\t\tgraphicsInterface: this.term,\n\t\t\tapiClientFactory: this.apiClientFactory,\n\t\t\temitter: this.emitter,\n\t\t\tfeatureInstaller: this.featureInstaller,\n\t\t\t...(options ?? {}),\n\t\t})\n\n\t\treturn cli\n\t}\n\n\tprivate async linkWorkspacePackages() {\n\t\tif (!FeatureFixture.linkedUtils) {\n\t\t\tFeatureFixture.linkedUtils = true\n\n\t\t\t// const expectedLinkedDir = pathUtil.join(\n\t\t\t// \tos.homedir(),\n\t\t\t// \t'.config',\n\t\t\t// \t'yarn',\n\t\t\t// \t'link',\n\t\t\t// \t'@sprucelabs',\n\t\t\t// \t'spruce-skill-utils'\n\t\t\t// )\n\n\t\t\t// if (!fsUtil.existsSync(expectedLinkedDir)) {\n\t\t\t// \tconst command = this.Service('command')\n\t\t\t// \ttry {\n\t\t\t// \t\tawait command.execute(\n\t\t\t// \t\t\t`cd ${pathUtil.join(\n\t\t\t// \t\t\t\t__dirname,\n\t\t\t// \t\t\t\t'..',\n\t\t\t// \t\t\t\t'..',\n\t\t\t// \t\t\t\t'..',\n\t\t\t// \t\t\t\t'spruce-skill-utils'\n\t\t\t// \t\t\t)} && yarn link`\n\t\t\t// \t\t)\n\t\t\t// \t} catch (err) {\n\t\t\t// \t\tif (fsUtil.existsSync(expectedLinkedDir)) {\n\t\t\t// \t\t\tlog.warn(`Symlink ${expectedLinkedDir} already exists`)\n\t\t\t// \t\t} else {\n\t\t\t// \t\t\tlog.warn(\n\t\t\t// \t\t\t\t`Symlink ${expectedLinkedDir} failed, but the check thinks it is missing`\n\t\t\t// \t\t\t)\n\t\t\t// \t\t}\n\t\t\t// \t}\n\t\t\t// }\n\t\t}\n\t}\n\n\tpublic async installCachedFeatures(\n\t\tcacheKey: string,\n\t\tbootOptions?: CliBootOptions\n\t) {\n\t\treturn this.installFeatures([], cacheKey, bootOptions)\n\t}\n\n\tpublic async installFeatures(\n\t\tfeatures: InstallFeature[],\n\t\tcacheKey?: string,\n\t\tbootOptions?: CliBootOptions\n\t) {\n\t\tif (this.isCached(cacheKey)) {\n\t\t\treturn this.installedSkills[cacheKey as string].cli\n\t\t}\n\n\t\tlet isCached = false\n\t\tif (cacheKey && testUtil.isCacheEnabled()) {\n\t\t\tisCached = this.doesCacheExist(cacheKey)\n\n\t\t\tif (!isCached && !this.generateCacheIfMissing) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Cached skill not found, make sure\\n\\n\"${cacheKey}\"\\n\\nis in your package.json under \"testSkillCache\" and run\\n\\n\\`yarn cache.tests\\``\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tif (isCached) {\n\t\t\t\tawait this.copyCachedSkillToCwd(cacheKey)\n\t\t\t} else {\n\t\t\t\tthis.removeCwdFromCacheTracker(cacheKey)\n\t\t\t}\n\t\t}\n\n\t\tconst cli = await this.Cli(bootOptions)\n\n\t\tif (!isCached) {\n\t\t\tawait cli.installFeatures({\n\t\t\t\tfeatures,\n\t\t\t})\n\t\t}\n\n\t\tif (cacheKey && testUtil.isCacheEnabled()) {\n\t\t\t!isCached && this.addCwdToCacheTracker(cacheKey)\n\t\t\tthis.cacheCli(cacheKey, cli)\n\t\t}\n\n\t\tawait this.linkLocalPackages()\n\n\t\treturn cli\n\t}\n\n\tprivate isCached(cacheKey: string | undefined) {\n\t\treturn (\n\t\t\tcacheKey && this.installedSkills[cacheKey] && testUtil.isCacheEnabled()\n\t\t)\n\t}\n\n\tpublic async linkLocalPackages() {\n\t\t// const command = this.Service('command')\n\t\t// await command.execute(`yarn link @sprucelabs/spruce-skill-utils`)\n\t}\n\n\tprivate async copyCachedSkillToCwd(cacheKey: string) {\n\t\tlet isCached = this.doesCacheExist(cacheKey)\n\n\t\tif (isCached) {\n\t\t\tlet settings = this.loadCacheTracker()\n\t\t\tawait diskUtil.copyDir(settings[cacheKey], this.cwd)\n\n\t\t\tif (process.env.TEST_HOST) {\n\t\t\t\tthis.Service('env').set('HOST', process.env.TEST_HOST)\n\t\t\t}\n\n\t\t\tFeatureFixture.dirsToDelete.push(this.cwd)\n\t\t}\n\t}\n\n\tprivate addCwdToCacheTracker(cacheKey: string) {\n\t\tlet settings = this.loadCacheTracker()\n\n\t\tif (!settings) {\n\t\t\tsettings = {}\n\t\t}\n\n\t\tif (!settings[cacheKey]) {\n\t\t\tsettings[cacheKey] = this.cwd\n\t\t\tthis.writeCacheSettings(settings)\n\t\t}\n\t\treturn settings\n\t}\n\n\tprivate removeCwdFromCacheTracker(cacheKey: string) {\n\t\tlet settings = this.loadCacheTracker()\n\n\t\tif (!settings) {\n\t\t\tsettings = {}\n\t\t}\n\n\t\tif (settings[cacheKey]) {\n\t\t\tdelete settings[cacheKey]\n\t\t\tthis.writeCacheSettings(settings)\n\t\t}\n\t}\n\n\tprivate writeCacheSettings(settings: Record<string, any>) {\n\t\tconst settingsFile = this.getTestCacheTrackerFilePath()\n\t\tconst settingsFolder = pathUtil.dirname(settingsFile)\n\n\t\t!diskUtil.doesDirExist(settingsFolder) && diskUtil.createDir(settingsFolder)\n\n\t\tdiskUtil.writeFile(settingsFile, JSON.stringify(settings, null, 2))\n\t}\n\n\tprivate doesCacheExist(cacheKey: string) {\n\t\tlet alreadyInstalled = false\n\n\t\tconst settings = this.loadCacheTracker()\n\n\t\tif (settings?.[cacheKey]) {\n\t\t\talreadyInstalled = true\n\t\t}\n\n\t\tif (alreadyInstalled) {\n\t\t\talreadyInstalled = diskUtil.doesDirExist(\n\t\t\t\tdiskUtil.resolvePath(settings[cacheKey], 'node_modules')\n\t\t\t)\n\t\t}\n\n\t\treturn alreadyInstalled\n\t}\n\n\tpublic loadCacheTracker() {\n\t\tconst settingsFile = this.getTestCacheTrackerFilePath()\n\n\t\tconst exists = diskUtil.doesFileExist(settingsFile)\n\t\tlet settingsObject: Record<string, any> = {}\n\n\t\ttry {\n\t\t\tsettingsObject = exists ? JSON.parse(diskUtil.readFile(settingsFile)) : {}\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\treturn settingsObject\n\t}\n\n\tpublic getTestCacheTrackerFilePath() {\n\t\treturn diskUtil.resolveHashSprucePath(\n\t\t\t__dirname,\n\t\t\t'tmp',\n\t\t\t`cached-skills.json`\n\t\t)\n\t}\n\n\tprivate cacheCli(cacheKey: string, cli: CliInterface) {\n\t\tthis.installedSkills[cacheKey] = {\n\t\t\tcwd: this.cwd,\n\t\t\tcli,\n\t\t}\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FeatureFixture.js","names":["FeatureFixture","options","cwd","search","Error","serviceFactory","term","ui","generateCacheIfMissing","shouldGenerateCacheIfMissing","apiClientFactory","emitter","featureInstaller","type","Service","linkWorkspacePackages","Cli","Boot","graphicsInterface","cli","linkedUtils","cacheKey","bootOptions","installFeatures","features","isCached","installedSkills","testUtil","isCacheEnabled","doesCacheExist","copyCachedSkillToCwd","removeCwdFromCacheTracker","addCwdToCacheTracker","cacheCli","linkLocalPackages","settings","loadCacheTracker","diskUtil","copyDir","process","env","TEST_HOST","set","dirsToDelete","push","writeCacheSettings","settingsFile","getTestCacheTrackerFilePath","settingsFolder","pathUtil","dirname","doesDirExist","createDir","writeFile","JSON","stringify","alreadyInstalled","resolvePath","exists","doesFileExist","settingsObject","parse","readFile","resolveHashSprucePath","__dirname","dir","deleteDir"],"sources":["../../../src/tests/fixtures/FeatureFixture.ts"],"sourcesContent":["import pathUtil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport Cli, { CliBootOptions, CliInterface } from '../../cli'\nimport FeatureInstaller from '../../features/FeatureInstaller'\nimport { InstallFeature } from '../../features/features.types'\nimport { GlobalEmitter } from '../../GlobalEmitter'\nimport ServiceFactory, {\n\tServiceProvider,\n\tService,\n\tServiceMap,\n} from '../../services/ServiceFactory'\nimport { ApiClientFactory } from '../../types/apiClient.types'\nimport { GraphicsInterface } from '../../types/cli.types'\nimport testUtil from '../utilities/test.utility'\n\nexport interface CachedCli {\n\tcli: CliInterface\n\tcwd: string\n}\n\nexport interface FeatureFixtureOptions {\n\tcwd: string\n\tserviceFactory: ServiceFactory\n\tui: GraphicsInterface\n\tshouldGenerateCacheIfMissing?: boolean\n\tapiClientFactory: ApiClientFactory\n\temitter?: GlobalEmitter\n\tfeatureInstaller?: FeatureInstaller\n}\n\nexport default class FeatureFixture implements ServiceProvider {\n\tprivate cwd: string\n\tprivate installedSkills: Record<string, CachedCli> = {}\n\tprivate serviceFactory: ServiceFactory\n\tprivate static linkedUtils = false\n\tprivate static dirsToDelete: string[] = []\n\tprivate term: GraphicsInterface\n\tprivate generateCacheIfMissing = false\n\tprivate apiClientFactory: ApiClientFactory\n\tprivate emitter?: GlobalEmitter\n\tprivate featureInstaller?: FeatureInstaller\n\n\tpublic constructor(options: FeatureFixtureOptions) {\n\t\tif (options.cwd.search('packages/spruce-cli') > -1) {\n\t\t\tthrow new Error(\"You can't run FeatureFixture in the cli directory.\")\n\t\t}\n\n\t\tthis.cwd = options.cwd\n\t\tthis.serviceFactory = options.serviceFactory\n\t\tthis.term = options.ui\n\t\tthis.generateCacheIfMissing = !!options.shouldGenerateCacheIfMissing\n\t\tthis.apiClientFactory = options.apiClientFactory\n\t\tthis.emitter = options.emitter\n\t\tthis.featureInstaller = options.featureInstaller\n\t}\n\n\tpublic static deleteOldSkillDirs() {\n\t\tfor (const dir of this.dirsToDelete) {\n\t\t\tdiskUtil.deleteDir(dir)\n\t\t}\n\n\t\tthis.dirsToDelete = []\n\t}\n\n\tpublic Service<S extends Service>(\n\t\ttype: S,\n\t\tcwd?: string | undefined\n\t): ServiceMap[S] {\n\t\treturn this.serviceFactory.Service(cwd ?? this.cwd, type)\n\t}\n\n\tpublic async Cli(options?: CliBootOptions) {\n\t\tawait this.linkWorkspacePackages()\n\n\t\tconst cli = await Cli.Boot({\n\t\t\tcwd: this.cwd,\n\t\t\tgraphicsInterface: this.term,\n\t\t\tapiClientFactory: this.apiClientFactory,\n\t\t\temitter: this.emitter,\n\t\t\tfeatureInstaller: this.featureInstaller,\n\t\t\t...(options ?? {}),\n\t\t})\n\n\t\treturn cli\n\t}\n\n\tprivate async linkWorkspacePackages() {\n\t\tif (!FeatureFixture.linkedUtils) {\n\t\t\tFeatureFixture.linkedUtils = true\n\n\t\t\t// const expectedLinkedDir = pathUtil.join(\n\t\t\t// \tos.homedir(),\n\t\t\t// \t'.config',\n\t\t\t// \t'yarn',\n\t\t\t// \t'link',\n\t\t\t// \t'@sprucelabs',\n\t\t\t// \t'spruce-skill-utils'\n\t\t\t// )\n\n\t\t\t// if (!fsUtil.existsSync(expectedLinkedDir)) {\n\t\t\t// \tconst command = this.Service('command')\n\t\t\t// \ttry {\n\t\t\t// \t\tawait command.execute(\n\t\t\t// \t\t\t`cd ${pathUtil.join(\n\t\t\t// \t\t\t\t__dirname,\n\t\t\t// \t\t\t\t'..',\n\t\t\t// \t\t\t\t'..',\n\t\t\t// \t\t\t\t'..',\n\t\t\t// \t\t\t\t'spruce-skill-utils'\n\t\t\t// \t\t\t)} && yarn link`\n\t\t\t// \t\t)\n\t\t\t// \t} catch (err) {\n\t\t\t// \t\tif (fsUtil.existsSync(expectedLinkedDir)) {\n\t\t\t// \t\t\tlog.warn(`Symlink ${expectedLinkedDir} already exists`)\n\t\t\t// \t\t} else {\n\t\t\t// \t\t\tlog.warn(\n\t\t\t// \t\t\t\t`Symlink ${expectedLinkedDir} failed, but the check thinks it is missing`\n\t\t\t// \t\t\t)\n\t\t\t// \t\t}\n\t\t\t// \t}\n\t\t\t// }\n\t\t}\n\t}\n\n\tpublic async installCachedFeatures(\n\t\tcacheKey: string,\n\t\tbootOptions?: CliBootOptions\n\t) {\n\t\treturn this.installFeatures([], cacheKey, bootOptions)\n\t}\n\n\tpublic async installFeatures(\n\t\tfeatures: InstallFeature[],\n\t\tcacheKey?: string,\n\t\tbootOptions?: CliBootOptions\n\t) {\n\t\tif (this.isCached(cacheKey)) {\n\t\t\treturn this.installedSkills[cacheKey as string].cli\n\t\t}\n\n\t\tlet isCached = false\n\t\tif (cacheKey && testUtil.isCacheEnabled()) {\n\t\t\tisCached = this.doesCacheExist(cacheKey)\n\n\t\t\tif (!isCached && !this.generateCacheIfMissing) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Cached skill not found, make sure\\n\\n\"${cacheKey}\"\\n\\nis in your package.json under \"testSkillCache\" and run\\n\\n\\`yarn cache.tests\\``\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tif (isCached) {\n\t\t\t\tawait this.copyCachedSkillToCwd(cacheKey)\n\t\t\t} else {\n\t\t\t\tthis.removeCwdFromCacheTracker(cacheKey)\n\t\t\t}\n\t\t}\n\n\t\tconst cli = await this.Cli(bootOptions)\n\n\t\tif (!isCached) {\n\t\t\tawait cli.installFeatures({\n\t\t\t\tfeatures,\n\t\t\t})\n\t\t}\n\n\t\tif (cacheKey && testUtil.isCacheEnabled()) {\n\t\t\t!isCached && this.addCwdToCacheTracker(cacheKey)\n\t\t\tthis.cacheCli(cacheKey, cli)\n\t\t}\n\n\t\tawait this.linkLocalPackages()\n\n\t\treturn cli\n\t}\n\n\tprivate isCached(cacheKey: string | undefined) {\n\t\treturn (\n\t\t\tcacheKey && this.installedSkills[cacheKey] && testUtil.isCacheEnabled()\n\t\t)\n\t}\n\n\tpublic async linkLocalPackages() {\n\t\t// const command = this.Service('command')\n\t\t// await command.execute(`yarn link @sprucelabs/spruce-skill-utils`)\n\t}\n\n\tprivate async copyCachedSkillToCwd(cacheKey: string) {\n\t\tlet isCached = this.doesCacheExist(cacheKey)\n\n\t\tif (isCached) {\n\t\t\tlet settings = this.loadCacheTracker()\n\t\t\tawait diskUtil.copyDir(settings[cacheKey], this.cwd)\n\n\t\t\tif (process.env.TEST_HOST) {\n\t\t\t\tthis.Service('env').set('HOST', process.env.TEST_HOST)\n\t\t\t}\n\n\t\t\tFeatureFixture.dirsToDelete.push(this.cwd)\n\t\t}\n\t}\n\n\tprivate addCwdToCacheTracker(cacheKey: string) {\n\t\tlet settings = this.loadCacheTracker()\n\n\t\tif (!settings) {\n\t\t\tsettings = {}\n\t\t}\n\n\t\tif (!settings[cacheKey]) {\n\t\t\tsettings[cacheKey] = this.cwd\n\t\t\tthis.writeCacheSettings(settings)\n\t\t}\n\t\treturn settings\n\t}\n\n\tprivate removeCwdFromCacheTracker(cacheKey: string) {\n\t\tlet settings = this.loadCacheTracker()\n\n\t\tif (!settings) {\n\t\t\tsettings = {}\n\t\t}\n\n\t\tif (settings[cacheKey]) {\n\t\t\tdelete settings[cacheKey]\n\t\t\tthis.writeCacheSettings(settings)\n\t\t}\n\t}\n\n\tprivate writeCacheSettings(settings: Record<string, any>) {\n\t\tconst settingsFile = this.getTestCacheTrackerFilePath()\n\t\tconst settingsFolder = pathUtil.dirname(settingsFile)\n\n\t\t!diskUtil.doesDirExist(settingsFolder) && diskUtil.createDir(settingsFolder)\n\n\t\tdiskUtil.writeFile(settingsFile, JSON.stringify(settings, null, 2))\n\t}\n\n\tprivate doesCacheExist(cacheKey: string) {\n\t\tlet alreadyInstalled = false\n\n\t\tconst settings = this.loadCacheTracker()\n\n\t\tif (settings?.[cacheKey]) {\n\t\t\talreadyInstalled = true\n\t\t}\n\n\t\tif (alreadyInstalled) {\n\t\t\talreadyInstalled = diskUtil.doesDirExist(\n\t\t\t\tdiskUtil.resolvePath(settings[cacheKey], 'node_modules')\n\t\t\t)\n\t\t}\n\n\t\treturn alreadyInstalled\n\t}\n\n\tpublic loadCacheTracker() {\n\t\tconst settingsFile = this.getTestCacheTrackerFilePath()\n\n\t\tconst exists = diskUtil.doesFileExist(settingsFile)\n\t\tlet settingsObject: Record<string, any> = {}\n\n\t\ttry {\n\t\t\tsettingsObject = exists ? JSON.parse(diskUtil.readFile(settingsFile)) : {}\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\treturn settingsObject\n\t}\n\n\tpublic getTestCacheTrackerFilePath() {\n\t\treturn diskUtil.resolveHashSprucePath(\n\t\t\t__dirname,\n\t\t\t'tmp',\n\t\t\t`cached-skills.json`\n\t\t)\n\t}\n\n\tprivate cacheCli(cacheKey: string, cli: CliInterface) {\n\t\tthis.installedSkills[cacheKey] = {\n\t\t\tcwd: this.cwd,\n\t\t\tcli,\n\t\t}\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ declare const testUtil: {
|
|
|
4
4
|
isCacheEnabled(): boolean;
|
|
5
5
|
resolveTestDir(cacheKey?: string): string;
|
|
6
6
|
shouldCleanupTestSkillDirs(): boolean;
|
|
7
|
+
shouldCleanupAfterEach(): boolean;
|
|
8
|
+
shouldCleanupAfterAll(): boolean;
|
|
7
9
|
getTestRootDir(): string;
|
|
8
10
|
assertCountsByAction(files: GeneratedFile[] | undefined, options: {
|
|
9
11
|
generated: number;
|
|
@@ -31,6 +31,12 @@ var testUtil = {
|
|
|
31
31
|
shouldCleanupTestSkillDirs: function shouldCleanupTestSkillDirs() {
|
|
32
32
|
return process.env.CLEANUP_TEST_SKILL_DIRS !== 'false';
|
|
33
33
|
},
|
|
34
|
+
shouldCleanupAfterEach: function shouldCleanupAfterEach() {
|
|
35
|
+
return this.shouldCleanupTestSkillDirs() && process.env.CLEANUP_TEST_SKILL_DIRS_ON === 'afterEach';
|
|
36
|
+
},
|
|
37
|
+
shouldCleanupAfterAll: function shouldCleanupAfterAll() {
|
|
38
|
+
return this.shouldCleanupTestSkillDirs() && process.env.CLEANUP_TEST_SKILL_DIRS_ON !== 'afterEach';
|
|
39
|
+
},
|
|
34
40
|
getTestRootDir: function getTestRootDir() {
|
|
35
41
|
var _process$env$TEST_CAC;
|
|
36
42
|
return (_process$env$TEST_CAC = process.env.TEST_CACHE_ROOT_DIR) !== null && _process$env$TEST_CAC !== void 0 ? _process$env$TEST_CAC : _path["default"].join(_os["default"].tmpdir());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.utility.js","names":["require","config","hasArg","regex","process","argv","find","arg","search","testUtil","shouldClearCache","isCacheEnabled","resolveTestDir","cacheKey","diskUtil","resolvePath","getTestRootDir","shouldCleanupTestSkillDirs","env","CLEANUP_TEST_SKILL_DIRS","TEST_CACHE_ROOT_DIR","pathUtil","join","os","tmpdir","assertCountsByAction","files","options","generated","filter","f","action","length","updated","skipped","assert","isEqual","assertFileByNameInGeneratedFiles","name","file","path","isTruthy","JSON","stringify","assertFileByPathInGeneratedFiles","startTime","startLogTimer","Date","getTime","log","prefix","global","activeTest","test","TEST_LOG_FILTER","match","RegExp","args","stderr","write","getTimeSpentFormatted","getTimeSpent","now","delta","spent","durationUtil","msToFriendly"],"sources":["../../../src/tests/utilities/test.utility.ts"],"sourcesContent":["import os from 'os'\nimport pathUtil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { assert } from '@sprucelabs/test-utils'\nimport { GeneratedFile } from '../../types/cli.types'\nimport durationUtil from '../../utilities/duration.utility'\nrequire('dotenv').config()\n\nfunction hasArg(regex: RegExp) {\n\treturn !!process.argv?.find((arg) => arg.search(regex) > -1)\n}\n\nconst testUtil = {\n\tshouldClearCache() {\n\t\treturn hasArg(/clear.*?cache/gi)\n\t},\n\tisCacheEnabled() {\n\t\treturn !hasArg(/no.*?cache/gi)\n\t},\n\n\tresolveTestDir(cacheKey = '') {\n\t\treturn diskUtil.resolvePath(this.getTestRootDir(), 'spruce-cli', cacheKey)\n\t},\n\n\tshouldCleanupTestSkillDirs() {\n\t\treturn process.env.CLEANUP_TEST_SKILL_DIRS !== 'false'\n\t},\n\n\tgetTestRootDir() {\n\t\treturn process.env.TEST_CACHE_ROOT_DIR ?? pathUtil.join(os.tmpdir())\n\t},\n\n\tassertCountsByAction(\n\t\tfiles: GeneratedFile[] | undefined,\n\t\toptions: {\n\t\t\tgenerated: number\n\t\t\tupdated: number\n\t\t\tskipped: number\n\t\t}\n\t) {\n\t\tconst generated = (files ?? []).filter(\n\t\t\t(f) => f.action === 'generated'\n\t\t).length\n\t\tconst updated = (files ?? []).filter((f) => f.action === 'updated').length\n\t\tconst skipped = (files ?? []).filter((f) => f.action === 'skipped').length\n\n\t\tassert.isEqual(\n\t\t\tgenerated,\n\t\t\toptions.generated,\n\t\t\t`Generated the wrong number of files. Got ${generated} but expected ${options.generated}.`\n\t\t)\n\n\t\tassert.isEqual(\n\t\t\tupdated,\n\t\t\toptions.updated,\n\t\t\t`Updated the wrong number of files. Got ${updated} but expected ${options.updated}.`\n\t\t)\n\n\t\tassert.isEqual(\n\t\t\tskipped,\n\t\t\toptions.skipped,\n\t\t\t`Skipped the wrong number of files. Got ${skipped} but expected ${options.skipped}.`\n\t\t)\n\t},\n\n\tassertFileByNameInGeneratedFiles(\n\t\tname: string | RegExp,\n\t\tfiles: GeneratedFile[] | undefined\n\t): string {\n\t\tconst file = (files ?? []).find((f) => f.name.search(name) > -1)?.path\n\t\tassert.isTruthy(\n\t\t\tfile,\n\t\t\t`file named '${name}' not found in generated files.\\n\\n${JSON.stringify(\n\t\t\t\tfiles ?? [],\n\t\t\t\tnull,\n\t\t\t\t2\n\t\t\t)}`\n\t\t)\n\n\t\treturn file\n\t},\n\n\tassertFileByPathInGeneratedFiles(\n\t\tpath: string | RegExp,\n\t\tfiles: GeneratedFile[] | undefined\n\t): string {\n\t\tconst file = (files ?? []).find((f) => f.path.search(path) > -1)?.path\n\t\tassert.isTruthy(\n\t\t\tfile,\n\t\t\t`file with path '${path}' not found in generated files.\\n\\n${JSON.stringify(\n\t\t\t\tfiles ?? [],\n\t\t\t\tnull,\n\t\t\t\t2\n\t\t\t)}`\n\t\t)\n\n\t\treturn file\n\t},\n\n\tstartTime: 0,\n\tstartLogTimer() {\n\t\tthis.startTime = new Date().getTime()\n\t},\n\n\tlog(...args: any[]) {\n\t\t//@ts-ignore\n\t\tconst prefix = global.activeTest\n\t\t\t? //@ts-ignore\n\t\t\t `${global.activeTest?.file}::${global.activeTest?.test} :: `\n\t\t\t: ''\n\n\t\tif (process.env.TEST_LOG_FILTER) {\n\t\t\tconst match = prefix.search(\n\t\t\t\tnew RegExp(process.env.TEST_LOG_FILTER, 'igm')\n\t\t\t)\n\t\t\tif (match < 0) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tprocess.stderr.write(\n\t\t\tprefix + this.getTimeSpentFormatted() + ': ' + args.join(' ')\n\t\t)\n\t},\n\n\tgetTimeSpent() {\n\t\tconst now = new Date().getTime()\n\t\tconst delta = now - this.startTime\n\t\treturn delta\n\t},\n\n\tgetTimeSpentFormatted() {\n\t\tconst spent = this.getTimeSpent()\n\t\treturn durationUtil.msToFriendly(spent)\n\t},\n}\n\nexport default testUtil\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAEA;AACAA,OAAO,CAAC,QAAQ,CAAC,CAACC,MAAM,EAAE;AAE1B,SAASC,MAAM,CAACC,KAAa,EAAE;EAAA;EAC9B,OAAO,CAAC,mBAACC,OAAO,CAACC,IAAI,0CAAZ,cAAcC,IAAI,CAAC,UAACC,GAAG;IAAA,OAAKA,GAAG,CAACC,MAAM,CAACL,KAAK,CAAC,GAAG,CAAC,CAAC;EAAA,EAAC;AAC7D;AAEA,IAAMM,QAAQ,GAAG;EAChBC,gBAAgB,8BAAG;IAClB,OAAOR,MAAM,CAAC,iBAAiB,CAAC;EACjC,CAAC;EACDS,cAAc,4BAAG;IAChB,OAAO,CAACT,MAAM,CAAC,cAAc,CAAC;EAC/B,CAAC;EAEDU,cAAc,4BAAgB;IAAA,IAAfC,QAAQ,uEAAG,EAAE;IAC3B,OAAOC,0BAAQ,CAACC,WAAW,CAAC,IAAI,CAACC,cAAc,EAAE,EAAE,YAAY,EAAEH,QAAQ,CAAC;EAC3E,CAAC;EAEDI,0BAA0B,wCAAG;IAC5B,OAAOb,OAAO,CAACc,GAAG,CAACC,uBAAuB,KAAK,OAAO;EACvD,CAAC;
|
|
1
|
+
{"version":3,"file":"test.utility.js","names":["require","config","hasArg","regex","process","argv","find","arg","search","testUtil","shouldClearCache","isCacheEnabled","resolveTestDir","cacheKey","diskUtil","resolvePath","getTestRootDir","shouldCleanupTestSkillDirs","env","CLEANUP_TEST_SKILL_DIRS","shouldCleanupAfterEach","CLEANUP_TEST_SKILL_DIRS_ON","shouldCleanupAfterAll","TEST_CACHE_ROOT_DIR","pathUtil","join","os","tmpdir","assertCountsByAction","files","options","generated","filter","f","action","length","updated","skipped","assert","isEqual","assertFileByNameInGeneratedFiles","name","file","path","isTruthy","JSON","stringify","assertFileByPathInGeneratedFiles","startTime","startLogTimer","Date","getTime","log","prefix","global","activeTest","test","TEST_LOG_FILTER","match","RegExp","args","stderr","write","getTimeSpentFormatted","getTimeSpent","now","delta","spent","durationUtil","msToFriendly"],"sources":["../../../src/tests/utilities/test.utility.ts"],"sourcesContent":["import os from 'os'\nimport pathUtil from 'path'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { assert } from '@sprucelabs/test-utils'\nimport { GeneratedFile } from '../../types/cli.types'\nimport durationUtil from '../../utilities/duration.utility'\nrequire('dotenv').config()\n\nfunction hasArg(regex: RegExp) {\n\treturn !!process.argv?.find((arg) => arg.search(regex) > -1)\n}\n\nconst testUtil = {\n\tshouldClearCache() {\n\t\treturn hasArg(/clear.*?cache/gi)\n\t},\n\tisCacheEnabled() {\n\t\treturn !hasArg(/no.*?cache/gi)\n\t},\n\n\tresolveTestDir(cacheKey = '') {\n\t\treturn diskUtil.resolvePath(this.getTestRootDir(), 'spruce-cli', cacheKey)\n\t},\n\n\tshouldCleanupTestSkillDirs() {\n\t\treturn process.env.CLEANUP_TEST_SKILL_DIRS !== 'false'\n\t},\n\n\tshouldCleanupAfterEach() {\n\t\treturn (\n\t\t\tthis.shouldCleanupTestSkillDirs() &&\n\t\t\tprocess.env.CLEANUP_TEST_SKILL_DIRS_ON === 'afterEach'\n\t\t)\n\t},\n\tshouldCleanupAfterAll() {\n\t\treturn (\n\t\t\tthis.shouldCleanupTestSkillDirs() &&\n\t\t\tprocess.env.CLEANUP_TEST_SKILL_DIRS_ON !== 'afterEach'\n\t\t)\n\t},\n\n\tgetTestRootDir() {\n\t\treturn process.env.TEST_CACHE_ROOT_DIR ?? pathUtil.join(os.tmpdir())\n\t},\n\n\tassertCountsByAction(\n\t\tfiles: GeneratedFile[] | undefined,\n\t\toptions: {\n\t\t\tgenerated: number\n\t\t\tupdated: number\n\t\t\tskipped: number\n\t\t}\n\t) {\n\t\tconst generated = (files ?? []).filter(\n\t\t\t(f) => f.action === 'generated'\n\t\t).length\n\t\tconst updated = (files ?? []).filter((f) => f.action === 'updated').length\n\t\tconst skipped = (files ?? []).filter((f) => f.action === 'skipped').length\n\n\t\tassert.isEqual(\n\t\t\tgenerated,\n\t\t\toptions.generated,\n\t\t\t`Generated the wrong number of files. Got ${generated} but expected ${options.generated}.`\n\t\t)\n\n\t\tassert.isEqual(\n\t\t\tupdated,\n\t\t\toptions.updated,\n\t\t\t`Updated the wrong number of files. Got ${updated} but expected ${options.updated}.`\n\t\t)\n\n\t\tassert.isEqual(\n\t\t\tskipped,\n\t\t\toptions.skipped,\n\t\t\t`Skipped the wrong number of files. Got ${skipped} but expected ${options.skipped}.`\n\t\t)\n\t},\n\n\tassertFileByNameInGeneratedFiles(\n\t\tname: string | RegExp,\n\t\tfiles: GeneratedFile[] | undefined\n\t): string {\n\t\tconst file = (files ?? []).find((f) => f.name.search(name) > -1)?.path\n\t\tassert.isTruthy(\n\t\t\tfile,\n\t\t\t`file named '${name}' not found in generated files.\\n\\n${JSON.stringify(\n\t\t\t\tfiles ?? [],\n\t\t\t\tnull,\n\t\t\t\t2\n\t\t\t)}`\n\t\t)\n\n\t\treturn file\n\t},\n\n\tassertFileByPathInGeneratedFiles(\n\t\tpath: string | RegExp,\n\t\tfiles: GeneratedFile[] | undefined\n\t): string {\n\t\tconst file = (files ?? []).find((f) => f.path.search(path) > -1)?.path\n\t\tassert.isTruthy(\n\t\t\tfile,\n\t\t\t`file with path '${path}' not found in generated files.\\n\\n${JSON.stringify(\n\t\t\t\tfiles ?? [],\n\t\t\t\tnull,\n\t\t\t\t2\n\t\t\t)}`\n\t\t)\n\n\t\treturn file\n\t},\n\n\tstartTime: 0,\n\tstartLogTimer() {\n\t\tthis.startTime = new Date().getTime()\n\t},\n\n\tlog(...args: any[]) {\n\t\t//@ts-ignore\n\t\tconst prefix = global.activeTest\n\t\t\t? //@ts-ignore\n\t\t\t `${global.activeTest?.file}::${global.activeTest?.test} :: `\n\t\t\t: ''\n\n\t\tif (process.env.TEST_LOG_FILTER) {\n\t\t\tconst match = prefix.search(\n\t\t\t\tnew RegExp(process.env.TEST_LOG_FILTER, 'igm')\n\t\t\t)\n\t\t\tif (match < 0) {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tprocess.stderr.write(\n\t\t\tprefix + this.getTimeSpentFormatted() + ': ' + args.join(' ')\n\t\t)\n\t},\n\n\tgetTimeSpent() {\n\t\tconst now = new Date().getTime()\n\t\tconst delta = now - this.startTime\n\t\treturn delta\n\t},\n\n\tgetTimeSpentFormatted() {\n\t\tconst spent = this.getTimeSpent()\n\t\treturn durationUtil.msToFriendly(spent)\n\t},\n}\n\nexport default testUtil\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typescript-eslint/parser",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.45.0",
|
|
4
4
|
"description": "An ESLint custom parser which leverages TypeScript ESTree",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@typescript-eslint/scope-manager": "5.
|
|
49
|
-
"@typescript-eslint/types": "5.
|
|
50
|
-
"@typescript-eslint/typescript-estree": "5.
|
|
48
|
+
"@typescript-eslint/scope-manager": "5.45.0",
|
|
49
|
+
"@typescript-eslint/types": "5.45.0",
|
|
50
|
+
"@typescript-eslint/typescript-estree": "5.45.0",
|
|
51
51
|
"debug": "^4.3.4"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
]
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "267da4e416f7de6892336db8a2360d7af702b73c"
|
|
75
75
|
}
|
|
@@ -7,16 +7,18 @@ declare class ClassVisitor extends Visitor {
|
|
|
7
7
|
static visit(referencer: Referencer, node: TSESTree.ClassDeclaration | TSESTree.ClassExpression, emitDecoratorMetadata: boolean): void;
|
|
8
8
|
visit(node: TSESTree.Node | null | undefined): void;
|
|
9
9
|
protected visitClass(node: TSESTree.ClassDeclaration | TSESTree.ClassExpression): void;
|
|
10
|
-
protected visitPropertyDefinition(node: TSESTree.
|
|
10
|
+
protected visitPropertyDefinition(node: TSESTree.AccessorProperty | TSESTree.PropertyDefinition | TSESTree.TSAbstractAccessorProperty | TSESTree.TSAbstractPropertyDefinition): void;
|
|
11
11
|
protected visitFunctionParameterTypeAnnotation(node: TSESTree.Parameter, withDecorators: boolean): void;
|
|
12
12
|
protected visitMethodFunction(node: TSESTree.FunctionExpression, methodNode: TSESTree.MethodDefinition): void;
|
|
13
|
-
protected
|
|
13
|
+
protected visitPropertyBase(node: TSESTree.AccessorProperty | TSESTree.PropertyDefinition | TSESTree.TSAbstractAccessorProperty | TSESTree.TSAbstractPropertyDefinition | TSESTree.TSAbstractMethodDefinition): void;
|
|
14
14
|
protected visitMethod(node: TSESTree.MethodDefinition): void;
|
|
15
15
|
protected visitType(node: TSESTree.Node | null | undefined): void;
|
|
16
16
|
protected visitMetadataType(node: TSESTree.TSTypeAnnotation | null | undefined, withDecorators: boolean): void;
|
|
17
|
+
protected AccessorProperty(node: TSESTree.AccessorProperty): void;
|
|
17
18
|
protected ClassBody(node: TSESTree.ClassBody): void;
|
|
18
19
|
protected PropertyDefinition(node: TSESTree.PropertyDefinition): void;
|
|
19
20
|
protected MethodDefinition(node: TSESTree.MethodDefinition): void;
|
|
21
|
+
protected TSAbstractAccessorProperty(node: TSESTree.TSAbstractAccessorProperty): void;
|
|
20
22
|
protected TSAbstractPropertyDefinition(node: TSESTree.TSAbstractPropertyDefinition): void;
|
|
21
23
|
protected TSAbstractMethodDefinition(node: TSESTree.TSAbstractMethodDefinition): void;
|
|
22
24
|
protected Identifier(node: TSESTree.Identifier): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassVisitor.d.ts","sourceRoot":"","sources":["../../src/referencer/ClassVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,cAAM,YAAa,SAAQ,OAAO;;gBAM9B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,EAC1D,qBAAqB,EAAE,OAAO;IAQhC,MAAM,CAAC,KAAK,CACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,EAC1D,qBAAqB,EAAE,OAAO,GAC7B,IAAI;IASP,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAanD,SAAS,CAAC,UAAU,CAClB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,GACzD,IAAI;IAgCP,SAAS,CAAC,uBAAuB,CAC/B,IAAI,
|
|
1
|
+
{"version":3,"file":"ClassVisitor.d.ts","sourceRoot":"","sources":["../../src/referencer/ClassVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,cAAM,YAAa,SAAQ,OAAO;;gBAM9B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,EAC1D,qBAAqB,EAAE,OAAO;IAQhC,MAAM,CAAC,KAAK,CACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,EAC1D,qBAAqB,EAAE,OAAO,GAC7B,IAAI;IASP,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAanD,SAAS,CAAC,UAAU,CAClB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,GACzD,IAAI;IAgCP,SAAS,CAAC,uBAAuB,CAC/B,IAAI,EACA,QAAQ,CAAC,gBAAgB,GACzB,QAAQ,CAAC,kBAAkB,GAC3B,QAAQ,CAAC,0BAA0B,GACnC,QAAQ,CAAC,4BAA4B,GACxC,IAAI;IAWP,SAAS,CAAC,oCAAoC,CAC5C,IAAI,EAAE,QAAQ,CAAC,SAAS,EACxB,cAAc,EAAE,OAAO,GACtB,IAAI;IAUP,SAAS,CAAC,mBAAmB,CAC3B,IAAI,EAAE,QAAQ,CAAC,kBAAkB,EACjC,UAAU,EAAE,QAAQ,CAAC,gBAAgB,GACpC,IAAI;IAsHP,SAAS,CAAC,iBAAiB,CACzB,IAAI,EACA,QAAQ,CAAC,gBAAgB,GACzB,QAAQ,CAAC,kBAAkB,GAC3B,QAAQ,CAAC,0BAA0B,GACnC,QAAQ,CAAC,4BAA4B,GACrC,QAAQ,CAAC,0BAA0B,GACtC,IAAI;IA8BP,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI;IAgB5D,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAOjE,SAAS,CAAC,iBAAiB,CACzB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAClD,cAAc,EAAE,OAAO,GACtB,IAAI;IA4CP,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI;IAIjE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI;IAMnD,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,GAAG,IAAI;IAIrE,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI;IAIjE,SAAS,CAAC,0BAA0B,CAClC,IAAI,EAAE,QAAQ,CAAC,0BAA0B,GACxC,IAAI;IAIP,SAAS,CAAC,4BAA4B,CACpC,IAAI,EAAE,QAAQ,CAAC,4BAA4B,GAC1C,IAAI;IAIP,SAAS,CAAC,0BAA0B,CAClC,IAAI,EAAE,QAAQ,CAAC,0BAA0B,GACxC,IAAI;IAIP,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,GAAG,IAAI;IAIrD,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAInC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,GAAG,IAAI;CAOxD;AAsCD,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -69,7 +69,7 @@ class ClassVisitor extends Visitor_1.Visitor {
|
|
|
69
69
|
__classPrivateFieldGet(this, _ClassVisitor_referencer, "f").close(node);
|
|
70
70
|
}
|
|
71
71
|
visitPropertyDefinition(node) {
|
|
72
|
-
this.
|
|
72
|
+
this.visitPropertyBase(node);
|
|
73
73
|
/**
|
|
74
74
|
* class A {
|
|
75
75
|
* @meta // <--- check this
|
|
@@ -180,17 +180,19 @@ class ClassVisitor extends Visitor_1.Visitor {
|
|
|
180
180
|
}
|
|
181
181
|
__classPrivateFieldGet(this, _ClassVisitor_referencer, "f").close(node);
|
|
182
182
|
}
|
|
183
|
-
|
|
183
|
+
visitPropertyBase(node) {
|
|
184
184
|
var _a;
|
|
185
185
|
if (node.computed) {
|
|
186
186
|
__classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node.key);
|
|
187
187
|
}
|
|
188
188
|
if (node.value) {
|
|
189
|
-
if (node.type === types_1.AST_NODE_TYPES.PropertyDefinition
|
|
189
|
+
if (node.type === types_1.AST_NODE_TYPES.PropertyDefinition ||
|
|
190
|
+
node.type === types_1.AST_NODE_TYPES.AccessorProperty) {
|
|
190
191
|
__classPrivateFieldGet(this, _ClassVisitor_referencer, "f").scopeManager.nestClassFieldInitializerScope(node.value);
|
|
191
192
|
}
|
|
192
193
|
__classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node.value);
|
|
193
|
-
if (node.type === types_1.AST_NODE_TYPES.PropertyDefinition
|
|
194
|
+
if (node.type === types_1.AST_NODE_TYPES.PropertyDefinition ||
|
|
195
|
+
node.type === types_1.AST_NODE_TYPES.AccessorProperty) {
|
|
194
196
|
__classPrivateFieldGet(this, _ClassVisitor_referencer, "f").close(node.value);
|
|
195
197
|
}
|
|
196
198
|
}
|
|
@@ -255,6 +257,9 @@ class ClassVisitor extends Visitor_1.Visitor {
|
|
|
255
257
|
/////////////////////
|
|
256
258
|
// Visit selectors //
|
|
257
259
|
/////////////////////
|
|
260
|
+
AccessorProperty(node) {
|
|
261
|
+
this.visitPropertyDefinition(node);
|
|
262
|
+
}
|
|
258
263
|
ClassBody(node) {
|
|
259
264
|
// this is here on purpose so that this visitor explicitly declares visitors
|
|
260
265
|
// for all nodes it cares about (see the instance visit method above)
|
|
@@ -266,11 +271,14 @@ class ClassVisitor extends Visitor_1.Visitor {
|
|
|
266
271
|
MethodDefinition(node) {
|
|
267
272
|
this.visitMethod(node);
|
|
268
273
|
}
|
|
274
|
+
TSAbstractAccessorProperty(node) {
|
|
275
|
+
this.visitPropertyDefinition(node);
|
|
276
|
+
}
|
|
269
277
|
TSAbstractPropertyDefinition(node) {
|
|
270
278
|
this.visitPropertyDefinition(node);
|
|
271
279
|
}
|
|
272
280
|
TSAbstractMethodDefinition(node) {
|
|
273
|
-
this.
|
|
281
|
+
this.visitPropertyBase(node);
|
|
274
282
|
}
|
|
275
283
|
Identifier(node) {
|
|
276
284
|
__classPrivateFieldGet(this, _ClassVisitor_referencer, "f").visit(node);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassVisitor.js","sourceRoot":"","sources":["../../src/referencer/ClassVisitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,oDAA0D;AAE1D,8CAAyE;AAEzE,+CAA4C;AAC5C,uCAAoC;AAEpC,MAAM,YAAa,SAAQ,iBAAO;IAKhC,YACE,UAAsB,EACtB,IAA0D,EAC1D,qBAA8B;QAE9B,KAAK,CAAC,UAAU,CAAC,CAAC;QATpB,0CAA0E;QAC1E,2CAAiC;QACjC,sDAAyC;QAQvC,uBAAA,IAAI,4BAAe,UAAU,MAAA,CAAC;QAC9B,uBAAA,IAAI,2BAAc,IAAI,MAAA,CAAC;QACvB,uBAAA,IAAI,uCAA0B,qBAAqB,MAAA,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,KAAK,CACV,UAAsB,EACtB,IAA0D,EAC1D,qBAA8B;QAE9B,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,UAAU,EACV,IAAI,EACJ,qBAAqB,CACtB,CAAC;QACF,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAsC;QAC1C,+DAA+D;QAC/D,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YAC7B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACnB;aAAM;YACL,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;IAET,UAAU,CAClB,IAA0D;;QAE1D,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAE,EAAE;YAC5D,uBAAA,IAAI,gCAAY;iBACb,YAAY,EAAE;iBACd,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,gCAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;SACtE;QAED,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzD,uBAAA,IAAI,gCAAY,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,mDAAmD;YACnD,0EAA0E;YAC1E,uBAAA,IAAI,gCAAY;iBACb,YAAY,EAAE;iBACd,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,gCAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;SACtE;QAED,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,oCAAoC;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,kBAAkB;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzC,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAES,uBAAuB,CAC/B,
|
|
1
|
+
{"version":3,"file":"ClassVisitor.js","sourceRoot":"","sources":["../../src/referencer/ClassVisitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ declare class Referencer extends Visitor {
|
|
|
31
31
|
protected visitFunction(node: TSESTree.ArrowFunctionExpression | TSESTree.FunctionDeclaration | TSESTree.FunctionExpression | TSESTree.TSDeclareFunction | TSESTree.TSEmptyBodyFunctionExpression): void;
|
|
32
32
|
protected visitProperty(node: TSESTree.Property): void;
|
|
33
33
|
protected visitType(node: TSESTree.Node | null | undefined): void;
|
|
34
|
-
protected visitTypeAssertion(node: TSESTree.TSAsExpression | TSESTree.TSTypeAssertion): void;
|
|
34
|
+
protected visitTypeAssertion(node: TSESTree.TSAsExpression | TSESTree.TSTypeAssertion | TSESTree.TSSatisfiesExpression): void;
|
|
35
35
|
protected ArrowFunctionExpression(node: TSESTree.ArrowFunctionExpression): void;
|
|
36
36
|
protected AssignmentExpression(node: TSESTree.AssignmentExpression): void;
|
|
37
37
|
protected BlockStatement(node: TSESTree.BlockStatement): void;
|
|
@@ -74,6 +74,7 @@ declare class Referencer extends Visitor {
|
|
|
74
74
|
protected TSInstantiationExpression(node: TSESTree.TSInstantiationExpression): void;
|
|
75
75
|
protected TSInterfaceDeclaration(node: TSESTree.TSInterfaceDeclaration): void;
|
|
76
76
|
protected TSModuleDeclaration(node: TSESTree.TSModuleDeclaration): void;
|
|
77
|
+
protected TSSatisfiesExpression(node: TSESTree.TSSatisfiesExpression): void;
|
|
77
78
|
protected TSTypeAliasDeclaration(node: TSESTree.TSTypeAliasDeclaration): void;
|
|
78
79
|
protected TSTypeAssertion(node: TSESTree.TSTypeAssertion): void;
|
|
79
80
|
protected UpdateExpression(node: TSESTree.UpdateExpression): void;
|