@sprucelabs/spruce-cli 14.30.4 → 14.30.5

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 CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [14.30.5](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.30.4...v14.30.5) (2022-01-17)
7
+
8
+ **Note:** Version bump only for package @sprucelabs/spruce-cli
9
+
10
+
11
+
12
+
13
+
6
14
  ## [14.30.4](https://github.com/sprucelabsai/spruce-cli-workspace/compare/v14.30.3...v14.30.4) (2022-01-17)
7
15
 
8
16
  **Note:** Version bump only for package @sprucelabs/spruce-cli
@@ -80,8 +80,7 @@ var SkillFeature = /*#__PURE__*/function (_AbstractFeature) {
80
80
  }, {
81
81
  name: '@sprucelabs/spruce-core-schemas'
82
82
  }, {
83
- name: 'dotenv',
84
- version: '11.0.0'
83
+ name: 'dotenv'
85
84
  }, {
86
85
  name: 'globby',
87
86
  version: '^11.0.4'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/skill/SkillFeature.ts"],"names":["SkillFeature","options","name","version","isDev","universalDevDependencies","skillFeatureSchema","diskUtil","resolvePath","__dirname","node","yarn","boot","health","universalScripts","universalFileDescriptions","path","description","shouldOverwriteWhenChanged","emitter","on","handleRegisterAbstractTestClasses","bind","handleWillExecute","abstractClasses","label","featureCode","install","files","cwd","resolveDestination","destination","Store","setCurrentSkillsNamespace","doesDirExist","createDir","skillGenerator","Writer","writeSkill","installScripts","setEngines","env","Service","set","scriptUpdater","ScriptUpdater","FromFeature","update","pkg","engines","get","all","value","actionCode","upgradeOptions","featureInstaller","isInstalled","updater","Updater","updateFiles","AbstractFeature"],"mappings":"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","sourcesContent":["import { SchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport { FileDescription, NpmPackage } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureOptions } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\nimport Updater from './updaters/Updater'\n\ntype SkillFeatureOptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema\ntype SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tskill: SkillFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tskill: SchemaValues<SkillFeatureOptionsSchema>\n\t}\n}\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\nexport default class SkillFeature<\n\tS extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema\n> extends AbstractFeature<S> {\n\tpublic nameReadable = 'Skill'\n\tpublic code: FeatureCode = 'skill'\n\tpublic description = 'The scaffolding needed to run a Skill'\n\tpublic readonly installOrderWeight = 100\n\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/error' },\n\t\t{ name: '@sprucelabs/spruce-skill-utils' },\n\t\t{ name: '@sprucelabs/spruce-skill-booter' },\n\t\t{ name: '@sprucelabs/spruce-event-utils' },\n\t\t{ name: '@sprucelabs/spruce-event-plugin' },\n\t\t{ name: '@sprucelabs/spruce-core-schemas' },\n\t\t{ name: 'dotenv', version: '11.0.0' },\n\t\t{ name: 'globby', version: '^11.0.4' },\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{ name: 'tsconfig-paths', isDev: true },\n\t\t{ name: 'ts-node', isDev: true },\n\t\t...universalDevDependencies,\n\t]\n\n\tpublic optionsSchema = skillFeatureSchema as S\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tprivate engines = {\n\t\tnode: '16.x',\n\t\tyarn: '1.x',\n\t}\n\tpublic scripts = {\n\t\tboot: 'node build/index',\n\t\t'boot.local':\n\t\t\t'node -r ts-node/register -r tsconfig-paths/register ./src/index',\n\n\t\thealth: 'yarn boot --health',\n\t\t'health.local': 'yarn boot.local --health',\n\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t\t{\n\t\t\tpath: 'src/index.ts',\n\t\t\tdescription: 'The file that \"boots\" the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'errors/SpruceError.ts',\n\t\t\tdescription: 'Starting error class that you can edit.',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/skill.ts',\n\t\t\tdescription: 'Used to support booting the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/errors/options.types.ts',\n\t\t\tdescription:\n\t\t\t\t'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'src/.spruce/features/event.plugin.ts',\n\t\t\tdescription:\n\t\t\t\t'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t`test.register-abstract-test-classes`,\n\t\t\tthis.handleRegisterAbstractTestClasses.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleRegisterAbstractTestClasses() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t\t\t\tlabel: 'AbstractSpruceFixtureTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-test-fixtures',\n\t\t\t\t\tfeatureCode: 'skill',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: SkillFeatureOptions) {\n\t\tconst { files } = await this.install(options)\n\t\treturn { files, cwd: this.resolveDestination(options) }\n\t}\n\n\tpublic async afterPackageInstall(options: SkillFeatureOptions) {\n\t\tconst destination = this.resolveDestination(options)\n\t\tawait this.Store('skill', { cwd: destination }).setCurrentSkillsNamespace(\n\t\t\toptions.name\n\t\t)\n\t\treturn {}\n\t}\n\n\tprivate async install(options: SkillFeatureOptions) {\n\t\tvalidateSchemaValues(skillFeatureSchema, options)\n\n\t\tconst destination = this.resolveDestination(options)\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst skillGenerator = this.Writer('skill')\n\n\t\tconst files = await skillGenerator.writeSkill(destination, options)\n\n\t\tawait this.installScripts(destination)\n\n\t\tthis.setEngines(destination)\n\n\t\tconst env = this.Service('env', destination)\n\t\tenv.set('SKILL_NAME', options.name)\n\n\t\treturn { files }\n\t}\n\n\tprivate resolveDestination(options: SkillFeatureOptions) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic setEngines(destination: string) {\n\t\tconst pkg = this.Service('pkg', destination)\n\t\tconst engines = (pkg.get('engines') as Record<string, string>) || {}\n\n\t\tfor (const name in this.engines) {\n\t\t\tconst all = this.engines\n\t\t\tengines[name] = this.engines[name as keyof typeof all]\n\t\t}\n\n\t\tpkg.set({ path: 'engines', value: engines })\n\t}\n\n\tpublic async handleWillExecute(options: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t\toptions?: UpgradeOptions\n\t}) {\n\t\tconst { featureCode, actionCode, options: upgradeOptions } = options\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst updater = new Updater(this, this.emitter)\n\t\t\tconst files = await updater.updateFiles(upgradeOptions ?? {})\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n}\n"],"file":"SkillFeature.js"}
1
+ {"version":3,"sources":["../../../src/features/skill/SkillFeature.ts"],"names":["SkillFeature","options","name","version","isDev","universalDevDependencies","skillFeatureSchema","diskUtil","resolvePath","__dirname","node","yarn","boot","health","universalScripts","universalFileDescriptions","path","description","shouldOverwriteWhenChanged","emitter","on","handleRegisterAbstractTestClasses","bind","handleWillExecute","abstractClasses","label","featureCode","install","files","cwd","resolveDestination","destination","Store","setCurrentSkillsNamespace","doesDirExist","createDir","skillGenerator","Writer","writeSkill","installScripts","setEngines","env","Service","set","scriptUpdater","ScriptUpdater","FromFeature","update","pkg","engines","get","all","value","actionCode","upgradeOptions","featureInstaller","isInstalled","updater","Updater","updateFiles","AbstractFeature"],"mappings":"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","sourcesContent":["import { SchemaValues, validateSchemaValues } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { SpruceSchemas } from '#spruce/schemas/schemas.types'\nimport skillFeatureSchema from '#spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema'\nimport { FileDescription, NpmPackage } from '../../types/cli.types'\nimport ScriptUpdater from '../../updaters/ScriptUpdater'\nimport AbstractFeature, { FeatureOptions } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\nimport universalDevDependencies from '../universalDevDependencies'\nimport universalFileDescriptions from '../universalFileDescriptions'\nimport universalScripts from '../universalScripts'\nimport Updater from './updaters/Updater'\n\ntype SkillFeatureOptionsSchema =\n\tSpruceSchemas.SpruceCli.v2020_07_22.SkillFeatureSchema\ntype SkillFeatureOptions = SpruceSchemas.SpruceCli.v2020_07_22.SkillFeature\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tskill: SkillFeature\n\t}\n\n\tinterface FeatureOptionsMap {\n\t\tskill: SchemaValues<SkillFeatureOptionsSchema>\n\t}\n}\n\ntype UpgradeOptions = SpruceSchemas.SpruceCli.v2020_07_22.UpgradeSkillOptions\n\nexport default class SkillFeature<\n\tS extends SkillFeatureOptionsSchema = SkillFeatureOptionsSchema\n> extends AbstractFeature<S> {\n\tpublic nameReadable = 'Skill'\n\tpublic code: FeatureCode = 'skill'\n\tpublic description = 'The scaffolding needed to run a Skill'\n\tpublic readonly installOrderWeight = 100\n\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{ name: '@sprucelabs/error' },\n\t\t{ name: '@sprucelabs/spruce-skill-utils' },\n\t\t{ name: '@sprucelabs/spruce-skill-booter' },\n\t\t{ name: '@sprucelabs/spruce-event-utils' },\n\t\t{ name: '@sprucelabs/spruce-event-plugin' },\n\t\t{ name: '@sprucelabs/spruce-core-schemas' },\n\t\t{ name: 'dotenv' },\n\t\t{ name: 'globby', version: '^11.0.4' },\n\t\t{\n\t\t\tname: '@sprucelabs/mercury-types',\n\t\t},\n\t\t{ name: 'tsconfig-paths', isDev: true },\n\t\t{ name: 'ts-node', isDev: true },\n\t\t...universalDevDependencies,\n\t]\n\n\tpublic optionsSchema = skillFeatureSchema as S\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tprivate engines = {\n\t\tnode: '16.x',\n\t\tyarn: '1.x',\n\t}\n\tpublic scripts = {\n\t\tboot: 'node build/index',\n\t\t'boot.local':\n\t\t\t'node -r ts-node/register -r tsconfig-paths/register ./src/index',\n\n\t\thealth: 'yarn boot --health',\n\t\t'health.local': 'yarn boot.local --health',\n\n\t\t...universalScripts,\n\t}\n\n\tpublic readonly fileDescriptions: FileDescription[] = [\n\t\t...universalFileDescriptions,\n\t\t{\n\t\t\tpath: 'src/index.ts',\n\t\t\tdescription: 'The file that \"boots\" the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'errors/SpruceError.ts',\n\t\t\tdescription: 'Starting error class that you can edit.',\n\t\t\tshouldOverwriteWhenChanged: false,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/skill.ts',\n\t\t\tdescription: 'Used to support booting the skill.',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: '.spruce/errors/options.types.ts',\n\t\t\tdescription:\n\t\t\t\t'Holds all possible error codes and options. Will be updated as you create more errors (spruce create.error).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t\t{\n\t\t\tpath: 'src/.spruce/features/event.plugin.ts',\n\t\t\tdescription:\n\t\t\t\t'Gives your skill event support through local boot events and optionall Mercury (spruce event.listen).',\n\t\t\tshouldOverwriteWhenChanged: true,\n\t\t},\n\t]\n\n\tpublic constructor(options: FeatureOptions) {\n\t\tsuper(options)\n\n\t\tvoid this.emitter.on(\n\t\t\t`test.register-abstract-test-classes`,\n\t\t\tthis.handleRegisterAbstractTestClasses.bind(this)\n\t\t)\n\n\t\tvoid this.emitter.on(\n\t\t\t'feature.will-execute',\n\t\t\tthis.handleWillExecute.bind(this)\n\t\t)\n\t}\n\n\tprivate async handleRegisterAbstractTestClasses() {\n\t\treturn {\n\t\t\tabstractClasses: [\n\t\t\t\t{\n\t\t\t\t\tname: 'AbstractSpruceFixtureTest',\n\t\t\t\t\tlabel: 'AbstractSpruceFixtureTest',\n\t\t\t\t\timport: '@sprucelabs/spruce-test-fixtures',\n\t\t\t\t\tfeatureCode: 'skill',\n\t\t\t\t},\n\t\t\t],\n\t\t}\n\t}\n\n\tpublic async beforePackageInstall(options: SkillFeatureOptions) {\n\t\tconst { files } = await this.install(options)\n\t\treturn { files, cwd: this.resolveDestination(options) }\n\t}\n\n\tpublic async afterPackageInstall(options: SkillFeatureOptions) {\n\t\tconst destination = this.resolveDestination(options)\n\t\tawait this.Store('skill', { cwd: destination }).setCurrentSkillsNamespace(\n\t\t\toptions.name\n\t\t)\n\t\treturn {}\n\t}\n\n\tprivate async install(options: SkillFeatureOptions) {\n\t\tvalidateSchemaValues(skillFeatureSchema, options)\n\n\t\tconst destination = this.resolveDestination(options)\n\t\tif (!diskUtil.doesDirExist(destination)) {\n\t\t\tdiskUtil.createDir(destination)\n\t\t}\n\n\t\tconst skillGenerator = this.Writer('skill')\n\n\t\tconst files = await skillGenerator.writeSkill(destination, options)\n\n\t\tawait this.installScripts(destination)\n\n\t\tthis.setEngines(destination)\n\n\t\tconst env = this.Service('env', destination)\n\t\tenv.set('SKILL_NAME', options.name)\n\n\t\treturn { files }\n\t}\n\n\tprivate resolveDestination(options: SkillFeatureOptions) {\n\t\treturn diskUtil.resolvePath(this.cwd, options.destination ?? '')\n\t}\n\n\tpublic async installScripts(destination = this.cwd) {\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this, {\n\t\t\tcwd: destination,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\t}\n\n\tpublic setEngines(destination: string) {\n\t\tconst pkg = this.Service('pkg', destination)\n\t\tconst engines = (pkg.get('engines') as Record<string, string>) || {}\n\n\t\tfor (const name in this.engines) {\n\t\t\tconst all = this.engines\n\t\t\tengines[name] = this.engines[name as keyof typeof all]\n\t\t}\n\n\t\tpkg.set({ path: 'engines', value: engines })\n\t}\n\n\tpublic async handleWillExecute(options: {\n\t\tfeatureCode: string\n\t\tactionCode: string\n\t\toptions?: UpgradeOptions\n\t}) {\n\t\tconst { featureCode, actionCode, options: upgradeOptions } = options\n\t\tconst isInstalled = await this.featureInstaller.isInstalled('skill')\n\n\t\tif (isInstalled && featureCode === 'node' && actionCode === 'upgrade') {\n\t\t\tconst updater = new Updater(this, this.emitter)\n\t\t\tconst files = await updater.updateFiles(upgradeOptions ?? {})\n\t\t\treturn {\n\t\t\t\tfiles,\n\t\t\t}\n\t\t}\n\n\t\treturn {}\n\t}\n}\n"],"file":"SkillFeature.js"}
package/package.json CHANGED
@@ -18,7 +18,7 @@
18
18
  ]
19
19
  },
20
20
  "license": "MIT",
21
- "version": "14.30.4",
21
+ "version": "14.30.5",
22
22
  "bin": {
23
23
  "spruce": "./build/index.js"
24
24
  },
@@ -88,7 +88,7 @@
88
88
  "@sprucelabs/spruce-event-utils": "^17.1.534",
89
89
  "@sprucelabs/spruce-skill-booter": "^22.0.35",
90
90
  "@sprucelabs/spruce-skill-utils": "^22.2.190",
91
- "@sprucelabs/spruce-templates": "^14.30.4",
91
+ "@sprucelabs/spruce-templates": "^14.30.5",
92
92
  "@typescript-eslint/eslint-plugin": "^5.9.1",
93
93
  "@typescript-eslint/parser": "^5.9.1",
94
94
  "cfonts": "^2.10.0",
@@ -597,5 +597,5 @@
597
597
  "ora"
598
598
  ]
599
599
  },
600
- "gitHead": "c60f57bd4457a1fc6bfed64af045833f0cf630fe"
600
+ "gitHead": "caaa3b1f9bdc198a4311c2936551a86802bf7195"
601
601
  }
@@ -42,7 +42,7 @@ export default class SkillFeature<
42
42
  { name: '@sprucelabs/spruce-event-utils' },
43
43
  { name: '@sprucelabs/spruce-event-plugin' },
44
44
  { name: '@sprucelabs/spruce-core-schemas' },
45
- { name: 'dotenv', version: '11.0.0' },
45
+ { name: 'dotenv' },
46
46
  { name: 'globby', version: '^11.0.4' },
47
47
  {
48
48
  name: '@sprucelabs/mercury-types',