@sprucelabs/spruce-cli 15.2.24 → 15.4.1
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 +31 -0
- package/build/.spruce/errors/errors.types.js.map +1 -1
- package/build/.spruce/errors/options.types.js.map +1 -1
- package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
- package/build/.spruce/events/events.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
- package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/profileImage.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
- package/build/.spruce/skill.types.js.map +1 -1
- package/build/GlobalEmitter.js.map +1 -1
- package/build/InFlightEntertainment.js.map +1 -1
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -0
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +20 -14
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
- package/build/__tests__/implementation/BuildService.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
- package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
- package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
- package/build/__tests__/implementation/EventStore.test.js +61 -33
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
- package/build/__tests__/implementation/Introspection.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/__tests__/implementation/LintService.test.js.map +1 -1
- package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
- package/build/__tests__/implementation/ListenerStore.test.js +56 -0
- package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
- package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
- package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
- package/build/__tests__/implementation/PkgService.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
- package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
- package/build/__tests__/implementation/Widgets.test.js.map +1 -1
- package/build/__tests__/support/onTestFileResult.js.map +1 -1
- package/build/__tests__/support/scripts/first.script.js.map +1 -1
- package/build/__tests__/support/scripts/second.script.js.map +1 -1
- package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
- package/build/addons/filePrompt.addon.js.map +1 -1
- package/build/cli.js.map +1 -1
- package/build/components/AbstractComponent.js.map +1 -1
- package/build/components/FormComponent.js.map +1 -1
- package/build/components/QuizComponent.js.map +1 -1
- package/build/constants.js.map +1 -1
- package/build/errors/SpruceError.js.map +1 -1
- package/build/errors/actionCancelled.builder.js.map +1 -1
- package/build/errors/bootError.builder.js.map +1 -1
- package/build/errors/buildFailed.builder.js.map +1 -1
- package/build/errors/cacheNotEnabled.builder.js.map +1 -1
- package/build/errors/commandAborted.builder.js.map +1 -1
- package/build/errors/commandBlocked.builder.js.map +1 -1
- package/build/errors/commandNotImplemented.builder.js.map +1 -1
- package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
- package/build/errors/dependencyExists.builder.js.map +1 -1
- package/build/errors/deployFailed.builder.js.map +1 -1
- package/build/errors/directoryEmpty.builder.js.map +1 -1
- package/build/errors/directoryNotSkill.builder.js.map +1 -1
- package/build/errors/dockerNotStarted.builder.js.map +1 -1
- package/build/errors/executingCommandFailed.builder.js.map +1 -1
- package/build/errors/failedToImport.builder.js.map +1 -1
- package/build/errors/featureNotInstalled.builder.js.map +1 -1
- package/build/errors/fileExists.builder.js.map +1 -1
- package/build/errors/generic.builder.js.map +1 -1
- package/build/errors/invalidCommand.builder.js.map +1 -1
- package/build/errors/invalidEventContract.builder.js.map +1 -1
- package/build/errors/invalidFeatureCode.builder.js.map +1 -1
- package/build/errors/invalidTestDirectory.builder.js.map +1 -1
- package/build/errors/lintFailed.builder.js.map +1 -1
- package/build/errors/mercuryResponseError.builder.js.map +1 -1
- package/build/errors/missingDependencies.builder.js.map +1 -1
- package/build/errors/noOrganizationsFound.builder.js.map +1 -1
- package/build/errors/noSkillsRegistered.builder.js.map +1 -1
- package/build/errors/notImplemented.builder.js.map +1 -1
- package/build/errors/notLoggedIn.builder.js.map +1 -1
- package/build/errors/schemaExists.builder.js.map +1 -1
- package/build/errors/schemaFailedToImport.builder.js.map +1 -1
- package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
- package/build/errors/skillNotFound.builder.js.map +1 -1
- package/build/errors/skillNotRegistered.builder.js.map +1 -1
- package/build/errors/skillViewExists.builder.js.map +1 -1
- package/build/errors/storeExists.builder.js.map +1 -1
- package/build/errors/testFailed.builder.js.map +1 -1
- package/build/errors/themeExists.builder.js.map +1 -1
- package/build/errors/transportAlreadyExists.builder.js.map +1 -1
- package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/FeatureCommandAttacher.js.map +1 -1
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/FeatureInstallerFactory.js.map +1 -1
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/cache/CacheFeature.js.map +1 -1
- package/build/features/cache/actions/DisableAction.js.map +1 -1
- package/build/features/cache/actions/EnableAction.js.map +1 -1
- package/build/features/cache/constants.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/conversation/actions/CreateAction.js.map +1 -1
- package/build/features/conversation/actions/TestAction.js.map +1 -1
- package/build/features/conversation/stores/ConversationStore.js.map +1 -1
- package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/dependencies/actions/AddAction.js.map +1 -1
- package/build/features/dependencies/actions/ManageAction.js.map +1 -1
- package/build/features/deploy/DeployFeature.js.map +1 -1
- package/build/features/deploy/actions/HerokuAction.js.map +1 -1
- package/build/features/deploy/writers/DeployWriter.js.map +1 -1
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/error/ParentTestFinder.js.map +1 -1
- package/build/features/error/actions/CreateAction.js.map +1 -1
- package/build/features/error/actions/SyncAction.js.map +1 -1
- package/build/features/error/writers/ErrorWriter.js.map +1 -1
- 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/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/actions/SyncAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.js.map +1 -1
- package/build/features/event/builders/EventContractBuilder.js.map +1 -1
- package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
- package/build/features/event/services/EventSettingsService.js.map +1 -1
- package/build/features/event/services/RemoteService.js.map +1 -1
- package/build/features/event/stores/EventStore.d.ts +1 -0
- package/build/features/event/stores/EventStore.js +6 -1
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/stores/ListenerStore.d.ts +1 -0
- package/build/features/event/stores/ListenerStore.js +6 -1
- package/build/features/event/stores/ListenerStore.js.map +1 -1
- package/build/features/event/writers/EventWriter.js +1 -1
- package/build/features/event/writers/EventWriter.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/feature.utilities.js.map +1 -1
- package/build/features/features.types.js.map +1 -1
- package/build/features/log/LogFeature.js.map +1 -1
- package/build/features/log/actions/CreateTransportAction.js.map +1 -1
- package/build/features/log/writers/LogWriter.js.map +1 -1
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/node/actions/CreateAction.js.map +1 -1
- package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
- package/build/features/node/actions/UpgradeAction.js.map +1 -1
- package/build/features/node/writers/NodeWriter.js.map +1 -1
- package/build/features/onboard/OnboardFeature.js.map +1 -1
- package/build/features/onboard/ScriptLoader.js.map +1 -1
- package/build/features/onboard/ScriptPlayer.js.map +1 -1
- package/build/features/onboard/actions/OnboardAction.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
- package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
- package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
- package/build/features/organization/OrganizationFeature.js.map +1 -1
- package/build/features/organization/actions/CreateAction.js.map +1 -1
- package/build/features/organization/actions/InstallAction.js.map +1 -1
- package/build/features/organization/stores/OrganizationStore.js.map +1 -1
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/person/actions/LoginAction.js.map +1 -1
- package/build/features/person/actions/LogoutAction.js.map +1 -1
- package/build/features/person/actions/WhoamiAction.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/sandbox/actions/SetupAction.js.map +1 -1
- package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/ValueTypeBuilder.js.map +1 -1
- package/build/features/schema/actions/CreateAction.js.map +1 -1
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
- package/build/features/schema/services/SchemaService.js.map +1 -1
- package/build/features/schema/stores/SchemaStore.js.map +1 -1
- package/build/features/schema/utilities/schema.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.js +1 -1
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/actions/BootAction.js.map +1 -1
- package/build/features/skill/actions/CreateAction.js.map +1 -1
- package/build/features/skill/actions/DashboardAction.js.map +1 -1
- package/build/features/skill/actions/LoginAction.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.map +1 -1
- package/build/features/skill/updaters/Updater.js.map +1 -1
- package/build/features/skill/writers/SkillWriter.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/CreateAction.js.map +1 -1
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/store/stores/StoreStore.d.ts +1 -0
- package/build/features/store/stores/StoreStore.js +6 -1
- package/build/features/store/stores/StoreStore.js.map +1 -1
- package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
- package/build/features/store/writers/StoreWriter.js.map +1 -1
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/test/TestLogItemGenerator.js.map +1 -1
- package/build/features/test/TestReporter.js.map +1 -1
- package/build/features/test/TestRunner.js.map +1 -1
- package/build/features/test/actions/CreateAction.js +1 -1
- package/build/features/test/actions/CreateAction.js.map +1 -1
- package/build/features/test/actions/SetupAction.js.map +1 -1
- package/build/features/test/actions/TestAction.js.map +1 -1
- package/build/features/test/test.types.js.map +1 -1
- package/build/features/test/writers/TestWriter.js.map +1 -1
- package/build/features/universalDevDependencies.js.map +1 -1
- package/build/features/universalFileDescriptions.js.map +1 -1
- package/build/features/universalScripts.js.map +1 -1
- package/build/features/validateAndNormalize.utility.d.ts +2 -2
- package/build/features/validateAndNormalize.utility.js +2 -2
- package/build/features/validateAndNormalize.utility.js.map +1 -1
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/features/view/actions/CreateAction.js.map +1 -1
- package/build/features/view/actions/CreateThemeAction.js.map +1 -1
- package/build/features/view/actions/SyncAction.js.map +1 -1
- package/build/features/view/actions/WatchAction.js.map +1 -1
- package/build/features/view/stores/ViewStore.js.map +1 -1
- package/build/features/view/writers/ViewWriter.js +1 -3
- package/build/features/view/writers/ViewWriter.js.map +1 -1
- package/build/features/vscode/VsCodeFeature.js.map +1 -1
- package/build/features/vscode/actions/SetupAction.js.map +1 -1
- package/build/features/vscode/services/VsCodeService.js.map +1 -1
- package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
- package/build/features/watch/WatchFeature.js.map +1 -1
- package/build/index.js.map +1 -1
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/interfaces/TerminalInterface.js.map +1 -1
- package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
- package/build/services/BuildService.js.map +1 -1
- package/build/services/CommandService.js.map +1 -1
- package/build/services/DependencyService.js.map +1 -1
- package/build/services/GameService.js.map +1 -1
- package/build/services/ImportService.js.map +1 -1
- package/build/services/LintService.js.map +1 -1
- package/build/services/PkgService.js.map +1 -1
- package/build/services/ServiceFactory.js.map +1 -1
- package/build/services/TypeCheckerService.js.map +1 -1
- package/build/stores/AbstractLocalStore.js.map +1 -1
- package/build/stores/AbstractStore.js.map +1 -1
- package/build/stores/StoreFactory.js.map +1 -1
- package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractErrorTest.js.map +1 -1
- package/build/tests/AbstractEventTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/AbstractSkillTest.js.map +1 -1
- package/build/tests/AbstractTestTest.js.map +1 -1
- package/build/tests/CommandFaker.d.ts +2 -1
- package/build/tests/CommandFaker.js +13 -7
- package/build/tests/CommandFaker.js.map +1 -1
- package/build/tests/JestJsonParser.js.map +1 -1
- package/build/tests/MockProgramFactory.js.map +1 -1
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/cleanTestCache.js.map +1 -1
- package/build/tests/cleanTestData.js.map +1 -1
- package/build/tests/constants.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/fixtures/MercuryFixture.js.map +1 -1
- package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
- package/build/tests/fixtures/PersonFixture.js.map +1 -1
- package/build/tests/fixtures/SkillFixture.js.map +1 -1
- package/build/tests/fixtures/ViewFixture.js.map +1 -1
- package/build/tests/utilities/test.utility.js.map +1 -1
- package/build/tests/utilities/uiAssert.utility.js.map +1 -1
- package/build/types/apiClient.types.js.map +1 -1
- package/build/types/cli.types.js.map +1 -1
- package/build/types/graphicsInterface.types.js.map +1 -1
- package/build/updaters/ScriptUpdater.js.map +1 -1
- package/build/utilities/action.utility.js.map +1 -1
- package/build/utilities/apiClient.utility.js.map +1 -1
- package/build/utilities/argParser.utility.js.map +1 -1
- package/build/utilities/commander.utility.js.map +1 -1
- package/build/utilities/duration.utility.js.map +1 -1
- package/build/utilities/eventContractCleaner.utility.js.map +1 -1
- package/build/utilities/form.utility.js.map +1 -1
- package/build/utilities/introspection.utility.js.map +1 -1
- package/build/utilities/isCi.js.map +1 -1
- package/build/utilities/tsConfig.utility.js.map +1 -1
- package/build/utilities/ui.utility.js.map +1 -1
- package/build/widgets/Theme.js.map +1 -1
- package/build/widgets/WidgetFactory.js.map +1 -1
- package/build/widgets/keySelectChoices.js.map +1 -1
- package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
- package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
- package/build/widgets/types/button.types.js.map +1 -1
- package/build/widgets/types/factory.types.js.map +1 -1
- package/build/widgets/types/input.types.js.map +1 -1
- package/build/widgets/types/layout.types.js.map +1 -1
- package/build/widgets/types/menuBar.types.js.map +1 -1
- package/build/widgets/types/popup.types.js.map +1 -1
- package/build/widgets/types/progressBar.types.js.map +1 -1
- package/build/widgets/types/table.types.js.map +1 -1
- package/build/widgets/types/text.types.js.map +1 -1
- package/build/widgets/types/widgets.types.js.map +1 -1
- package/build/widgets/types/window.types.js.map +1 -1
- package/build/widgets/widget.utilities.js.map +1 -1
- package/build/writers/AbstractWriter.js.map +1 -1
- package/build/writers/WriterFactory.js.map +1 -1
- package/package.json +36 -36
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +21 -7
- package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
- package/src/__tests__/implementation/EventStore.test.ts +14 -0
- package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
- package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
- package/src/features/AbstractAction.ts +2 -2
- package/src/features/event/builders/EventContractBuilder.ts +2 -2
- package/src/features/event/stores/EventStore.ts +11 -8
- package/src/features/event/stores/ListenerStore.ts +5 -3
- package/src/features/event/writers/EventWriter.ts +1 -1
- package/src/features/schema/writers/SchemaWriter.ts +1 -1
- package/src/features/store/StoreFeature.ts +1 -1
- package/src/features/store/stores/StoreStore.ts +5 -1
- package/src/features/test/actions/CreateAction.ts +1 -1
- package/src/features/validateAndNormalize.utility.ts +2 -2
- package/src/features/view/writers/ViewWriter.ts +3 -2
- package/src/tests/CommandFaker.ts +9 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"TkMenuBarWidget.js","names":["termKit","terminal_kit","TkMenuBarWidget","options","frame","termKitUtil","buildFrame","parent","items","mapItemsToTkItems","menu","DropDownMenu","getTermKitElement","separator","backgroundAttr","bgColor","color","buttonBlurAttr","buttonFocusAttr","separatorAttr","calculateSizeLockDeltas","__widget","on","handleMenuSubmit","bind","value","text","buttonItem","getButtonByValue","buttons","itemsDef","item","subItem","content","buildItemText","Error","setContent","button","def","clearColumnMenu","emit","map","label","topSubmit","length","undefined","TkBaseWidget"],"sources":["../../../src/widgets/terminalKit/TkMenuBarWidget.ts"],"sourcesContent":["import terminal_kit from 'terminal-kit'\nconst termKit = terminal_kit as any\nimport {\n\tMenuBarWidget,\n\tMenuBarWidgetItem,\n\tMenuBarWidgetOptions,\n} from '../types/menuBar.types'\nimport termKitUtil from './termKit.utility'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\n\nexport default class TkMenuBarWidget\n\textends TkBaseWidget\n\timplements MenuBarWidget\n{\n\tpublic readonly type = 'menuBar'\n\n\tprivate menu: any\n\n\tpublic constructor(options: TkWidgetOptions & MenuBarWidgetOptions) {\n\t\tsuper(options)\n\n\t\tconst frame = termKitUtil.buildFrame(options, options.parent)\n\t\tconst items = this.mapItemsToTkItems(options.items)\n\n\t\tthis.menu = new termKit.DropDownMenu({\n\t\t\tparent: options.parent.getTermKitElement(),\n\t\t\tseparator: '|',\n\t\t\titems,\n\t\t\tbackgroundAttr: { bgColor: 'black', color: 'white' },\n\t\t\tbuttonBlurAttr: { bgColor: 'black', color: 'yellow' },\n\t\t\tbuttonFocusAttr: { bgColor: 'yellow', color: 'black' },\n\t\t\tseparatorAttr: { bgColor: 'black', color: 'yellow' },\n\t\t\t...frame,\n\t\t})\n\n\t\tthis.calculateSizeLockDeltas()\n\n\t\tthis.menu.__widget = this\n\t\tthis.menu.on('submit', this.handleMenuSubmit.bind(this))\n\t}\n\n\tpublic setTextForItem(value: string, text: string): void {\n\t\tlet buttonItem = this.getButtonByValue(value, this.menu.buttons)\n\n\t\tif (!buttonItem) {\n\t\t\tfor (const item of this.menu.itemsDef) {\n\t\t\t\tfor (const subItem of item.items ?? []) {\n\t\t\t\t\tif (subItem.value === value) {\n\t\t\t\t\t\tsubItem.content = this.buildItemText(text)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!buttonItem) {\n\t\t\tthrow new Error(`No menu item with value of ${value}`)\n\t\t}\n\n\t\tbuttonItem.setContent(this.buildItemText(text), true)\n\t}\n\n\tprivate getButtonByValue(value: string, buttons: any[]) {\n\t\tlet button: any\n\t\tfor (const button of buttons) {\n\t\t\tif (button.def.value === value) {\n\t\t\t\treturn button\n\t\t\t}\n\t\t}\n\n\t\treturn button\n\t}\n\n\tprivate handleMenuSubmit(value: string) {\n\t\tthis.menu.clearColumnMenu()\n\t\tvoid (this as MenuBarWidget).emit('select', { value })\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.menu\n\t}\n\n\tprivate mapItemsToTkItems(items: MenuBarWidgetItem[]): any {\n\t\treturn items.map((item) => ({\n\t\t\tvalue: item.value,\n\t\t\tcontent: this.buildItemText(item.label),\n\t\t\ttopSubmit: !item.items || item.items.length === 0,\n\t\t\titems: item.items ? this.mapItemsToTkItems(item.items) : undefined,\n\t\t}))\n\t}\n\n\tprivate buildItemText(text: string): string {\n\t\treturn ` ${text} `\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAOA;;AACA;;;;;;;;;;;;;;;;AAPA,IAAMA,OAAO,GAAGC,uBAAhB;;IASqBC,e;;;;;EAQpB,yBAAmBC,OAAnB,EAAoE;IAAA;;IAAA;IACnE,0BAAMA,OAAN;IADmE,yFAJ7C,SAI6C;IAAA;;IAGnE,IAAMC,KAAK,GAAGC,oBAAYC,UAAZ,CAAuBH,OAAvB,EAAgCA,OAAO,CAACI,MAAxC,CAAd;;IACA,IAAMC,KAAK,GAAG,MAAKC,iBAAL,CAAuBN,OAAO,CAACK,KAA/B,CAAd;;IAEA,MAAKE,IAAL,GAAY,IAAIV,OAAO,CAACW,YAAZ;MACXJ,MAAM,EAAEJ,OAAO,CAACI,MAAR,CAAeK,iBAAf,EADG;MAEXC,SAAS,EAAE,GAFA;MAGXL,KAAK,EAALA,KAHW;MAIXM,cAAc,EAAE;QAAEC,OAAO,EAAE,OAAX;QAAoBC,KAAK,EAAE;MAA3B,CAJL;MAKXC,cAAc,EAAE;QAAEF,OAAO,EAAE,OAAX;QAAoBC,KAAK,EAAE;MAA3B,CALL;MAMXE,eAAe,EAAE;QAAEH,OAAO,EAAE,QAAX;QAAqBC,KAAK,EAAE;MAA5B,CANN;MAOXG,aAAa,EAAE;QAAEJ,OAAO,EAAE,OAAX;QAAoBC,KAAK,EAAE;MAA3B;IAPJ,GAQRZ,KARQ,EAAZ;;IAWA,MAAKgB,uBAAL;;IAEA,MAAKV,IAAL,CAAUW,QAAV;;IACA,MAAKX,IAAL,CAAUY,EAAV,CAAa,QAAb,EAAuB,MAAKC,gBAAL,CAAsBC,IAAtB,gDAAvB;;IApBmE;EAqBnE;;;;WAED,wBAAsBC,KAAtB,EAAqCC,IAArC,EAAyD;MACxD,IAAIC,UAAU,GAAG,KAAKC,gBAAL,CAAsBH,KAAtB,EAA6B,KAAKf,IAAL,CAAUmB,OAAvC,CAAjB;;MAEA,IAAI,CAACF,UAAL,EAAiB;QAAA,2CACG,KAAKjB,IAAL,CAAUoB,QADb;QAAA;;QAAA;UAChB,oDAAuC;YAAA;;YAAA,IAA5BC,IAA4B;;YAAA,2DAChBA,IAAI,CAACvB,KADW,qDACF,EADE;YAAA;;YAAA;cACtC,uDAAwC;gBAAA,IAA7BwB,OAA6B;;gBACvC,IAAIA,OAAO,CAACP,KAAR,KAAkBA,KAAtB,EAA6B;kBAC5BO,OAAO,CAACC,OAAR,GAAkB,KAAKC,aAAL,CAAmBR,IAAnB,CAAlB;kBACA;gBACA;cACD;YANqC;cAAA;YAAA;cAAA;YAAA;UAOtC;QARe;UAAA;QAAA;UAAA;QAAA;MAShB;;MAED,IAAI,CAACC,UAAL,EAAiB;QAChB,MAAM,IAAIQ,KAAJ,sCAAwCV,KAAxC,EAAN;MACA;;MAEDE,UAAU,CAACS,UAAX,CAAsB,KAAKF,aAAL,CAAmBR,IAAnB,CAAtB,EAAgD,IAAhD;IACA;;;WAED,0BAAyBD,KAAzB,EAAwCI,OAAxC,EAAwD;MACvD,IAAIQ,MAAJ;;MADuD,4CAElCR,OAFkC;MAAA;;MAAA;QAEvD,uDAA8B;UAAA,IAAnBQ,OAAmB;;UAC7B,IAAIA,OAAM,CAACC,GAAP,CAAWb,KAAX,KAAqBA,KAAzB,EAAgC;YAC/B,OAAOY,OAAP;UACA;QACD;MANsD;QAAA;MAAA;QAAA;MAAA;;MAQvD,OAAOA,MAAP;IACA;;;WAED,0BAAyBZ,KAAzB,EAAwC;MACvC,KAAKf,IAAL,CAAU6B,eAAV;MACA,KAAM,IAAD,CAAwBC,IAAxB,CAA6B,QAA7B,EAAuC;QAAEf,KAAK,EAALA;MAAF,CAAvC,CAAL;IACA;;;WAED,6BAA2B;MAC1B,OAAO,KAAKf,IAAZ;IACA;;;WAED,2BAA0BF,KAA1B,EAA2D;MAAA;;MAC1D,OAAOA,KAAK,CAACiC,GAAN,CAAU,UAACV,IAAD;QAAA,OAAW;UAC3BN,KAAK,EAAEM,IAAI,CAACN,KADe;UAE3BQ,OAAO,EAAE,MAAI,CAACC,aAAL,CAAmBH,IAAI,CAACW,KAAxB,CAFkB;UAG3BC,SAAS,EAAE,CAACZ,IAAI,CAACvB,KAAN,IAAeuB,IAAI,CAACvB,KAAL,CAAWoC,MAAX,KAAsB,CAHrB;UAI3BpC,KAAK,EAAEuB,IAAI,CAACvB,KAAL,GAAa,MAAI,CAACC,iBAAL,CAAuBsB,IAAI,CAACvB,KAA5B,CAAb,GAAkDqC;QAJ9B,CAAX;MAAA,CAAV,CAAP;IAMA;;;WAED,uBAAsBnB,IAAtB,EAA4C;MAC3C,kBAAWA,IAAX;IACA;;;EAlFOoB,yB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"TkPopupWidget.js","names":["termKit","terminal_kit","TkPopupWidget","options","shouldLockHeightWithParent","shouldLockWidthWithParent","parent","rest","frame","termKitUtil","buildFrame","popup","Window","getTermKitElement","undefined","movable","__widget","left","outputDst","x","top","y","width","inputWidth","height","inputHeight","TkBaseWidget"],"sources":["../../../src/widgets/terminalKit/TkPopupWidget.ts"],"sourcesContent":["import terminal_kit from 'terminal-kit'\nimport { PopupWidget, PopupWidgetOptions } from '../types/popup.types'\nimport termKitUtil from './termKit.utility'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkPopupWidget extends TkBaseWidget implements PopupWidget {\n\tprivate popup: any\n\n\tpublic readonly type = 'popup'\n\n\tpublic constructor(\n\t\toptions: TkWidgetOptions & PopupWidgetOptions & { termKitElement: any }\n\t) {\n\t\tsuper({\n\t\t\tshouldLockHeightWithParent: true,\n\t\t\tshouldLockWidthWithParent: true,\n\t\t\t...options,\n\t\t})\n\n\t\tconst { parent, ...rest } = options\n\n\t\tconst frame = termKitUtil.buildFrame(options, parent)\n\n\t\tthis.popup = new termKit.Window({\n\t\t\tparent: parent ? parent.getTermKitElement() : undefined,\n\t\t\tmovable: true,\n\t\t\t...rest,\n\t\t\t...frame,\n\t\t})\n\n\t\tthis.popup.__widget = this\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.popup\n\t}\n\n\tpublic getFrame() {\n\t\treturn {\n\t\t\tleft: this.popup.outputDst.x,\n\t\t\ttop: this.popup.outputDst.y,\n\t\t\twidth: this.popup.inputWidth,\n\t\t\theight: this.popup.inputHeight,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;;;;;;;;;;;AACA,IAAMA,OAAO,GAAGC,uBAAhB;;IAEqBC,a;;;;;EAKpB,uBACCC,OADD,EAEE;IAAA;;IAAA;IACD;MACCC,0BAA0B,EAAE,IAD7B;MAECC,yBAAyB,EAAE;IAF5B,GAGIF,OAHJ;IADC;IAAA,yFAJqB,OAIrB;IAOD,IAAQG,MAAR,GAA4BH,OAA5B,CAAQG,MAAR;IAAA,IAAmBC,IAAnB,6CAA4BJ,OAA5B;;IAEA,IAAMK,KAAK,GAAGC,oBAAYC,UAAZ,CAAuBP,OAAvB,EAAgCG,MAAhC,CAAd;;IAEA,MAAKK,KAAL,GAAa,IAAIX,OAAO,CAACY,MAAZ;MACZN,MAAM,EAAEA,MAAM,GAAGA,MAAM,CAACO,iBAAP,EAAH,GAAgCC,SADlC;MAEZC,OAAO,EAAE;IAFG,GAGTR,IAHS,GAITC,KAJS,EAAb;IAOA,MAAKG,KAAL,CAAWK,QAAX;IAlBC;EAmBD;;;;WAED,6BAA2B;MAC1B,OAAO,KAAKL,KAAZ;IACA;;;WAED,oBAAkB;MACjB,OAAO;QACNM,IAAI,EAAE,KAAKN,KAAL,CAAWO,SAAX,CAAqBC,CADrB;QAENC,GAAG,EAAE,KAAKT,KAAL,CAAWO,SAAX,CAAqBG,CAFpB;QAGNC,KAAK,EAAE,KAAKX,KAAL,CAAWY,UAHZ;QAINC,MAAM,EAAE,KAAKb,KAAL,CAAWc;MAJb,CAAP;IAMA;;;EAvCyCC,yB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"TkProgressBarWidget.js","names":["termKit","terminal_kit","TkProgressBarWidget","options","parent","label","left","top","progress","barOptions","bar","Bar","getTermKitElement","content","undefined","x","y","barChars","bodyAttr","bgColor","dim","color","overTextFullAttr","overTextEmptyAttr","value","__widget","calculateSizeLockDeltas","setValue","setContent","TkBaseWidget"],"sources":["../../../src/widgets/terminalKit/TkProgressBarWidget.ts"],"sourcesContent":["import terminal_kit from 'terminal-kit'\nimport {\n\tProgressBarWidget,\n\tProgressBarWidgetOptions,\n} from '../types/progressBar.types'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkProgressBarWidget\n\textends TkBaseWidget\n\timplements ProgressBarWidget\n{\n\tpublic readonly type = 'progressBar'\n\n\tprivate bar: any\n\n\tpublic constructor(options: TkWidgetOptions & ProgressBarWidgetOptions) {\n\t\tsuper(options)\n\n\t\tconst { parent, label, left, top, progress, ...barOptions } = options\n\n\t\tthis.bar = new termKit.Bar({\n\t\t\tparent: parent?.getTermKitElement(),\n\t\t\tcontent: label ? ` ${label}` : undefined,\n\t\t\tx: left,\n\t\t\ty: top,\n\t\t\tbarChars: 'solid',\n\t\t\tbodyAttr: { bgColor: 'yellow', dim: false, color: 'yellow' },\n\t\t\toverTextFullAttr: { bgColor: 'yellow', color: 'black', dim: false },\n\t\t\toverTextEmptyAttr: { bgColor: 'yellow', color: 'black', dim: false },\n\t\t\tvalue: progress,\n\t\t\t...barOptions,\n\t\t})\n\n\t\tthis.bar.__widget = this\n\t\tthis.calculateSizeLockDeltas()\n\t}\n\n\tpublic setProgress(progress: number): void {\n\t\tthis.bar.setValue(progress)\n\t}\n\n\tpublic setLabel(label?: string): void {\n\t\tthis.bar.setContent(label ? ` ${label}` : '')\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.bar\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA;;;;;;;;;;;;AACA,IAAMA,OAAO,GAAGC,uBAAhB;;IAEqBC,mB;;;;;EAQpB,6BAAmBC,OAAnB,EAAwE;IAAA;;IAAA;IACvE,0BAAMA,OAAN;IADuE,yFAJjD,aAIiD;IAAA;IAGvE,IAAQC,MAAR,GAA8DD,OAA9D,CAAQC,MAAR;IAAA,IAAgBC,KAAhB,GAA8DF,OAA9D,CAAgBE,KAAhB;IAAA,IAAuBC,IAAvB,GAA8DH,OAA9D,CAAuBG,IAAvB;IAAA,IAA6BC,GAA7B,GAA8DJ,OAA9D,CAA6BI,GAA7B;IAAA,IAAkCC,QAAlC,GAA8DL,OAA9D,CAAkCK,QAAlC;IAAA,IAA+CC,UAA/C,6CAA8DN,OAA9D;IAEA,MAAKO,GAAL,GAAW,IAAIV,OAAO,CAACW,GAAZ;MACVP,MAAM,EAAEA,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEQ,iBAAR,EADE;MAEVC,OAAO,EAAER,KAAK,cAAOA,KAAP,IAAiBS,SAFrB;MAGVC,CAAC,EAAET,IAHO;MAIVU,CAAC,EAAET,GAJO;MAKVU,QAAQ,EAAE,OALA;MAMVC,QAAQ,EAAE;QAAEC,OAAO,EAAE,QAAX;QAAqBC,GAAG,EAAE,KAA1B;QAAiCC,KAAK,EAAE;MAAxC,CANA;MAOVC,gBAAgB,EAAE;QAAEH,OAAO,EAAE,QAAX;QAAqBE,KAAK,EAAE,OAA5B;QAAqCD,GAAG,EAAE;MAA1C,CAPR;MAQVG,iBAAiB,EAAE;QAAEJ,OAAO,EAAE,QAAX;QAAqBE,KAAK,EAAE,OAA5B;QAAqCD,GAAG,EAAE;MAA1C,CART;MASVI,KAAK,EAAEhB;IATG,GAUPC,UAVO,EAAX;IAaA,MAAKC,GAAL,CAASe,QAAT;;IACA,MAAKC,uBAAL;;IAnBuE;EAoBvE;;;;WAED,qBAAmBlB,QAAnB,EAA2C;MAC1C,KAAKE,GAAL,CAASiB,QAAT,CAAkBnB,QAAlB;IACA;;;WAED,kBAAgBH,KAAhB,EAAsC;MACrC,KAAKK,GAAL,CAASkB,UAAT,CAAoBvB,KAAK,cAAOA,KAAP,IAAiB,EAA1C;IACA;;;WAED,6BAA2B;MAC1B,OAAO,KAAKK,GAAZ;IACA;;;EAvCOmB,yB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"TkTextWidget.js","names":["termKit","terminal_kit","TkTextWidget","options","parent","text","isScrollEnabled","enableScroll","shouldAutoScrollWhenAppendingContent","rest","frame","termKitUtil","buildFrame","TextBox","getTermKitElement","undefined","scrollable","vScrollBar","hScrollBar","wordWrap","content","mapWidgetOptionsToTermKitOptions","calculateSizeLockDeltas","__widget","on","handleMouseDown","bind","position","x","y","line","split","emit","row","column","oldFrame","getFrame","newFrame","widgetUtil","setSizeAndPosition","left","top","width","height","draw","scrollDistance","getScrollY","contentHeight","textBuffer","cy","visibleHeight","textAreaHeight","maxScrollDistance","Math","max","isScrolledAllTheWay","scrollY","scrollX","getText","isLogScrolledAllTheWay","logSelection","selectionRegion","markupType","setContent","setSelectionRegion","scrollToBottom","match","exec","TkBaseWidget"],"sources":["../../../src/widgets/terminalKit/TkTextWidget.ts"],"sourcesContent":["import terminal_kit from 'terminal-kit'\nimport { TextWidget, TextWidgetOptions } from '../types/text.types'\nimport { WidgetFrame } from '../types/widgets.types'\nimport widgetUtil from '../widget.utilities'\nimport termKitUtil from './termKit.utility'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkTextWidget extends TkBaseWidget implements TextWidget {\n\tpublic readonly type = 'text'\n\n\tprivate text: any\n\tprivate shouldAutoScrollWhenAppendingContent: boolean\n\n\tpublic constructor(options: TkWidgetOptions & TextWidgetOptions) {\n\t\tsuper(options)\n\n\t\tconst {\n\t\t\tparent,\n\t\t\ttext,\n\t\t\tisScrollEnabled: enableScroll = false,\n\t\t\tshouldAutoScrollWhenAppendingContent = true,\n\t\t\t...rest\n\t\t} = options\n\n\t\tthis.shouldAutoScrollWhenAppendingContent =\n\t\t\tshouldAutoScrollWhenAppendingContent\n\n\t\tconst frame = termKitUtil.buildFrame(options, parent)\n\n\t\tthis.text = new termKit.TextBox({\n\t\t\tparent: parent ? parent.getTermKitElement() : undefined,\n\t\t\tscrollable: enableScroll,\n\t\t\tvScrollBar: enableScroll,\n\t\t\thScrollBar: enableScroll && !rest.wordWrap,\n\t\t\tcontent: text,\n\t\t\twordWrap: true,\n\t\t\t...termKitUtil.mapWidgetOptionsToTermKitOptions(rest),\n\t\t\t...frame,\n\t\t})\n\n\t\tthis.calculateSizeLockDeltas()\n\n\t\tthis.text.__widget = this\n\t\tthis.text.on('click', this.handleMouseDown.bind(this))\n\t}\n\n\tprivate async handleMouseDown(position: { x: number; y: number }) {\n\t\tconst { x, y } = position\n\n\t\tconst line = this.text.content.split('\\n')[y]\n\n\t\tawait (this as TextWidget).emit('click', {\n\t\t\ttext: line,\n\t\t\trow: y,\n\t\t\tcolumn: x,\n\t\t})\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.text\n\t}\n\n\tpublic setFrame(frame: WidgetFrame) {\n\t\tconst oldFrame = this.getFrame()\n\t\tconst newFrame = widgetUtil.buildFrame(frame, this.parent)\n\n\t\tthis.text.setSizeAndPosition({\n\t\t\tx: newFrame.left ?? oldFrame.left,\n\t\t\ty: newFrame.top ?? oldFrame.top,\n\t\t\twidth: newFrame.width ?? oldFrame.width,\n\t\t\theight: newFrame.height ?? oldFrame.height,\n\t\t})\n\t\tthis.text.draw()\n\t}\n\n\tpublic getText(): string {\n\t\treturn this.text.content\n\t}\n\n\tprivate isLogScrolledAllTheWay() {\n\t\tconst scrollDistance = this.getScrollY() * -1\n\t\tconst contentHeight = this.text.textBuffer.cy\n\t\tconst visibleHeight = this.text.textAreaHeight\n\t\tconst maxScrollDistance =\n\t\t\tMath.max(contentHeight, visibleHeight) - visibleHeight\n\t\tconst isScrolledAllTheWay = scrollDistance >= maxScrollDistance\n\n\t\treturn isScrolledAllTheWay\n\t}\n\n\tpublic getScrollY() {\n\t\treturn this.text.scrollY\n\t}\n\n\tpublic getScrollX() {\n\t\treturn this.text.scrollX\n\t}\n\n\tpublic setText(content: string): void {\n\t\tif (this.getText() === content) {\n\t\t\treturn\n\t\t}\n\n\t\tconst isScrolledAllTheWay = this.isLogScrolledAllTheWay()\n\t\tconst logSelection = this.text.textBuffer.selectionRegion\n\t\tconst markupType = this.markupType(content)\n\n\t\tthis.text.setContent(content, markupType)\n\n\t\tif (logSelection) {\n\t\t\tthis.text.textBuffer.setSelectionRegion(logSelection)\n\t\t}\n\n\t\tif (this.shouldAutoScrollWhenAppendingContent && isScrolledAllTheWay) {\n\t\t\tthis.text.scrollToBottom()\n\t\t}\n\t}\n\n\tprivate markupType(content: string) {\n\t\t// eslint-disable-next-line no-control-regex\n\t\tconst match = /\\x1b\\[([0-9;]+)m|(.[^\\x1b]+)/g.exec(content)\n\t\tconst markupType = match && match[1] ? 'ansi' : true\n\t\treturn markupType\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"TkWindowWidget.js","names":["termKit","terminal_kit","TkWindowWidget","options","document","term","createDocument","palette","Palette","eventSource","on","handleParentResize","frame","getFrame","emit","width","height","__widget","handleKeyPress","bind","process","code","focusElement","key","sizeLockedChildren","title","windowTitle","hideCursor","left","top","inputWidth","inputHeight","showCursor","removeAllListeners","styleReset","grabInput","destroy","clear","TkBaseWidget"],"sources":["../../../src/widgets/terminalKit/TkWindowWidget.ts"],"sourcesContent":["import terminal_kit from 'terminal-kit'\nimport { Key } from '../keySelectChoices'\nimport { BaseWidget } from '../types/widgets.types'\nimport { WindowWidget, WindowWidgetOptions } from '../types/window.types'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkWindowWidget\n\textends TkBaseWidget\n\timplements WindowWidget\n{\n\tpublic readonly type = 'window'\n\n\tprivate document: any\n\n\tpublic constructor(options: TkWidgetOptions & WindowWidgetOptions) {\n\t\tsuper(options)\n\n\t\t//@ts-ignore\n\t\tthis.document = this.term.createDocument({\n\t\t\tpalette: new termKit.Palette(),\n\t\t})\n\n\t\tthis.document.eventSource.on('resize', async () => {\n\t\t\tthis.handleParentResize()\n\t\t\tconst frame = this.getFrame()\n\t\t\tawait (this as WindowWidget).emit('resize', {\n\t\t\t\twidth: frame.width,\n\t\t\t\theight: frame.height,\n\t\t\t})\n\t\t})\n\n\t\tthis.document.__widget = this\n\n\t\toptions.term.on('key', this.handleKeyPress.bind(this))\n\n\t\tprocess.on('exit', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGQUIT', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('kill', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGINT', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGTERM', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGUSR1', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGUSR2', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('uncaughtException', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\t}\n\n\tpublic getFocusedWidget(): BaseWidget<any> | null {\n\t\treturn this.document.focusElement.__widget\n\t}\n\n\tprivate async handleKeyPress(key: Key) {\n\t\tawait (this as WindowWidget).emit('key', { key })\n\t}\n\n\tprotected handleParentResize() {\n\t\tthis.sizeLockedChildren()\n\t}\n\n\tpublic setTitle(title: string) {\n\t\tthis.term.windowTitle(title)\n\t}\n\n\tpublic hideCursor() {\n\t\tthis.term.hideCursor(true)\n\t}\n\n\tpublic showCursor() {\n\t\tthis.term.hideCursor(false)\n\t}\n\n\tpublic getFrame() {\n\t\treturn {\n\t\t\tleft: 0,\n\t\t\ttop: 0,\n\t\t\twidth: this.document.inputWidth,\n\t\t\theight: this.document.inputHeight,\n\t\t}\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.document\n\t}\n\n\tpublic async destroy() {\n\t\tthis.showCursor()\n\t\t//@ts-ignore\n\t\tthis.term.removeAllListeners()\n\n\t\tthis.term.styleReset()\n\n\t\tawait this.term.grabInput(false, true)\n\n\t\t// termkit destroys all children, so we don't need to call for each children\n\t\t// this may change if destroy is required in other widgets and there appears\n\t\t// to be no penalty for calling destroy multiple times\n\t\tthis.document.destroy()\n\n\t\tthis.term.clear()\n\n\t\tthis.term(`\\n`)\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"termKit.utility.js","names":["termKitUtil","buildFrame","frame","parent","calculated","widgetUtil","x","left","y","top","width","height","mapWidgetOptionsToTermKitOptions","options","mapped","keys","Object","ignores","backgroundColor","attr","bgColor","foregroundColor","color","key","item","Array","isArray","i","push","widthPercent","parseInt","heightPercent","getTermKitElement","indexOf","mapTermKitOptionsToWidgetOptions"],"sources":["../../../src/widgets/terminalKit/termKit.utility.ts"],"sourcesContent":["import { isObject } from 'lodash'\nimport { BaseWidget, WidgetFrame } from '../types/widgets.types'\nimport widgetUtil from '../widget.utilities'\n\nconst termKitUtil = {\n\tbuildFrame(frame: Partial<WidgetFrame>, parent?: BaseWidget | null) {\n\t\tconst calculated = widgetUtil.buildFrame(frame, parent)\n\t\treturn {\n\t\t\tx: calculated.left,\n\t\t\ty: calculated.top,\n\t\t\twidth: calculated.width,\n\t\t\theight: calculated.height,\n\t\t}\n\t},\n\n\tmapWidgetOptionsToTermKitOptions(options: Record<string, any>) {\n\t\tconst mapped: Record<string, any> = {}\n\t\tconst keys = Object.keys(options)\n\t\tconst ignores = [\n\t\t\t'shouldLockHeightWithParent',\n\t\t\t'shouldLockWidthWithParent',\n\t\t\t'shouldLockBottomWithParent',\n\t\t\t'term',\n\t\t]\n\n\t\tif (options.backgroundColor) {\n\t\t\tmapped.attr = {\n\t\t\t\t...mapped.attr,\n\t\t\t\tbgColor: options.backgroundColor,\n\t\t\t}\n\t\t}\n\n\t\tif (options.foregroundColor) {\n\t\t\tmapped.attr = {\n\t\t\t\t...mapped.attr,\n\t\t\t\tcolor: options.foregroundColor,\n\t\t\t}\n\t\t}\n\n\t\tfor (const key of keys) {\n\t\t\tconst item = options[key]\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\tmapped[key] = []\n\t\t\t\tfor (const i of item) {\n\t\t\t\t\tmapped[key].push(this.mapWidgetOptionsToTermKitOptions(i))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'left':\n\t\t\t\t\t\tmapped.x = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'top':\n\t\t\t\t\t\tmapped.y = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'width':\n\t\t\t\t\t\tif (typeof item === 'string') {\n\t\t\t\t\t\t\tmapped.widthPercent = parseInt(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped.width = item\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'height':\n\t\t\t\t\t\tif (typeof item === 'string') {\n\t\t\t\t\t\t\tmapped.heightPercent = parseInt(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped.height = item\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'parent':\n\t\t\t\t\t\tmapped.parent = item.getTermKitElement()\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (ignores.indexOf(key) > -1) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof item !== 'function' && isObject(item)) {\n\t\t\t\t\t\t\tmapped[key] = this.mapWidgetOptionsToTermKitOptions(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped[key] = item\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn mapped\n\t},\n\n\tmapTermKitOptionsToWidgetOptions(options: Record<string, any>) {\n\t\tconst mapped: Record<string, any> = {}\n\t\tconst keys = Object.keys(options)\n\n\t\tfor (const key of keys) {\n\t\t\tconst item = options[key]\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\tmapped[key] = []\n\t\t\t\tfor (const i of item) {\n\t\t\t\t\tmapped[key].push(this.mapTermKitOptionsToWidgetOptions(i))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'left':\n\t\t\t\t\t\tmapped.x = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'top':\n\t\t\t\t\t\tmapped.y = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'widthPercent':\n\t\t\t\t\t\tmapped.width = `${item}%`\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'heightPercent':\n\t\t\t\t\t\tmapped.height = `${item}%`\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'parent':\n\t\t\t\t\t\tmapped.parent = item.getTermKitElement()\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (typeof item !== 'function' && isObject(item)) {\n\t\t\t\t\t\t\tmapped[key] = this.mapTermKitOptionsToWidgetOptions(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped[key] = item\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn mapped\n\t},\n}\n\nexport default termKitUtil\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"button.types.js","names":["buttonEventContract","eventSignatures","click"],"sources":["../../../src/widgets/types/button.types.ts"],"sourcesContent":["import { BaseWidget } from './widgets.types'\n\nexport const buttonEventContract = {\n\teventSignatures: {\n\t\tclick: {},\n\t},\n}\n\nexport type ButtonEventContract = typeof buttonEventContract\n\nexport interface ButtonWidgetOptions {\n\ttext?: string\n}\n\nexport interface ButtonWidget extends BaseWidget<ButtonEventContract> {\n\treadonly type: 'button'\n\tgetText(): string\n\tsetText(content: string): void\n}\n"],"mappings":";;;;;;AAEO,IAAMA,mBAAmB,GAAG;EAClCC,eAAe,EAAE;IAChBC,KAAK,EAAE;EADS;AADiB,CAA5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"factory.types.js","names":["widgetRegistry","window","TkWindowWidget","text","TkTextWidget","layout","TkLayoutWidget","layoutCell","TkLayoutCellWidget","progressBar","TkProgressBarWidget","menuBar","TkMenuBarWidget","popup","TkPopupWidget","button","TKButtonWidget","input","TkInputWidget","contractRegistry","windowEventContract","textEventContract","menuBarEventContract","buttonEventContract","inputEventContract"],"sources":["../../../src/widgets/types/factory.types.ts"],"sourcesContent":["import TKButtonWidget from '../terminalKit/TKButtonWidget'\nimport TkInputWidget from '../terminalKit/TkInputWidget'\nimport TkLayoutCellWidget from '../terminalKit/TkLayoutCellWidget'\nimport TkLayoutWidget from '../terminalKit/TkLayoutWidget'\nimport TkMenuBarWidget from '../terminalKit/TkMenuBarWidget'\nimport TkPopupWidget from '../terminalKit/TkPopupWidget'\nimport TkProgressBarWidget from '../terminalKit/TkProgressBarWidget'\nimport TkTextWidget from '../terminalKit/TkTextWidget'\nimport TkWindowWidget from '../terminalKit/TkWindowWidget'\nimport {\n\tbuttonEventContract,\n\tButtonWidget,\n\tButtonWidgetOptions,\n} from './button.types'\nimport {\n\tinputEventContract,\n\tInputWidget,\n\tInputWidgetOptions,\n} from './input.types'\nimport {\n\tLayoutWidgetOptions,\n\tLayoutWidget,\n\tLayoutCellWidgetOptions,\n\tLayoutCellWidget,\n} from './layout.types'\nimport {\n\tMenuBarWidgetOptions,\n\tMenuBarWidget,\n\tmenuBarEventContract,\n} from './menuBar.types'\nimport { PopupWidget, PopupWidgetOptions } from './popup.types'\nimport {\n\tProgressBarWidgetOptions,\n\tProgressBarWidget,\n} from './progressBar.types'\nimport { TextWidgetOptions, TextWidget, textEventContract } from './text.types'\nimport { UniversalWidgetOptions } from './widgets.types'\nimport {\n\tWindowWidgetOptions,\n\tWindowWidget,\n\twindowEventContract,\n} from './window.types'\n\nexport type WidgetType = keyof WidgetRegistry\n\nexport type Widget<T extends WidgetType = WidgetType> = WidgetRegistry[T]\n\nexport type FactoryOptions<T extends WidgetType> = UniversalWidgetOptions &\n\tOptionsMap[T]\n\ninterface OptionsMap {\n\ttext: TextWidgetOptions\n\twindow: WindowWidgetOptions\n\tlayout: LayoutWidgetOptions\n\tlayoutCell: LayoutCellWidgetOptions\n\tprogressBar: ProgressBarWidgetOptions\n\tmenuBar: MenuBarWidgetOptions\n\tpopup: PopupWidgetOptions\n\tbutton: ButtonWidgetOptions\n\tinput: InputWidgetOptions\n}\n\nexport interface WidgetRegistry {\n\ttext: TextWidget\n\twindow: WindowWidget\n\tlayout: LayoutWidget\n\tlayoutCell: LayoutCellWidget\n\tprogressBar: ProgressBarWidget\n\tmenuBar: MenuBarWidget\n\tpopup: PopupWidget\n\tbutton: ButtonWidget\n\tinput: InputWidget\n}\n\nexport const widgetRegistry = {\n\twindow: TkWindowWidget,\n\ttext: TkTextWidget,\n\tlayout: TkLayoutWidget,\n\tlayoutCell: TkLayoutCellWidget,\n\tprogressBar: TkProgressBarWidget,\n\tmenuBar: TkMenuBarWidget,\n\tpopup: TkPopupWidget,\n\tbutton: TKButtonWidget,\n\tinput: TkInputWidget,\n}\n\nexport const contractRegistry = {\n\twindow: windowEventContract,\n\ttext: textEventContract,\n\tlayout: null,\n\tlayoutCell: null,\n\tprogressBar: null,\n\tmenuBar: menuBarEventContract,\n\tpopup: null,\n\tbutton: buttonEventContract,\n\tinput: inputEventContract,\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAWA;;AAUA;;AAEA;;AAqCO,IAAMA,cAAc,GAAG;EAC7BC,MAAM,EAAEC,0BADqB;EAE7BC,IAAI,EAAEC,wBAFuB;EAG7BC,MAAM,EAAEC,0BAHqB;EAI7BC,UAAU,EAAEC,8BAJiB;EAK7BC,WAAW,EAAEC,+BALgB;EAM7BC,OAAO,EAAEC,2BANoB;EAO7BC,KAAK,EAAEC,yBAPsB;EAQ7BC,MAAM,EAAEC,0BARqB;EAS7BC,KAAK,EAAEC;AATsB,CAAvB;;AAYA,IAAMC,gBAAgB,GAAG;EAC/BlB,MAAM,EAAEmB,2BADuB;EAE/BjB,IAAI,EAAEkB,uBAFyB;EAG/BhB,MAAM,EAAE,IAHuB;EAI/BE,UAAU,EAAE,IAJmB;EAK/BE,WAAW,EAAE,IALkB;EAM/BE,OAAO,EAAEW,6BANsB;EAO/BT,KAAK,EAAE,IAPwB;EAQ/BE,MAAM,EAAEQ,2BARuB;EAS/BN,KAAK,EAAEO;AATwB,CAAzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"input.types.js","names":["inputEventContract","eventSignatures","submit","emitPayloadSchema","id","fields","value","type","isRequired","options","valueType","cancel"],"sources":["../../../src/widgets/types/input.types.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { BaseWidget } from './widgets.types'\n\nexport const inputEventContract = {\n\teventSignatures: {\n\t\tsubmit: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'inputSubmitEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'string | undefined',\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\tcancel: {},\n\t},\n}\n\nexport type InputEventContract = typeof inputEventContract\n\nexport interface InputWidgetOptions {\n\tvalue?: string\n\tlabel?: string\n\tplaceholder?: string\n}\n\nexport interface InputWidget extends BaseWidget<InputEventContract> {\n\treadonly type: 'input'\n\tgetValue(): string | undefined\n\tsetValue(value: string): void\n}\n"],"mappings":";;;;;;;AAAA;;AAGO,IAAMA,kBAAkB,GAAG;EACjCC,eAAe,EAAE;IAChBC,MAAM,EAAE;MACPC,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,wBAD0B;QAE9BC,MAAM,EAAE;UACPC,KAAK,EAAE;YACNC,IAAI,EAAE,KADA;YAENC,UAAU,EAAE,IAFN;YAGNC,OAAO,EAAE;cACRC,SAAS,EAAE;YADH;UAHH;QADA;MAFsB,CAAZ;IADZ,CADQ;IAehBC,MAAM,EAAE;EAfQ;AADgB,CAA3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"layout.types.js","names":[],"sources":["../../../src/widgets/types/layout.types.ts"],"sourcesContent":["import { WidgetFrameAttribute, BaseWidget } from './widgets.types'\n\n// ** Layout Widget ** //\n\nexport interface LayoutWidgetOptions {\n\trows: LayoutRow[]\n}\n\nexport type LayoutRow = {\n\tid?: string\n\tcolumns: LayoutColumn[]\n\theight?: WidgetFrameAttribute\n}\n\nexport type LayoutColumn = {\n\tid: string\n\twidth?: WidgetFrameAttribute\n}\n\nexport interface LayoutWidget extends BaseWidget {\n\treadonly type: 'layout'\n\tgetRows(): any[]\n\taddRow(row: LayoutRow): void\n\taddColumn(rowIdx: number, colunm: LayoutColumn): void\n\tremoveRow(rowIdx: number): void\n\tremoveColumn(rowIdx: number, columnIdx: number): void\n\tsetRowHeight(rowIdx: number, height: WidgetFrameAttribute): void\n\tsetColumnWidth(options: {\n\t\trowIdx: number\n\t\tcolumnIdx: number\n\t\twidth: WidgetFrameAttribute\n\t}): void\n\tupdateLayout(): void\n}\n\nexport interface LayoutCellWidgetOptions {}\n\nexport interface LayoutCellWidget extends BaseWidget {\n\treadonly type: 'layoutCell'\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"menuBar.types.js","names":["menuBarEventContract","eventSignatures","select","emitPayloadSchema","id","fields","value","type","isRequired"],"sources":["../../../src/widgets/types/menuBar.types.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { BaseWidget } from './widgets.types'\n\n// **** //\n// ** Menu Bar **/\n\nexport const menuBarEventContract = {\n\teventSignatures: {\n\t\tselect: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'menuBarSelectEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport type MenuBarEventContract = typeof menuBarEventContract\n\nexport interface MenuBarWidgetOptions {\n\titems: MenuBarWidgetItem[]\n}\n\nexport interface MenuBarWidgetItem {\n\tlabel: string\n\tvalue: string\n\titems?: MenuBarWidgetItem[]\n}\n\nexport interface MenuBarWidget extends BaseWidget<MenuBarEventContract> {\n\tsetTextForItem(value: string, text: string): void\n\treadonly type: 'menuBar'\n}\n"],"mappings":";;;;;;;AAAA;;AAGA;AACA;AAEO,IAAMA,oBAAoB,GAAG;EACnCC,eAAe,EAAE;IAChBC,MAAM,EAAE;MACPC,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,0BAD0B;QAE9BC,MAAM,EAAE;UACPC,KAAK,EAAE;YACNC,IAAI,EAAE,MADA;YAENC,UAAU,EAAE;UAFN;QADA;MAFsB,CAAZ;IADZ;EADQ;AADkB,CAA7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"popup.types.js","names":["popupEventContract","eventSignatures","close"],"sources":["../../../src/widgets/types/popup.types.ts"],"sourcesContent":["import { BaseWidget } from './widgets.types'\n\nexport const popupEventContract = {\n\teventSignatures: {\n\t\tclose: {},\n\t},\n}\n\nexport type PopupEventContract = typeof popupEventContract\n\nexport interface PopupWidgetOptions {\n\ttitle?: string\n}\n\nexport interface PopupWidget extends BaseWidget<PopupEventContract> {\n\treadonly type: 'popup'\n}\n"],"mappings":";;;;;;AAEO,IAAMA,kBAAkB,GAAG;EACjCC,eAAe,EAAE;IAChBC,KAAK,EAAE;EADS;AADgB,CAA3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"progressBar.types.js","names":[],"sources":["../../../src/widgets/types/progressBar.types.ts"],"sourcesContent":["import { BaseWidget } from './widgets.types'\n\nexport interface ProgressBarWidgetOptions {\n\tlabel?: string\n\tprogress: number\n}\n\nexport interface ProgressBarWidget extends BaseWidget {\n\treadonly type: 'progressBar'\n\n\tsetLabel(label?: string): void\n\tsetProgress(progress: number): void\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"table.types.js","names":[],"sources":["../../../src/widgets/types/table.types.ts"],"sourcesContent":["import { BaseWidget } from './widgets.types'\n\n// ** Table Widget **//\n\nexport interface TableWidgetOptions {}\n\nexport interface TableWidget extends BaseWidget {\n\ttype: 'table'\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"text.types.js","names":["textEventContract","eventSignatures","click","emitPayloadSchema","id","fields","column","type","isRequired","row","text"],"sources":["../../../src/widgets/types/text.types.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { BaseWidget } from './widgets.types'\n\n// ** Text Widget ** //\n\nexport const textEventContract = {\n\teventSignatures: {\n\t\tclick: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'textClickEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tcolumn: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\trow: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport type TextEventContract = typeof textEventContract\n\nexport interface TextWidgetOptions {\n\tisScrollEnabled?: boolean\n\tshouldAutoScrollWhenAppendingContent?: boolean\n\twordWrap?: boolean\n\ttext?: string\n}\n\nexport interface TextWidget extends BaseWidget<TextEventContract> {\n\treadonly type: 'text'\n\tgetText(): string\n\tsetText(content: string): void\n\tgetScrollX(): number\n\tgetScrollY(): number\n}\n"],"mappings":";;;;;;;AAAA;;AAGA;AAEO,IAAMA,iBAAiB,GAAG;EAChCC,eAAe,EAAE;IAChBC,KAAK,EAAE;MACNC,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,sBAD0B;QAE9BC,MAAM,EAAE;UACPC,MAAM,EAAE;YACPC,IAAI,EAAE,QADC;YAEPC,UAAU,EAAE;UAFL,CADD;UAKPC,GAAG,EAAE;YACJF,IAAI,EAAE,QADF;YAEJC,UAAU,EAAE;UAFR,CALE;UASPE,IAAI,EAAE;YACLH,IAAI,EAAE;UADD;QATC;MAFsB,CAAZ;IADb;EADS;AADe,CAA1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"widgets.types.js","names":[],"sources":["../../../src/widgets/types/widgets.types.ts"],"sourcesContent":["import { EventContract, MercuryEventEmitter } from '@sprucelabs/mercury-types'\n\nexport interface WidgetPadding {\n\ttop?: number\n\tleft?: number\n\tbottom?: number\n\tright?: number\n}\n\nexport interface WidgetButton {\n\tlabel: string\n\tonClick?: (cb: () => void) => void\n}\n\nexport interface BaseWidget<Contract extends EventContract = any>\n\textends MercuryEventEmitter<Contract> {\n\ttype: string\n\tgetId(): string | null\n\tgetFrame(): WidgetFrameCalculated\n\tsetFrame(frame: Partial<WidgetFrame>): void\n\tgetParent(): BaseWidget | null\n\tdestroy(): Promise<void>\n\tgetChildById(id?: string): BaseWidget | null\n\tgetChildren(): BaseWidget[]\n\taddChild(child: BaseWidget): void\n\tremoveChild(child: BaseWidget): void\n}\n\nexport type Color =\n\t| 'black'\n\t| 'red'\n\t| 'green'\n\t| 'yellow'\n\t| 'blue'\n\t| 'magenta'\n\t| 'cyan'\n\t| 'white'\n\t| 'gray'\n\t| 'brightRed'\n\t| 'brightGreen'\n\t| 'brightYellow'\n\t| 'brightBlue'\n\t| 'brightMagenta'\n\t| 'brightCyan'\n\t| 'brightWhite'\n\nexport interface UniversalWidgetOptions {\n\tid?: string\n\twidth?: WidgetFrameAttribute\n\theight?: WidgetFrameAttribute\n\tleft?: WidgetFrameAttribute\n\ttop?: WidgetFrameAttribute\n\tparent?: BaseWidget\n\tpadding?: WidgetPadding\n\tshouldLockWidthWithParent?: boolean\n\tshouldLockHeightWithParent?: boolean\n\tshouldLockRightWithParent?: boolean\n\tshouldLockBottomWithParent?: boolean\n\teventContract?: EventContract\n\tbackgroundColor?: Color\n\tforegroundColor?: Color\n}\n\nexport interface WidgetFrame {\n\tleft: WidgetFrameAttribute\n\ttop: WidgetFrameAttribute\n\twidth: WidgetFrameAttribute\n\theight: WidgetFrameAttribute\n}\n\nexport interface WidgetFrameCalculated {\n\tleft: number\n\ttop: number\n\twidth: number\n\theight: number\n}\n\nexport type WidgetFrameAttribute = number | string\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"window.types.js","names":["windowEventContract","eventSignatures","key","emitPayloadSchema","id","fields","type","isRequired","kill","code","resize","width","height"],"sources":["../../../src/widgets/types/window.types.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n// import keySelectChoices from '../keySelectChoices'\nimport { BaseWidget } from './widgets.types'\n\n// ** Window Widget ** //\nexport const windowEventContract = {\n\teventSignatures: {\n\t\tkey: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'windowKeyEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tkey: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tkill: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'killEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tcode: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tresize: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'resizeEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\twidth: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\theight: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport type WindowEventContract = typeof windowEventContract\n\nexport interface WindowWidgetOptions {}\n\nexport interface WindowWidget extends BaseWidget<WindowEventContract> {\n\treadonly type: 'window'\n\thideCursor: () => void\n\tshowCursor: () => void\n\tsetTitle: (title: string) => void\n\tgetFocusedWidget(): BaseWidget | null\n}\n"],"mappings":";;;;;;;AAAA;;AAIA;AACO,IAAMA,mBAAmB,GAAG;EAClCC,eAAe,EAAE;IAChBC,GAAG,EAAE;MACJC,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,sBAD0B;QAE9BC,MAAM,EAAE;UACPH,GAAG,EAAE;YACJI,IAAI,EAAE,MADF;YAEJC,UAAU,EAAE;UAFR;QADE;MAFsB,CAAZ;IADf,CADW;IAYhBC,IAAI,EAAE;MACLL,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,iBAD0B;QAE9BC,MAAM,EAAE;UACPI,IAAI,EAAE;YACLH,IAAI,EAAE,QADD;YAELC,UAAU,EAAE;UAFP;QADC;MAFsB,CAAZ;IADd,CAZU;IAuBhBG,MAAM,EAAE;MACPP,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,mBAD0B;QAE9BC,MAAM,EAAE;UACPM,KAAK,EAAE;YACNL,IAAI,EAAE,QADA;YAENC,UAAU,EAAE;UAFN,CADA;UAKPK,MAAM,EAAE;YACPN,IAAI,EAAE,QADC;YAEPC,UAAU,EAAE;UAFL;QALD;MAFsB,CAAZ;IADZ;EAvBQ;AADiB,CAA5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"widget.utilities.js","names":["widgetUtil","buildFrame","frame","parent","left","top","height","width","Error","getFrame","parseInt"],"sources":["../../src/widgets/widget.utilities.ts"],"sourcesContent":["import {\n\tBaseWidget,\n\tWidgetFrame,\n\tWidgetFrameCalculated,\n} from './types/widgets.types'\n\nconst widgetUtil = {\n\tbuildFrame(frame?: Partial<WidgetFrame>, parent?: BaseWidget | null) {\n\t\tlet { left, top, height, width } = frame || {}\n\n\t\tif (typeof width === 'string') {\n\t\t\tif (!parent) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'I can only calculate percentage sizes if a parent is passed.'\n\t\t\t\t)\n\t\t\t}\n\n\t\t\t// -2 is for border width, add border support to basewidget when this causes problems\n\t\t\twidth = parent.getFrame().width * (parseInt(width, 10) / 100)\n\t\t}\n\n\t\tif (typeof height === 'string') {\n\t\t\tif (!parent) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'I can only calculate percentage sizes if a parent is passed.'\n\t\t\t\t)\n\t\t\t}\n\n\t\t\theight = parent.getFrame().height * (parseInt(height, 10) / 100)\n\t\t}\n\n\t\treturn { left, top, height, width } as Partial<WidgetFrameCalculated>\n\t},\n}\n\nexport default widgetUtil\n"],"mappings":";;;;;;AAMA,IAAMA,UAAU,GAAG;EAClBC,UADkB,sBACPC,KADO,EACuBC,MADvB,EACmD;IACpE,WAAmCD,KAAK,IAAI,EAA5C;IAAA,IAAME,IAAN,QAAMA,IAAN;IAAA,IAAYC,GAAZ,QAAYA,GAAZ;IAAA,IAAiBC,MAAjB,QAAiBA,MAAjB;IAAA,IAAyBC,KAAzB,QAAyBA,KAAzB;;IAEA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;MAC9B,IAAI,CAACJ,MAAL,EAAa;QACZ,MAAM,IAAIK,KAAJ,CACL,8DADK,CAAN;MAGA,CAL6B,CAO9B;;;MACAD,KAAK,GAAGJ,MAAM,CAACM,QAAP,GAAkBF,KAAlB,IAA2BG,QAAQ,CAACH,KAAD,EAAQ,EAAR,CAAR,GAAsB,GAAjD,CAAR;IACA;;IAED,IAAI,OAAOD,MAAP,KAAkB,QAAtB,EAAgC;MAC/B,IAAI,CAACH,MAAL,EAAa;QACZ,MAAM,IAAIK,KAAJ,CACL,8DADK,CAAN;MAGA;;MAEDF,MAAM,GAAGH,MAAM,CAACM,QAAP,GAAkBH,MAAlB,IAA4BI,QAAQ,CAACJ,MAAD,EAAS,EAAT,CAAR,GAAuB,GAAnD,CAAT;IACA;;IAED,OAAO;MAAEF,IAAI,EAAJA,IAAF;MAAQC,GAAG,EAAHA,GAAR;MAAaC,MAAM,EAANA,MAAb;MAAqBC,KAAK,EAALA;IAArB,CAAP;EACA;AA1BiB,CAAnB;eA6BeP,U"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/writers/AbstractWriter.ts"],"names":["AbstractWriter","options","templates","ui","term","upgradeMode","fileDescriptions","linter","settings","file","startLoading","pathUtil","basename","fix","context","destinationDir","filesToWrite","filesToSkip","shouldConfirmBeforeWriting","firstFileWriteMessage","hasShownFirstWriteMessage","directoryTemplate","kind","code","files","results","generated","shouldWrite","indexOf","filename","shouldSkip","writeFileIfChangedMixinResults","join","relativePath","contents","destination","description","cwd","myResults","desc","name","action","diskUtil","isDir","Error","fileDescription","getFileDescription","doesFileExist","write","confirmPromptOnFirstWrite","stopLoading","confirm","writeFile","isFileDifferent","shouldOverwriteIfChanged","cleanedName","cleanFilename","skipped","get","isAlwaysSkipped","shouldAskForOverwrite","renderLine","prompt","type","label","choices","value","FILE_ACTION_OVERWRITE","FILE_ACTION_SKIP","FILE_ACTION_ALWAYS_SKIP","answer","push","set","replace","path","relativeFile","sep","substr","shouldOverwriteWhenChanged","lower","toLowerCase","d","search","undefined","dirOrFile","fallbackFileName","doesDirExist","fs","lstatSync","isDirectory","extname","length","resolvePath"],"mappings":"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","sourcesContent":["import fs from 'fs'\nimport pathUtil from 'path'\nimport { diskUtil, SettingsService } from '@sprucelabs/spruce-skill-utils'\nimport { DirectoryTemplateCode, Templates } from '@sprucelabs/spruce-templates'\nimport {\n\tFILE_ACTION_ALWAYS_SKIP,\n\tFILE_ACTION_OVERWRITE,\n\tFILE_ACTION_SKIP,\n} from '../constants'\nimport LintService from '../services/LintService'\nimport { FileDescription, GeneratedFile, UpgradeMode } from '../types/cli.types'\nimport { GraphicsInterface } from '../types/cli.types'\n\nexport type WriteResults = GeneratedFile[]\n\nexport interface WriterOptions {\n\ttemplates: Templates\n\tterm: GraphicsInterface\n\tupgradeMode?: UpgradeMode\n\tfileDescriptions: FileDescription[]\n\tlinter?: LintService\n\tsettings: SettingsService\n}\n\nexport interface WriteDirectoryTemplateOptions {\n\tdestinationDir: string\n\tcode: DirectoryTemplateCode\n\tfilesToWrite?: string[]\n\tfilesToSkip?: string[]\n\tcontext: any\n\tshouldConfirmBeforeWriting?: boolean\n\tfirstFileWriteMessage?: string\n}\n\nexport default abstract class AbstractWriter {\n\tprotected templates: Templates\n\tprotected ui: GraphicsInterface\n\tprivate linter?: LintService\n\tprivate upgradeMode: UpgradeMode\n\tprivate fileDescriptions: FileDescription[] = []\n\tprivate shouldConfirmBeforeWriting = true\n\tprivate firstFileWriteMessage?: string\n\tprivate hasShownFirstWriteMessage = false\n\tprivate settings: SettingsService<string>\n\n\tpublic constructor(options: WriterOptions) {\n\t\tthis.templates = options.templates\n\t\tthis.ui = options.term\n\t\tthis.upgradeMode = options.upgradeMode\n\t\tthis.fileDescriptions = options.fileDescriptions\n\t\tthis.linter = options.linter\n\t\tthis.settings = options.settings\n\t}\n\n\tprotected async lint(file: string) {\n\t\tthis.ui.startLoading(`Linting ${pathUtil.basename(file)}...`)\n\t\tawait this.linter?.fix(file).catch(() => {})\n\t}\n\n\tprotected async writeDirectoryTemplate(\n\t\toptions: WriteDirectoryTemplateOptions\n\t) {\n\t\tconst {\n\t\t\tcontext,\n\t\t\tdestinationDir,\n\t\t\tfilesToWrite,\n\t\t\tfilesToSkip,\n\t\t\tshouldConfirmBeforeWriting = true,\n\t\t\tfirstFileWriteMessage,\n\t\t} = options\n\n\t\tthis.shouldConfirmBeforeWriting = shouldConfirmBeforeWriting\n\t\tthis.firstFileWriteMessage = firstFileWriteMessage\n\t\tthis.hasShownFirstWriteMessage = false\n\n\t\tconst files = await this.templates.directoryTemplate({\n\t\t\tkind: options.code,\n\t\t\tcontext: context ?? {},\n\t\t})\n\n\t\tlet results: WriteResults = []\n\n\t\tfor (const generated of files) {\n\t\t\tconst shouldWrite =\n\t\t\t\t!filesToWrite || filesToWrite.indexOf(generated.filename) > -1\n\t\t\tconst shouldSkip =\n\t\t\t\tfilesToSkip && filesToSkip.indexOf(generated.filename) > -1\n\n\t\t\tif (shouldWrite && !shouldSkip) {\n\t\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\t\tpathUtil.join(destinationDir, generated.relativePath),\n\t\t\t\t\tgenerated.contents,\n\t\t\t\t\t'',\n\t\t\t\t\tresults,\n\t\t\t\t\tdestinationDir\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprotected async writeFileIfChangedMixinResults(\n\t\tdestination: string,\n\t\tcontents: string,\n\t\tdescription: string,\n\t\tresults?: WriteResults,\n\t\tcwd = ''\n\t): Promise<WriteResults> {\n\t\tconst myResults: WriteResults = results ?? []\n\t\tlet desc: string | undefined = description\n\n\t\tconst name = pathUtil.basename(destination)\n\t\tlet action: GeneratedFile['action'] = 'skipped'\n\n\t\tif (diskUtil.isDir(destination)) {\n\t\t\tthrow new Error(`Can't write to a directory ${destination}.`)\n\t\t}\n\n\t\tconst fileDescription = this.getFileDescription(destination)\n\n\t\tif (!diskUtil.doesFileExist(destination)) {\n\t\t\tlet write = true\n\n\t\t\tif (\n\t\t\t\tthis.shouldConfirmBeforeWriting &&\n\t\t\t\tfileDescription?.confirmPromptOnFirstWrite\n\t\t\t) {\n\t\t\t\tthis.ui.stopLoading()\n\t\t\t\twrite = await this.ui.confirm(fileDescription.confirmPromptOnFirstWrite)\n\t\t\t}\n\n\t\t\tif (write) {\n\t\t\t\tdiskUtil.writeFile(destination, contents)\n\t\t\t\taction = 'generated'\n\t\t\t}\n\t\t} else if (\n\t\t\tthis.isFileDifferent(destination, contents) &&\n\t\t\tthis.shouldOverwriteIfChanged(destination)\n\t\t) {\n\t\t\tconst cleanedName = this.cleanFilename(destination, cwd)\n\t\t\tconst settings = { skipped: [], ...this.settings.get('writer') }\n\t\t\tconst isAlwaysSkipped = settings.skipped.indexOf(cleanedName) > -1\n\t\t\tlet write = !isAlwaysSkipped\n\n\t\t\tif (!isAlwaysSkipped && this.shouldAskForOverwrite()) {\n\t\t\t\tif (!this.hasShownFirstWriteMessage && this.firstFileWriteMessage) {\n\t\t\t\t\tthis.hasShownFirstWriteMessage = true\n\t\t\t\t\tthis.ui.renderLine(this.firstFileWriteMessage)\n\t\t\t\t\tthis.ui.renderLine('')\n\t\t\t\t}\n\n\t\t\t\tconst answer = await this.ui.prompt({\n\t\t\t\t\ttype: 'select',\n\t\t\t\t\tlabel: `${cleanedName}`,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tchoices: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_OVERWRITE,\n\t\t\t\t\t\t\t\tlabel: 'Overwrite',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_SKIP,\n\t\t\t\t\t\t\t\tlabel: 'Skip',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_ALWAYS_SKIP,\n\t\t\t\t\t\t\t\tlabel: 'Always skip',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tif (answer === FILE_ACTION_ALWAYS_SKIP) {\n\t\t\t\t\tsettings.skipped.push(cleanedName)\n\t\t\t\t\tthis.settings.set('writer', settings)\n\t\t\t\t}\n\n\t\t\t\twrite = answer === FILE_ACTION_OVERWRITE\n\t\t\t}\n\n\t\t\tif (write) {\n\t\t\t\tdiskUtil.writeFile(destination, contents)\n\t\t\t\taction = 'updated'\n\t\t\t}\n\t\t}\n\n\t\tif (!desc) {\n\t\t\tdesc = fileDescription?.description\n\t\t}\n\n\t\tif (!desc) {\n\t\t\tthrow new Error(\n\t\t\t\t`No FileDescription provided for ${destination.replace(\n\t\t\t\t\tcwd,\n\t\t\t\t\t''\n\t\t\t\t)}. Check your feature's fileDescriptions property.`\n\t\t\t)\n\t\t}\n\n\t\tmyResults.push({ name, description: desc, path: destination, action })\n\n\t\treturn myResults\n\t}\n\n\tprivate isFileDifferent(destination: string, contents: string) {\n\t\treturn diskUtil.isFileDifferent(destination, contents)\n\t}\n\n\tprivate cleanFilename(destination: string, cwd: string) {\n\t\tlet relativeFile = destination.replace(cwd, '')\n\t\tif (relativeFile[0] === pathUtil.sep) {\n\t\t\trelativeFile = relativeFile.substr(1)\n\t\t}\n\t\treturn relativeFile\n\t}\n\n\tprivate shouldOverwriteIfChanged(destination: string): boolean {\n\t\tif (!this.upgradeMode) {\n\t\t\treturn true\n\t\t}\n\n\t\tif (this.upgradeMode === 'forceEverything') {\n\t\t\treturn true\n\t\t}\n\n\t\tlet description: FileDescription | undefined =\n\t\t\tthis.getFileDescription(destination)\n\n\t\treturn description?.shouldOverwriteWhenChanged ?? false\n\t}\n\n\tprivate getFileDescription(destination: string): FileDescription | undefined {\n\t\tconst lower = destination.toLowerCase()\n\t\tfor (const d of this.fileDescriptions ?? []) {\n\t\t\tif (lower.search(d.path.toLowerCase()) > -1) {\n\t\t\t\treturn d\n\t\t\t}\n\t\t}\n\n\t\treturn undefined\n\t}\n\n\tprivate shouldAskForOverwrite() {\n\t\tif (\n\t\t\tthis.shouldConfirmBeforeWriting &&\n\t\t\tthis.upgradeMode === 'askForChanged'\n\t\t) {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprotected resolveFilenameWithFallback(\n\t\tdirOrFile: string,\n\t\tfallbackFileName: string\n\t) {\n\t\tconst isDir =\n\t\t\tdiskUtil.doesDirExist(dirOrFile) &&\n\t\t\tfs.lstatSync(dirOrFile).isDirectory() &&\n\t\t\tpathUtil.extname(dirOrFile).length === 0\n\t\treturn isDir ? diskUtil.resolvePath(dirOrFile, fallbackFileName) : dirOrFile\n\t}\n}\n"],"file":"AbstractWriter.js"}
|
|
1
|
+
{"version":3,"file":"AbstractWriter.js","names":["AbstractWriter","options","templates","ui","term","upgradeMode","fileDescriptions","linter","settings","file","startLoading","pathUtil","basename","fix","context","destinationDir","filesToWrite","filesToSkip","shouldConfirmBeforeWriting","firstFileWriteMessage","hasShownFirstWriteMessage","directoryTemplate","kind","code","files","results","generated","shouldWrite","indexOf","filename","shouldSkip","writeFileIfChangedMixinResults","join","relativePath","contents","destination","description","cwd","myResults","desc","name","action","diskUtil","isDir","Error","fileDescription","getFileDescription","doesFileExist","write","confirmPromptOnFirstWrite","stopLoading","confirm","writeFile","isFileDifferent","shouldOverwriteIfChanged","cleanedName","cleanFilename","skipped","get","isAlwaysSkipped","shouldAskForOverwrite","renderLine","prompt","type","label","choices","value","FILE_ACTION_OVERWRITE","FILE_ACTION_SKIP","FILE_ACTION_ALWAYS_SKIP","answer","push","set","replace","path","relativeFile","sep","substr","shouldOverwriteWhenChanged","lower","toLowerCase","d","search","undefined","dirOrFile","fallbackFileName","doesDirExist","fs","lstatSync","isDirectory","extname","length","resolvePath"],"sources":["../../src/writers/AbstractWriter.ts"],"sourcesContent":["import fs from 'fs'\nimport pathUtil from 'path'\nimport { diskUtil, SettingsService } from '@sprucelabs/spruce-skill-utils'\nimport { DirectoryTemplateCode, Templates } from '@sprucelabs/spruce-templates'\nimport {\n\tFILE_ACTION_ALWAYS_SKIP,\n\tFILE_ACTION_OVERWRITE,\n\tFILE_ACTION_SKIP,\n} from '../constants'\nimport LintService from '../services/LintService'\nimport { FileDescription, GeneratedFile, UpgradeMode } from '../types/cli.types'\nimport { GraphicsInterface } from '../types/cli.types'\n\nexport type WriteResults = GeneratedFile[]\n\nexport interface WriterOptions {\n\ttemplates: Templates\n\tterm: GraphicsInterface\n\tupgradeMode?: UpgradeMode\n\tfileDescriptions: FileDescription[]\n\tlinter?: LintService\n\tsettings: SettingsService\n}\n\nexport interface WriteDirectoryTemplateOptions {\n\tdestinationDir: string\n\tcode: DirectoryTemplateCode\n\tfilesToWrite?: string[]\n\tfilesToSkip?: string[]\n\tcontext: any\n\tshouldConfirmBeforeWriting?: boolean\n\tfirstFileWriteMessage?: string\n}\n\nexport default abstract class AbstractWriter {\n\tprotected templates: Templates\n\tprotected ui: GraphicsInterface\n\tprivate linter?: LintService\n\tprivate upgradeMode: UpgradeMode\n\tprivate fileDescriptions: FileDescription[] = []\n\tprivate shouldConfirmBeforeWriting = true\n\tprivate firstFileWriteMessage?: string\n\tprivate hasShownFirstWriteMessage = false\n\tprivate settings: SettingsService<string>\n\n\tpublic constructor(options: WriterOptions) {\n\t\tthis.templates = options.templates\n\t\tthis.ui = options.term\n\t\tthis.upgradeMode = options.upgradeMode\n\t\tthis.fileDescriptions = options.fileDescriptions\n\t\tthis.linter = options.linter\n\t\tthis.settings = options.settings\n\t}\n\n\tprotected async lint(file: string) {\n\t\tthis.ui.startLoading(`Linting ${pathUtil.basename(file)}...`)\n\t\tawait this.linter?.fix(file).catch(() => {})\n\t}\n\n\tprotected async writeDirectoryTemplate(\n\t\toptions: WriteDirectoryTemplateOptions\n\t) {\n\t\tconst {\n\t\t\tcontext,\n\t\t\tdestinationDir,\n\t\t\tfilesToWrite,\n\t\t\tfilesToSkip,\n\t\t\tshouldConfirmBeforeWriting = true,\n\t\t\tfirstFileWriteMessage,\n\t\t} = options\n\n\t\tthis.shouldConfirmBeforeWriting = shouldConfirmBeforeWriting\n\t\tthis.firstFileWriteMessage = firstFileWriteMessage\n\t\tthis.hasShownFirstWriteMessage = false\n\n\t\tconst files = await this.templates.directoryTemplate({\n\t\t\tkind: options.code,\n\t\t\tcontext: context ?? {},\n\t\t})\n\n\t\tlet results: WriteResults = []\n\n\t\tfor (const generated of files) {\n\t\t\tconst shouldWrite =\n\t\t\t\t!filesToWrite || filesToWrite.indexOf(generated.filename) > -1\n\t\t\tconst shouldSkip =\n\t\t\t\tfilesToSkip && filesToSkip.indexOf(generated.filename) > -1\n\n\t\t\tif (shouldWrite && !shouldSkip) {\n\t\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\t\tpathUtil.join(destinationDir, generated.relativePath),\n\t\t\t\t\tgenerated.contents,\n\t\t\t\t\t'',\n\t\t\t\t\tresults,\n\t\t\t\t\tdestinationDir\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprotected async writeFileIfChangedMixinResults(\n\t\tdestination: string,\n\t\tcontents: string,\n\t\tdescription: string,\n\t\tresults?: WriteResults,\n\t\tcwd = ''\n\t): Promise<WriteResults> {\n\t\tconst myResults: WriteResults = results ?? []\n\t\tlet desc: string | undefined = description\n\n\t\tconst name = pathUtil.basename(destination)\n\t\tlet action: GeneratedFile['action'] = 'skipped'\n\n\t\tif (diskUtil.isDir(destination)) {\n\t\t\tthrow new Error(`Can't write to a directory ${destination}.`)\n\t\t}\n\n\t\tconst fileDescription = this.getFileDescription(destination)\n\n\t\tif (!diskUtil.doesFileExist(destination)) {\n\t\t\tlet write = true\n\n\t\t\tif (\n\t\t\t\tthis.shouldConfirmBeforeWriting &&\n\t\t\t\tfileDescription?.confirmPromptOnFirstWrite\n\t\t\t) {\n\t\t\t\tthis.ui.stopLoading()\n\t\t\t\twrite = await this.ui.confirm(fileDescription.confirmPromptOnFirstWrite)\n\t\t\t}\n\n\t\t\tif (write) {\n\t\t\t\tdiskUtil.writeFile(destination, contents)\n\t\t\t\taction = 'generated'\n\t\t\t}\n\t\t} else if (\n\t\t\tthis.isFileDifferent(destination, contents) &&\n\t\t\tthis.shouldOverwriteIfChanged(destination)\n\t\t) {\n\t\t\tconst cleanedName = this.cleanFilename(destination, cwd)\n\t\t\tconst settings = { skipped: [], ...this.settings.get('writer') }\n\t\t\tconst isAlwaysSkipped = settings.skipped.indexOf(cleanedName) > -1\n\t\t\tlet write = !isAlwaysSkipped\n\n\t\t\tif (!isAlwaysSkipped && this.shouldAskForOverwrite()) {\n\t\t\t\tif (!this.hasShownFirstWriteMessage && this.firstFileWriteMessage) {\n\t\t\t\t\tthis.hasShownFirstWriteMessage = true\n\t\t\t\t\tthis.ui.renderLine(this.firstFileWriteMessage)\n\t\t\t\t\tthis.ui.renderLine('')\n\t\t\t\t}\n\n\t\t\t\tconst answer = await this.ui.prompt({\n\t\t\t\t\ttype: 'select',\n\t\t\t\t\tlabel: `${cleanedName}`,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tchoices: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_OVERWRITE,\n\t\t\t\t\t\t\t\tlabel: 'Overwrite',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_SKIP,\n\t\t\t\t\t\t\t\tlabel: 'Skip',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_ALWAYS_SKIP,\n\t\t\t\t\t\t\t\tlabel: 'Always skip',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tif (answer === FILE_ACTION_ALWAYS_SKIP) {\n\t\t\t\t\tsettings.skipped.push(cleanedName)\n\t\t\t\t\tthis.settings.set('writer', settings)\n\t\t\t\t}\n\n\t\t\t\twrite = answer === FILE_ACTION_OVERWRITE\n\t\t\t}\n\n\t\t\tif (write) {\n\t\t\t\tdiskUtil.writeFile(destination, contents)\n\t\t\t\taction = 'updated'\n\t\t\t}\n\t\t}\n\n\t\tif (!desc) {\n\t\t\tdesc = fileDescription?.description\n\t\t}\n\n\t\tif (!desc) {\n\t\t\tthrow new Error(\n\t\t\t\t`No FileDescription provided for ${destination.replace(\n\t\t\t\t\tcwd,\n\t\t\t\t\t''\n\t\t\t\t)}. Check your feature's fileDescriptions property.`\n\t\t\t)\n\t\t}\n\n\t\tmyResults.push({ name, description: desc, path: destination, action })\n\n\t\treturn myResults\n\t}\n\n\tprivate isFileDifferent(destination: string, contents: string) {\n\t\treturn diskUtil.isFileDifferent(destination, contents)\n\t}\n\n\tprivate cleanFilename(destination: string, cwd: string) {\n\t\tlet relativeFile = destination.replace(cwd, '')\n\t\tif (relativeFile[0] === pathUtil.sep) {\n\t\t\trelativeFile = relativeFile.substr(1)\n\t\t}\n\t\treturn relativeFile\n\t}\n\n\tprivate shouldOverwriteIfChanged(destination: string): boolean {\n\t\tif (!this.upgradeMode) {\n\t\t\treturn true\n\t\t}\n\n\t\tif (this.upgradeMode === 'forceEverything') {\n\t\t\treturn true\n\t\t}\n\n\t\tlet description: FileDescription | undefined =\n\t\t\tthis.getFileDescription(destination)\n\n\t\treturn description?.shouldOverwriteWhenChanged ?? false\n\t}\n\n\tprivate getFileDescription(destination: string): FileDescription | undefined {\n\t\tconst lower = destination.toLowerCase()\n\t\tfor (const d of this.fileDescriptions ?? []) {\n\t\t\tif (lower.search(d.path.toLowerCase()) > -1) {\n\t\t\t\treturn d\n\t\t\t}\n\t\t}\n\n\t\treturn undefined\n\t}\n\n\tprivate shouldAskForOverwrite() {\n\t\tif (\n\t\t\tthis.shouldConfirmBeforeWriting &&\n\t\t\tthis.upgradeMode === 'askForChanged'\n\t\t) {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprotected resolveFilenameWithFallback(\n\t\tdirOrFile: string,\n\t\tfallbackFileName: string\n\t) {\n\t\tconst isDir =\n\t\t\tdiskUtil.doesDirExist(dirOrFile) &&\n\t\t\tfs.lstatSync(dirOrFile).isDirectory() &&\n\t\t\tpathUtil.extname(dirOrFile).length === 0\n\t\treturn isDir ? diskUtil.resolvePath(dirOrFile, fallbackFileName) : dirOrFile\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"WriterFactory.js","names":["classMap","error","ErrorWriter","event","EventWriter","schema","SchemaWriter","skill","SkillGenerator","test","TestGenerator","node","NodeWriter","vscode","VsCodeWriter","conversation","ConversationWriter","deploy","DeployWriter","sandbox","SandboxWriter","store","StoreWriter","view","ViewWriter","log","LogWriter","WriterFactory","options","templates","ui","linter","settings","code","Class","term"],"sources":["../../src/writers/WriterFactory.ts"],"sourcesContent":["import { SettingsService } from '@sprucelabs/spruce-skill-utils'\nimport { Templates } from '@sprucelabs/spruce-templates'\nimport ConversationWriter from '../features/conversation/writers/ConversationWriter'\nimport DeployWriter from '../features/deploy/writers/DeployWriter'\nimport ErrorWriter from '../features/error/writers/ErrorWriter'\nimport EventWriter from '../features/event/writers/EventWriter'\nimport LogWriter from '../features/log/writers/LogWriter'\nimport NodeWriter from '../features/node/writers/NodeWriter'\nimport SandboxWriter from '../features/sandbox/writers/SandboxWriter'\nimport SchemaWriter from '../features/schema/writers/SchemaWriter'\nimport SkillGenerator from '../features/skill/writers/SkillWriter'\nimport StoreWriter from '../features/store/writers/StoreWriter'\nimport TestGenerator from '../features/test/writers/TestWriter'\nimport ViewWriter from '../features/view/writers/ViewWriter'\nimport VsCodeWriter from '../features/vscode/writers/VsCodeWriter'\nimport LintService from '../services/LintService'\nimport { FileDescription } from '../types/cli.types'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { WriterOptions } from './AbstractWriter'\n\nconst classMap = {\n\terror: ErrorWriter,\n\tevent: EventWriter,\n\tschema: SchemaWriter,\n\tskill: SkillGenerator,\n\ttest: TestGenerator,\n\tnode: NodeWriter,\n\tvscode: VsCodeWriter,\n\tconversation: ConversationWriter,\n\tdeploy: DeployWriter,\n\tsandbox: SandboxWriter,\n\tstore: StoreWriter,\n\tview: ViewWriter,\n\tlog: LogWriter,\n}\n\nexport interface WriterMap {\n\terror: ErrorWriter\n\tevent: EventWriter\n\tschema: SchemaWriter\n\tskill: SkillGenerator\n\ttest: TestGenerator\n\tnode: NodeWriter\n\tvscode: VsCodeWriter\n\tconversation: ConversationWriter\n\tdeploy: DeployWriter\n\tsandbox: SandboxWriter\n\tstore: StoreWriter\n\tview: ViewWriter\n\tlog: LogWriter\n}\n\nexport type WriterCode = keyof WriterMap\n\nexport default class WriterFactory {\n\tprivate templates: Templates\n\tprivate ui: GraphicsInterface\n\tprivate linter?: LintService\n\tprivate settings: SettingsService<string>\n\n\tpublic constructor(options: {\n\t\ttemplates: Templates\n\t\tui: GraphicsInterface\n\t\tlinter?: LintService\n\t\tsettings: SettingsService\n\t}) {\n\t\tconst { templates, ui, linter, settings } = options\n\n\t\tthis.templates = templates\n\t\tthis.ui = ui\n\t\tthis.linter = linter\n\t\tthis.settings = settings\n\t}\n\n\tpublic Writer<C extends WriterCode>(\n\t\tcode: C,\n\t\toptions: Partial<WriterOptions> & { fileDescriptions: FileDescription[] }\n\t): WriterMap[C] {\n\t\tconst Class = classMap[code]\n\t\treturn new Class({\n\t\t\ttemplates: this.templates,\n\t\t\tterm: this.ui,\n\t\t\tlinter: this.linter,\n\t\t\tsettings: this.settings,\n\t\t\t...(options || {}),\n\t\t}) as WriterMap[C]\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAMA,IAAMA,QAAQ,GAAG;EAChBC,KAAK,EAAEC,uBADS;EAEhBC,KAAK,EAAEC,uBAFS;EAGhBC,MAAM,EAAEC,wBAHQ;EAIhBC,KAAK,EAAEC,uBAJS;EAKhBC,IAAI,EAAEC,sBALU;EAMhBC,IAAI,EAAEC,sBANU;EAOhBC,MAAM,EAAEC,wBAPQ;EAQhBC,YAAY,EAAEC,8BARE;EAShBC,MAAM,EAAEC,wBATQ;EAUhBC,OAAO,EAAEC,yBAVO;EAWhBC,KAAK,EAAEC,uBAXS;EAYhBC,IAAI,EAAEC,sBAZU;EAahBC,GAAG,EAAEC;AAbW,CAAjB;;IAkCqBC,a;EAMpB,uBAAmBC,OAAnB,EAKG;IAAA;IAAA;IAAA;IAAA;IAAA;IACF,IAAQC,SAAR,GAA4CD,OAA5C,CAAQC,SAAR;IAAA,IAAmBC,EAAnB,GAA4CF,OAA5C,CAAmBE,EAAnB;IAAA,IAAuBC,MAAvB,GAA4CH,OAA5C,CAAuBG,MAAvB;IAAA,IAA+BC,QAA/B,GAA4CJ,OAA5C,CAA+BI,QAA/B;IAEA,KAAKH,SAAL,GAAiBA,SAAjB;IACA,KAAKC,EAAL,GAAUA,EAAV;IACA,KAAKC,MAAL,GAAcA,MAAd;IACA,KAAKC,QAAL,GAAgBA,QAAhB;EACA;;;;WAED,gBACCC,IADD,EAECL,OAFD,EAGgB;MACf,IAAMM,KAAK,GAAGlC,QAAQ,CAACiC,IAAD,CAAtB;MACA,OAAO,IAAIC,KAAJ;QACNL,SAAS,EAAE,KAAKA,SADV;QAENM,IAAI,EAAE,KAAKL,EAFL;QAGNC,MAAM,EAAE,KAAKA,MAHP;QAINC,QAAQ,EAAE,KAAKA;MAJT,GAKFJ,OAAO,IAAI,EALT,EAAP;IAOA"}
|
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
]
|
|
19
19
|
},
|
|
20
20
|
"license": "MIT",
|
|
21
|
-
"version": "15.
|
|
21
|
+
"version": "15.4.1",
|
|
22
22
|
"bin": {
|
|
23
23
|
"spruce": "./build/index.js"
|
|
24
24
|
},
|
|
@@ -72,23 +72,23 @@
|
|
|
72
72
|
"watch.tsc": "tsc -w --sourceMap"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@babel/cli": "^7.17.
|
|
75
|
+
"@babel/cli": "^7.17.10",
|
|
76
76
|
"@babel/plugin-proposal-decorators": "^7.17.9",
|
|
77
77
|
"@babel/runtime": "^7.17.9",
|
|
78
|
-
"@jest/reporters": "^
|
|
79
|
-
"@sprucelabs/error": "^5.0.
|
|
80
|
-
"@sprucelabs/heartwood-view-controllers": "^70.
|
|
81
|
-
"@sprucelabs/jest-json-reporter": "^6.0.
|
|
82
|
-
"@sprucelabs/mercury-client": "^22.2.
|
|
83
|
-
"@sprucelabs/mercury-event-emitter": "^22.2.
|
|
84
|
-
"@sprucelabs/mercury-types": "^27.0.
|
|
85
|
-
"@sprucelabs/schema": "^27.1.
|
|
86
|
-
"@sprucelabs/spruce-core-schemas": "^25.0.
|
|
87
|
-
"@sprucelabs/spruce-event-plugin": "^30.4.
|
|
88
|
-
"@sprucelabs/spruce-event-utils": "^19.1.
|
|
89
|
-
"@sprucelabs/spruce-skill-booter": "^30.4.
|
|
90
|
-
"@sprucelabs/spruce-skill-utils": "^25.0
|
|
91
|
-
"@sprucelabs/spruce-templates": "^15.
|
|
78
|
+
"@jest/reporters": "^28.0.3",
|
|
79
|
+
"@sprucelabs/error": "^5.0.448",
|
|
80
|
+
"@sprucelabs/heartwood-view-controllers": "^70.15.38",
|
|
81
|
+
"@sprucelabs/jest-json-reporter": "^6.0.371",
|
|
82
|
+
"@sprucelabs/mercury-client": "^22.2.86",
|
|
83
|
+
"@sprucelabs/mercury-event-emitter": "^22.2.86",
|
|
84
|
+
"@sprucelabs/mercury-types": "^27.0.252",
|
|
85
|
+
"@sprucelabs/schema": "^27.1.66",
|
|
86
|
+
"@sprucelabs/spruce-core-schemas": "^25.0.107",
|
|
87
|
+
"@sprucelabs/spruce-event-plugin": "^30.4.41",
|
|
88
|
+
"@sprucelabs/spruce-event-utils": "^19.1.113",
|
|
89
|
+
"@sprucelabs/spruce-skill-booter": "^30.4.41",
|
|
90
|
+
"@sprucelabs/spruce-skill-utils": "^25.1.0",
|
|
91
|
+
"@sprucelabs/spruce-templates": "^15.4.1",
|
|
92
92
|
"@typescript-eslint/eslint-plugin": "^5.17.0",
|
|
93
93
|
"@typescript-eslint/parser": "^5.17.0",
|
|
94
94
|
"cfonts": "^2.10.1",
|
|
@@ -96,13 +96,13 @@
|
|
|
96
96
|
"chokidar": "^3.5.3",
|
|
97
97
|
"cli-table3": "^0.6.2",
|
|
98
98
|
"commander": "7.2.0",
|
|
99
|
-
"core-js": "^3.22.
|
|
99
|
+
"core-js": "^3.22.4",
|
|
100
100
|
"emphasize": "4.2.0",
|
|
101
101
|
"fs-extra": "^10.1.0",
|
|
102
102
|
"gifwrap": "^0.10.1",
|
|
103
103
|
"globby": "11.0.4",
|
|
104
104
|
"inflection": "^1.13.2",
|
|
105
|
-
"inquirer": "^8.2.
|
|
105
|
+
"inquirer": "^8.2.4",
|
|
106
106
|
"inquirer-file-tree-selection-prompt": "1.0.18",
|
|
107
107
|
"js-tetris-cli": "^0.0.3",
|
|
108
108
|
"jsonwebtoken": "^8.5.1",
|
|
@@ -119,16 +119,16 @@
|
|
|
119
119
|
"uuid": "^8.3.2"
|
|
120
120
|
},
|
|
121
121
|
"devDependencies": {
|
|
122
|
-
"@sprucelabs/data-stores": "^9.0.
|
|
123
|
-
"@sprucelabs/jest-sheets-reporter": "^1.3.
|
|
124
|
-
"@sprucelabs/mercury-core-events": "^3.2.
|
|
125
|
-
"@sprucelabs/resolve-path-aliases": "^1.1.
|
|
126
|
-
"@sprucelabs/spruce-conversation-plugin": "^30.4.
|
|
127
|
-
"@sprucelabs/spruce-deploy-plugin": "^30.4.
|
|
128
|
-
"@sprucelabs/spruce-store-plugin": "^30.4.
|
|
129
|
-
"@sprucelabs/spruce-test-fixtures": "^30.4.
|
|
130
|
-
"@sprucelabs/test": "^7.7.
|
|
131
|
-
"@sprucelabs/test-utils": "^3.0.
|
|
122
|
+
"@sprucelabs/data-stores": "^9.0.121",
|
|
123
|
+
"@sprucelabs/jest-sheets-reporter": "^1.3.43",
|
|
124
|
+
"@sprucelabs/mercury-core-events": "^3.2.36",
|
|
125
|
+
"@sprucelabs/resolve-path-aliases": "^1.1.35",
|
|
126
|
+
"@sprucelabs/spruce-conversation-plugin": "^30.4.41",
|
|
127
|
+
"@sprucelabs/spruce-deploy-plugin": "^30.4.41",
|
|
128
|
+
"@sprucelabs/spruce-store-plugin": "^30.4.41",
|
|
129
|
+
"@sprucelabs/spruce-test-fixtures": "^30.4.41",
|
|
130
|
+
"@sprucelabs/test": "^7.7.309",
|
|
131
|
+
"@sprucelabs/test-utils": "^3.0.536",
|
|
132
132
|
"@types/blessed": "^0.1.19",
|
|
133
133
|
"@types/eslint": "^8.4.1",
|
|
134
134
|
"@types/fs-extra": "^9.0.13",
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
"@types/lodash": "^4.14.182",
|
|
139
139
|
"@types/md5": "^2.3.2",
|
|
140
140
|
"@types/mkdirp": "^1.0.2",
|
|
141
|
-
"@types/node": "^17.0.
|
|
141
|
+
"@types/node": "^17.0.31",
|
|
142
142
|
"@types/promise.allsettled": "^1.0.3",
|
|
143
143
|
"@types/ps-node": "^0.1.1",
|
|
144
144
|
"@types/rimraf": "^3.0.2",
|
|
@@ -152,12 +152,12 @@
|
|
|
152
152
|
"concurrently": "^7.1.0",
|
|
153
153
|
"conventional-changelog-sprucelabs": "^1.1.2",
|
|
154
154
|
"dotenv": "^16.0.0",
|
|
155
|
-
"eslint": "^8.
|
|
155
|
+
"eslint": "^8.14.0",
|
|
156
156
|
"eslint-config-spruce": "^10.11.2",
|
|
157
157
|
"find-process": "^1.4.7",
|
|
158
|
-
"jest": "^
|
|
159
|
-
"jest-circus": "^
|
|
160
|
-
"jest-junit": "^13.
|
|
158
|
+
"jest": "^28.0.3",
|
|
159
|
+
"jest-circus": "^28.0.3",
|
|
160
|
+
"jest-junit": "^13.2.0",
|
|
161
161
|
"jest-reporters": "^0.0.2",
|
|
162
162
|
"prettier": "^2.6.2",
|
|
163
163
|
"ps-node": "^0.1.6",
|
|
@@ -165,8 +165,8 @@
|
|
|
165
165
|
"ts-jest": "^27.1.4",
|
|
166
166
|
"ts-node": "^10.7.0",
|
|
167
167
|
"tsc-watch": "^5.0.3",
|
|
168
|
-
"tsconfig-paths": "^
|
|
169
|
-
"typescript": "^4.6.
|
|
168
|
+
"tsconfig-paths": "^4.0.0",
|
|
169
|
+
"typescript": "^4.6.4"
|
|
170
170
|
},
|
|
171
171
|
"testSkillCache": {
|
|
172
172
|
"everything": [
|
|
@@ -597,5 +597,5 @@
|
|
|
597
597
|
"terminal-kit"
|
|
598
598
|
]
|
|
599
599
|
},
|
|
600
|
-
"gitHead": "
|
|
600
|
+
"gitHead": "926bdf965fc379cccc504fe6aa987c0948675c68"
|
|
601
601
|
}
|