@sprucelabs/spruce-cli 19.2.4 → 20.0.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.
Files changed (25) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +2 -1
  3. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  4. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -1
  5. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  6. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.d.ts +4 -0
  7. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js +97 -19
  8. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js.map +1 -1
  9. package/build/errors/SpruceError.js +2 -2
  10. package/build/errors/SpruceError.js.map +1 -1
  11. package/build/features/cache/actions/EnableAction.js +3 -1
  12. package/build/features/cache/actions/EnableAction.js.map +1 -1
  13. package/build/features/view/actions/SyncAction.js +2 -0
  14. package/build/features/view/actions/SyncAction.js.map +1 -1
  15. package/build/utilities/introspection.utility.d.ts +8 -4
  16. package/build/utilities/introspection.utility.js +189 -46
  17. package/build/utilities/introspection.utility.js.map +1 -1
  18. package/package.json +24 -24
  19. package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +1 -0
  20. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
  21. package/src/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.ts +55 -2
  22. package/src/errors/SpruceError.ts +3 -1
  23. package/src/features/cache/actions/EnableAction.ts +6 -1
  24. package/src/features/view/actions/SyncAction.ts +2 -0
  25. package/src/utilities/introspection.utility.ts +233 -79
@@ -1 +1 @@
1
- {"version":3,"file":"SpruceError.js","names":["_error","_interopRequireDefault","require","_spruceSkillUtils","_upperFirst","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_callSuper","t","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","valueOf","SpruceError","exports","_AbstractSpruceError","_classCallCheck2","arguments","_inherits2","_createClass2","key","friendlyMessage","_options$friendlyMess","_options$originalErro2","_options$originalErro3","_options$friendlyMess2","_options$originalErro4","_options$originalErro5","_options$originalErro7","_ref","_options$friendlyMess3","_options$originalErro8","_options$friendlyMess4","options","message","code","args","concat","join","originalError","_options$originalErro","stack","command","file","pattern","_options$originalErro6","cmd","cwd","stderr","cleanStdErr","stdout","schemaId","destination","featureCode","fileName","testName","errorMessage","split","map","line","upperFirst","errors","responseErrors","errorMessages","_iterator","_step","push","fullyQualifiedEventName","brokenProperty","dependencies","d","hint","namesUtil","toPascal","schemaNamespace","fieldName","JSON","stringify","fieldOptions","namespace","_get2","replace","trim","AbstractSpruceError"],"sources":["../../src/errors/SpruceError.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport upperFirst from 'lodash/upperFirst'\nimport ErrorOptions from '#spruce/errors/options.types'\n\nexport default class SpruceError extends AbstractSpruceError<ErrorOptions> {\n\t/** An easy to understand version of the errors */\n\tpublic friendlyMessage(): string {\n\t\tconst { options } = this\n\t\tlet message\n\n\t\tswitch (options?.code) {\n\t\t\tcase 'INVALID_COMMAND':\n\t\t\t\tif (!options.args || options.args.length === 0) {\n\t\t\t\t\tmessage = `Hey friend 👋.. I don't support the command you tried.`\n\t\t\t\t} else {\n\t\t\t\t\tmessage = `Hey friend 👋. I don't know the command: ${options.args.join(\n\t\t\t\t\t\t' '\n\t\t\t\t\t)}.`\n\t\t\t\t}\n\t\t\t\tmessage += ' Try running `spruce --help`'\n\t\t\t\tbreak\n\n\t\t\tcase 'GENERIC':\n\t\t\t\tmessage = options.friendlyMessage ?? 'Oh shoot! 🤔'\n\n\t\t\t\tif (options.originalError) {\n\t\t\t\t\tmessage += `\\n\\n${\n\t\t\t\t\t\toptions.originalError.stack ?? options.originalError.name\n\t\t\t\t\t}`\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'NOT_IMPLEMENTED':\n\t\t\t\tmessage = ''\n\t\t\t\tif (options.friendlyMessage) {\n\t\t\t\t\tmessage += `\\n\\n${options.friendlyMessage}`\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'COMMAND_NOT_IMPLEMENTED':\n\t\t\t\tmessage = `${options.command} has not yet been implemented. ${\n\t\t\t\t\toptions.args ? `Args: ${options.args.join(', ')}` : ''\n\t\t\t\t}`\n\t\t\t\tif (options.friendlyMessage) {\n\t\t\t\t\tmessage += `\\n\\n${options.friendlyMessage}`\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_FAILED_TO_IMPORT':\n\t\t\t\tmessage = `Error importing \"${options.file}\". Original error:\\n\\n${\n\t\t\t\t\toptions.originalError?.message ?? '**MISSING**'\n\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'BUILD_FAILED':\n\t\t\t\tmessage = `Build${\n\t\t\t\t\toptions.file ? `ing ${options.file}` : ''\n\t\t\t\t} failed. It looks like you're not running 'yarn watch'. Run it and then run 'spruce all:sync'.`\n\n\t\t\t\tbreak\n\n\t\t\tcase 'FAILED_TO_IMPORT':\n\t\t\t\tmessage =\n\t\t\t\t\toptions.friendlyMessage ??\n\t\t\t\t\t`Failed to import \"${options.file}\". Original error:\\n\\n${\n\t\t\t\t\t\toptions.originalError?.message ?? '**MISSING**'\n\t\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'LINT_FAILED':\n\t\t\t\tmessage = options.friendlyMessage\n\n\t\t\t\tif (!message) {\n\t\t\t\t\tmessage = `Lint failed on pattern ${options.pattern}.`\n\n\t\t\t\t\tif (options.originalError) {\n\t\t\t\t\t\tmessage += `\\n\\nOriginal error:${\n\t\t\t\t\t\t\toptions.originalError.stack ?? options.originalError.message\n\t\t\t\t\t\t}`\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'EXECUTING_COMMAND_FAILED':\n\t\t\t\tif (this.originalError && this.originalError.message) {\n\t\t\t\t\tmessage = this.originalError.message + '\\n\\n'\n\t\t\t\t} else {\n\t\t\t\t\tmessage = ''\n\t\t\t\t}\n\t\t\t\tmessage += `Executing command failed '${options.cmd}'.\\n\\n`\n\t\t\t\tif (options.cwd) {\n\t\t\t\t\tmessage += `cwd: ${options.cwd}\\n\\n`\n\t\t\t\t}\n\n\t\t\t\tif (options.stderr) {\n\t\t\t\t\tmessage += this.cleanStdErr(options.stderr) + '\\n\\n'\n\t\t\t\t}\n\n\t\t\t\tif (options.stdout) {\n\t\t\t\t\tmessage += options.stdout\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'CREATE_AUTOLOADER_FAILED':\n\t\t\t\tmessage = 'A Could not create an autoloader just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'DIRECTORY_EMPTY':\n\t\t\t\tmessage = 'A directory empty just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'FILE_EXISTS':\n\t\t\t\tmessage = 'A fail already exists.'\n\t\t\t\tbreak\n\n\t\t\tcase 'VSCODE_NOT_INSTALLED':\n\t\t\t\tmessage =\n\t\t\t\t\t\"vscode's 'code' is not installed.\\n\\nMac instructions: https://code.visualstudio.com/docs/setup/mac\\n\\nLinux instructions: https://code.visualstudio.com/docs/setup/linux\\n\\nWindows instructions: https://code.visualstudio.com/docs/setup/windows\"\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_EXISTS':\n\t\t\t\tmessage = `A schema called ${options.schemaId} already exists at ${options.destination}`\n\t\t\t\tbreak\n\n\t\t\tcase 'COMMAND_ABORTED':\n\t\t\t\tmessage = 'Aborted! See ya later! ✌️'\n\t\t\t\tbreak\n\n\t\t\tcase 'INVALID_FEATURE_CODE':\n\t\t\t\tmessage = `Oh no! I couldn't find a feature with the code '${options.featureCode}'.`\n\t\t\t\tbreak\n\n\t\t\tcase 'TEST_FAILED':\n\t\t\t\tmessage = `${options.fileName}\\n - ${\n\t\t\t\t\toptions.testName\n\t\t\t\t}\\n\\n${options.errorMessage\n\t\t\t\t\t.split('\\n')\n\t\t\t\t\t.map((line) => ` ${line}`)\n\t\t\t\t\t.join('\\n')}`\n\n\t\t\t\tbreak\n\n\t\t\tcase 'FEATURE_NOT_INSTALLED':\n\t\t\t\tmessage = `\\`${upperFirst(\n\t\t\t\t\toptions.featureCode\n\t\t\t\t)}\\` feature is not installed. Install it first, then try again.`\n\t\t\t\tbreak\n\n\t\t\tcase 'MERCURY_RESPONSE_ERROR': {\n\t\t\t\tconst errors = options.responseErrors\n\t\t\t\tmessage = `Got ${\n\t\t\t\t\terrors.length === 1 ? 'an error' : `${errors.length} errors`\n\t\t\t\t} from the server:\\n\\n`\n\n\t\t\t\tconst errorMessages: string[] = []\n\t\t\t\tfor (const err of errors) {\n\t\t\t\t\terrorMessages.push(err.message)\n\t\t\t\t}\n\n\t\t\t\tmessage += errorMessages.join('\\n')\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'INVALID_TEST_DIRECTORY':\n\t\t\t\tmessage = `You are missing dependencies I need to run tests. Try \\`spruce test.install\\` to reinstall.`\n\t\t\t\tbreak\n\n\t\t\tcase 'DIRECTORY_NOT_SKILL':\n\t\t\t\tmessage = 'The directory you are in is not a skill!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_NOT_REGISTERED':\n\t\t\t\tmessage = `Dang! I can't continue until you register your skill! Run \\`spruce login\\` and then \\`spruce register.skill\\` to get the ball rolling!`\n\t\t\t\tbreak\n\n\t\t\tcase 'NO_ORGANIZATIONS_FOUND':\n\t\t\t\tmessage =\n\t\t\t\t\t\"It looks like you don't have any organizations setup yet. Try `spruce create.organization` first.\"\n\t\t\t\tbreak\n\n\t\t\tcase 'INVALID_EVENT_CONTRACT':\n\t\t\t\tmessage = `The event named \\`${options.fullyQualifiedEventName}\\` is not valid. Check ${options.brokenProperty}. The original error is:\\n\\n${options.originalError?.message}`\n\t\t\t\tbreak\n\n\t\t\tcase 'BOOT_ERROR':\n\t\t\t\tmessage = `Booting your skill failed: ${\n\t\t\t\t\toptions.friendlyMessage ??\n\t\t\t\t\toptions.originalError?.message ??\n\t\t\t\t\t'Not sure why, tho.'\n\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'DEPLOY_FAILED':\n\t\t\t\tmessage = 'Deploy halted!'\n\t\t\t\tbreak\n\n\t\t\tcase 'MISSING_DEPENDENCIES':\n\t\t\t\tmessage = `Looks like you're missing some dependencies:\\n\\n${options.dependencies\n\t\t\t\t\t.map((d) => `${d.name}: ${d.hint}`)\n\t\t\t\t\t.join('\\n')}`\n\t\t\t\tbreak\n\n\t\t\tcase 'STORE_EXISTS':\n\t\t\t\tmessage = 'A Store exists just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'NOT_LOGGED_IN':\n\t\t\t\tmessage = 'You have to be logged in to do that!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_NOT_FOUND':\n\t\t\t\tmessage = options.friendlyMessage ?? `I couldn't find that skill!`\n\t\t\t\tbreak\n\n\t\t\tcase 'NO_SKILLS_REGISTERED':\n\t\t\t\tmessage = `Whoa! Looks like you haven't registered your skill yet! Try \\`spruce register\\` to get that done!`\n\t\t\t\tbreak\n\n\t\t\tcase 'COMMAND_BLOCKED':\n\t\t\t\tmessage = `${options.command} is blocked! ${options.hint}`\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_VIEW_EXISTS':\n\t\t\t\tmessage = `A skill view controller already exists named ${options.name}!`\n\t\t\t\tbreak\n\n\t\t\tcase 'THEME_EXISTS':\n\t\t\t\tmessage = `Yikes! You can't create a new theme. One per skill for now.`\n\t\t\t\tbreak\n\n\t\t\tcase 'CACHE_NOT_ENABLED':\n\t\t\t\tmessage = \"Cache is not enabled, so it can't be disabled!\"\n\t\t\t\tbreak\n\n\t\t\tcase 'DOCKER_NOT_STARTED':\n\t\t\t\tmessage = 'Docker has not been started! Start it and try again!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_TEMPLATE_ITEM_BUILDING_FAILED':\n\t\t\t\tmessage = `Failed to build schema template item for '${namesUtil.toPascal(\n\t\t\t\t\toptions.schemaNamespace\n\t\t\t\t)}.${options.schemaId}'. The field I had an issue on was '${\n\t\t\t\t\toptions.fieldName\n\t\t\t\t}'. It's options are:\\n\\n${JSON.stringify(\n\t\t\t\t\toptions.fieldOptions\n\t\t\t\t)}.\\n\\nChances are you have a circular reference in your schemas. You'll need to extract shared fields to a new file and have your schemas mix those in, vs referencing eath other.`\n\t\t\t\tbreak\n\n\t\t\tcase 'ACTION_CANCELLED':\n\t\t\t\tmessage = 'A Action cancelled just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'TRANSPORT_ALREADY_EXISTS':\n\t\t\t\tmessage = `A transport named '${options.name}' already exists!`\n\t\t\t\tbreak\n\n\t\t\tcase 'DEPENDENCY_EXISTS':\n\t\t\t\tmessage = `You already have ${options.namespace} as a dependency!`\n\t\t\t\tbreak\n\n\t\t\tcase 'VIEW_PLUGIN_ALREADY_EXISTS':\n\t\t\t\tmessage = `A view plugin by the name ${options.name} already exists!`\n\t\t\t\tbreak\n\n\t\t\tdefault:\n\t\t\t\tmessage = super.friendlyMessage()\n\t\t}\n\n\t\treturn message\n\t}\n\n\tprivate cleanStdErr(stderr: string) {\n\t\treturn stderr.replace('warning package.json: No license field', '').trim()\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SpruceError.js","names":["_error","_interopRequireDefault","require","_spruceSkillUtils","_upperFirst","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_callSuper","t","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","valueOf","SpruceError","exports","_AbstractSpruceError","_classCallCheck2","arguments","_inherits2","_createClass2","key","friendlyMessage","_options$friendlyMess","_options$originalErro2","_options$originalErro3","_options$friendlyMess2","_options$originalErro4","_options$originalErro5","_options$originalErro7","_ref","_options$friendlyMess3","_options$originalErro8","_options$friendlyMess4","_options$originalErro9","options","message","code","args","concat","join","originalError","_options$originalErro","stack","command","file","pattern","_options$originalErro6","cmd","cwd","stderr","cleanStdErr","stdout","schemaId","destination","featureCode","fileName","testName","errorMessage","split","map","line","upperFirst","errors","responseErrors","errorMessages","_iterator","_step","push","fullyQualifiedEventName","brokenProperty","dependencies","d","hint","namesUtil","toPascal","schemaNamespace","fieldName","JSON","stringify","fieldOptions","namespace","_get2","replace","trim","AbstractSpruceError"],"sources":["../../src/errors/SpruceError.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport upperFirst from 'lodash/upperFirst'\nimport ErrorOptions from '#spruce/errors/options.types'\n\nexport default class SpruceError extends AbstractSpruceError<ErrorOptions> {\n\t/** An easy to understand version of the errors */\n\tpublic friendlyMessage(): string {\n\t\tconst { options } = this\n\t\tlet message\n\n\t\tswitch (options?.code) {\n\t\t\tcase 'INVALID_COMMAND':\n\t\t\t\tif (!options.args || options.args.length === 0) {\n\t\t\t\t\tmessage = `Hey friend 👋.. I don't support the command you tried.`\n\t\t\t\t} else {\n\t\t\t\t\tmessage = `Hey friend 👋. I don't know the command: ${options.args.join(\n\t\t\t\t\t\t' '\n\t\t\t\t\t)}.`\n\t\t\t\t}\n\t\t\t\tmessage += ' Try running `spruce --help`'\n\t\t\t\tbreak\n\n\t\t\tcase 'GENERIC':\n\t\t\t\tmessage = options.friendlyMessage ?? 'Oh shoot! 🤔'\n\n\t\t\t\tif (options.originalError) {\n\t\t\t\t\tmessage += `\\n\\n${\n\t\t\t\t\t\toptions.originalError.stack ?? options.originalError.name\n\t\t\t\t\t}`\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'NOT_IMPLEMENTED':\n\t\t\t\tmessage = ''\n\t\t\t\tif (options.friendlyMessage) {\n\t\t\t\t\tmessage += `\\n\\n${options.friendlyMessage}`\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'COMMAND_NOT_IMPLEMENTED':\n\t\t\t\tmessage = `${options.command} has not yet been implemented. ${\n\t\t\t\t\toptions.args ? `Args: ${options.args.join(', ')}` : ''\n\t\t\t\t}`\n\t\t\t\tif (options.friendlyMessage) {\n\t\t\t\t\tmessage += `\\n\\n${options.friendlyMessage}`\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_FAILED_TO_IMPORT':\n\t\t\t\tmessage = `Error importing \"${options.file}\". Original error:\\n\\n${\n\t\t\t\t\toptions.originalError?.message ?? '**MISSING**'\n\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'BUILD_FAILED':\n\t\t\t\tmessage = `Build${\n\t\t\t\t\toptions.file ? `ing ${options.file}` : ''\n\t\t\t\t} failed. It looks like you're not running 'yarn watch'. Run it and then run 'spruce all:sync'.`\n\n\t\t\t\tbreak\n\n\t\t\tcase 'FAILED_TO_IMPORT':\n\t\t\t\tmessage =\n\t\t\t\t\toptions.friendlyMessage ??\n\t\t\t\t\t`Failed to import \"${options.file}\". Original error:\\n\\n${\n\t\t\t\t\t\toptions.originalError?.message ?? '**MISSING**'\n\t\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'LINT_FAILED':\n\t\t\t\tmessage = options.friendlyMessage\n\n\t\t\t\tif (!message) {\n\t\t\t\t\tmessage = `Lint failed on pattern ${options.pattern}.`\n\n\t\t\t\t\tif (options.originalError) {\n\t\t\t\t\t\tmessage += `\\n\\nOriginal error:${\n\t\t\t\t\t\t\toptions.originalError.stack ?? options.originalError.message\n\t\t\t\t\t\t}`\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'EXECUTING_COMMAND_FAILED':\n\t\t\t\tif (this.originalError && this.originalError.message) {\n\t\t\t\t\tmessage = this.originalError.message + '\\n\\n'\n\t\t\t\t} else {\n\t\t\t\t\tmessage = ''\n\t\t\t\t}\n\t\t\t\tmessage += `Executing command failed '${options.cmd}'.\\n\\n`\n\t\t\t\tif (options.cwd) {\n\t\t\t\t\tmessage += `cwd: ${options.cwd}\\n\\n`\n\t\t\t\t}\n\n\t\t\t\tif (options.stderr) {\n\t\t\t\t\tmessage += this.cleanStdErr(options.stderr) + '\\n\\n'\n\t\t\t\t}\n\n\t\t\t\tif (options.stdout) {\n\t\t\t\t\tmessage += options.stdout\n\t\t\t\t}\n\n\t\t\t\tbreak\n\n\t\t\tcase 'CREATE_AUTOLOADER_FAILED':\n\t\t\t\tmessage = 'A Could not create an autoloader just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'DIRECTORY_EMPTY':\n\t\t\t\tmessage = 'A directory empty just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'FILE_EXISTS':\n\t\t\t\tmessage = 'A fail already exists.'\n\t\t\t\tbreak\n\n\t\t\tcase 'VSCODE_NOT_INSTALLED':\n\t\t\t\tmessage =\n\t\t\t\t\t\"vscode's 'code' is not installed.\\n\\nMac instructions: https://code.visualstudio.com/docs/setup/mac\\n\\nLinux instructions: https://code.visualstudio.com/docs/setup/linux\\n\\nWindows instructions: https://code.visualstudio.com/docs/setup/windows\"\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_EXISTS':\n\t\t\t\tmessage = `A schema called ${options.schemaId} already exists at ${options.destination}`\n\t\t\t\tbreak\n\n\t\t\tcase 'COMMAND_ABORTED':\n\t\t\t\tmessage = 'Aborted! See ya later! ✌️'\n\t\t\t\tbreak\n\n\t\t\tcase 'INVALID_FEATURE_CODE':\n\t\t\t\tmessage = `Oh no! I couldn't find a feature with the code '${options.featureCode}'.`\n\t\t\t\tbreak\n\n\t\t\tcase 'TEST_FAILED':\n\t\t\t\tmessage = `${options.fileName}\\n - ${\n\t\t\t\t\toptions.testName\n\t\t\t\t}\\n\\n${options.errorMessage\n\t\t\t\t\t.split('\\n')\n\t\t\t\t\t.map((line) => ` ${line}`)\n\t\t\t\t\t.join('\\n')}`\n\n\t\t\t\tbreak\n\n\t\t\tcase 'FEATURE_NOT_INSTALLED':\n\t\t\t\tmessage = `\\`${upperFirst(\n\t\t\t\t\toptions.featureCode\n\t\t\t\t)}\\` feature is not installed. Install it first, then try again.`\n\t\t\t\tbreak\n\n\t\t\tcase 'MERCURY_RESPONSE_ERROR': {\n\t\t\t\tconst errors = options.responseErrors\n\t\t\t\tmessage = `Got ${\n\t\t\t\t\terrors.length === 1 ? 'an error' : `${errors.length} errors`\n\t\t\t\t} from the server:\\n\\n`\n\n\t\t\t\tconst errorMessages: string[] = []\n\t\t\t\tfor (const err of errors) {\n\t\t\t\t\terrorMessages.push(err.message)\n\t\t\t\t}\n\n\t\t\t\tmessage += errorMessages.join('\\n')\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'INVALID_TEST_DIRECTORY':\n\t\t\t\tmessage = `You are missing dependencies I need to run tests. Try \\`spruce test.install\\` to reinstall.`\n\t\t\t\tbreak\n\n\t\t\tcase 'DIRECTORY_NOT_SKILL':\n\t\t\t\tmessage = 'The directory you are in is not a skill!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_NOT_REGISTERED':\n\t\t\t\tmessage = `Dang! I can't continue until you register your skill! Run \\`spruce login\\` and then \\`spruce register.skill\\` to get the ball rolling!`\n\t\t\t\tbreak\n\n\t\t\tcase 'NO_ORGANIZATIONS_FOUND':\n\t\t\t\tmessage =\n\t\t\t\t\t\"It looks like you don't have any organizations setup yet. Try `spruce create.organization` first.\"\n\t\t\t\tbreak\n\n\t\t\tcase 'INVALID_EVENT_CONTRACT':\n\t\t\t\tmessage = `The event named \\`${options.fullyQualifiedEventName}\\` is not valid. Check ${options.brokenProperty}. The original error is:\\n\\n${options.originalError?.message}`\n\t\t\t\tbreak\n\n\t\t\tcase 'BOOT_ERROR':\n\t\t\t\tmessage = `Booting your skill failed: ${\n\t\t\t\t\toptions.friendlyMessage ??\n\t\t\t\t\toptions.originalError?.message ??\n\t\t\t\t\t'Not sure why, tho.'\n\t\t\t\t}`\n\t\t\t\tbreak\n\n\t\t\tcase 'DEPLOY_FAILED':\n\t\t\t\tmessage = 'Deploy halted!'\n\t\t\t\tbreak\n\n\t\t\tcase 'MISSING_DEPENDENCIES':\n\t\t\t\tmessage = `Looks like you're missing some dependencies:\\n\\n${options.dependencies\n\t\t\t\t\t.map((d) => `${d.name}: ${d.hint}`)\n\t\t\t\t\t.join('\\n')}`\n\t\t\t\tbreak\n\n\t\t\tcase 'STORE_EXISTS':\n\t\t\t\tmessage = 'A Store exists just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'NOT_LOGGED_IN':\n\t\t\t\tmessage = 'You have to be logged in to do that!'\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_NOT_FOUND':\n\t\t\t\tmessage = options.friendlyMessage ?? `I couldn't find that skill!`\n\t\t\t\tbreak\n\n\t\t\tcase 'NO_SKILLS_REGISTERED':\n\t\t\t\tmessage = `Whoa! Looks like you haven't registered your skill yet! Try \\`spruce register\\` to get that done!`\n\t\t\t\tbreak\n\n\t\t\tcase 'COMMAND_BLOCKED':\n\t\t\t\tmessage = `${options.command} is blocked! ${options.hint}`\n\t\t\t\tbreak\n\n\t\t\tcase 'SKILL_VIEW_EXISTS':\n\t\t\t\tmessage = `A skill view controller already exists named ${options.name}!`\n\t\t\t\tbreak\n\n\t\t\tcase 'THEME_EXISTS':\n\t\t\t\tmessage = `Yikes! You can't create a new theme. One per skill for now.`\n\t\t\t\tbreak\n\n\t\t\tcase 'CACHE_NOT_ENABLED':\n\t\t\t\tmessage = \"Cache is not enabled, so it can't be disabled!\"\n\t\t\t\tbreak\n\n\t\t\tcase 'DOCKER_NOT_STARTED':\n\t\t\t\tmessage =\n\t\t\t\t\t'Docker has not been started (or you are trying to run this command in a monorepo)! Start it and try again (or move out of a monorepo)! Originial error:\\n\\n' +\n\t\t\t\t\toptions.originalError?.stack\n\t\t\t\tbreak\n\n\t\t\tcase 'SCHEMA_TEMPLATE_ITEM_BUILDING_FAILED':\n\t\t\t\tmessage = `Failed to build schema template item for '${namesUtil.toPascal(\n\t\t\t\t\toptions.schemaNamespace\n\t\t\t\t)}.${options.schemaId}'. The field I had an issue on was '${\n\t\t\t\t\toptions.fieldName\n\t\t\t\t}'. It's options are:\\n\\n${JSON.stringify(\n\t\t\t\t\toptions.fieldOptions\n\t\t\t\t)}.\\n\\nChances are you have a circular reference in your schemas. You'll need to extract shared fields to a new file and have your schemas mix those in, vs referencing eath other.`\n\t\t\t\tbreak\n\n\t\t\tcase 'ACTION_CANCELLED':\n\t\t\t\tmessage = 'A Action cancelled just happened!'\n\t\t\t\tbreak\n\n\t\t\tcase 'TRANSPORT_ALREADY_EXISTS':\n\t\t\t\tmessage = `A transport named '${options.name}' already exists!`\n\t\t\t\tbreak\n\n\t\t\tcase 'DEPENDENCY_EXISTS':\n\t\t\t\tmessage = `You already have ${options.namespace} as a dependency!`\n\t\t\t\tbreak\n\n\t\t\tcase 'VIEW_PLUGIN_ALREADY_EXISTS':\n\t\t\t\tmessage = `A view plugin by the name ${options.name} already exists!`\n\t\t\t\tbreak\n\n\t\t\tdefault:\n\t\t\t\tmessage = super.friendlyMessage()\n\t\t}\n\n\t\treturn message\n\t}\n\n\tprivate cleanStdErr(stderr: string) {\n\t\treturn stderr.replace('warning package.json: No license field', '').trim()\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -67,6 +67,7 @@ var EnableCacheAction = exports["default"] = /*#__PURE__*/function (_AbstractAct
67
67
  if ((_err$options = _context.t0.options) !== null && _err$options !== void 0 && (_err$options = _err$options.cmd) !== null && _err$options !== void 0 && _err$options.includes('which')) {
68
68
  error = new _SpruceError["default"]({
69
69
  code: 'MISSING_DEPENDENCIES',
70
+ originalError: _context.t0,
70
71
  dependencies: [{
71
72
  name: 'Docker',
72
73
  hint: 'Get Docker here: https://www.docker.com/products/docker-desktop'
@@ -74,7 +75,8 @@ var EnableCacheAction = exports["default"] = /*#__PURE__*/function (_AbstractAct
74
75
  });
75
76
  } else {
76
77
  error = new _SpruceError["default"]({
77
- code: 'DOCKER_NOT_STARTED'
78
+ code: 'DOCKER_NOT_STARTED',
79
+ originalError: _context.t0
78
80
  });
79
81
  }
80
82
  return _context.abrupt("return", {
@@ -1 +1 @@
1
- {"version":3,"file":"EnableAction.js","names":["_schema","require","_SpruceError","_interopRequireDefault","_AbstractAction2","_constants","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","optionsSchema","buildSchema","id","description","fields","EnableCacheAction","exports","_AbstractAction","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_inherits2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","_err$options","error","wrap","_callee$","_context","prev","next","Service","execute","Action","ENABLE_NPM_CACHE_COMMAND","abrupt","headline","summaryLines","t0","options","cmd","includes","SpruceError","code","dependencies","name","hint","errors","stop","_x","AbstractAction"],"sources":["../../../../src/features/cache/actions/EnableAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { ENABLE_NPM_CACHE_COMMAND } from '../constants'\n\nconst optionsSchema = buildSchema({\n\tid: 'enableCacheAction',\n\tdescription: 'Enable npm caching so pulling node_modules is much faster.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class EnableCacheAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = [\n\t\t'enable.cache',\n\t\t'start.cache',\n\t\t'enable.caching',\n\t\t'start.caching',\n\t]\n\tpublic invocationMessage = 'Enabling cache... 💪'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tawait this.Service('command').execute('which docker')\n\n\t\t\tawait this.Action('cache', 'disable').execute({})\n\t\t\tawait this.Service('command').execute(ENABLE_NPM_CACHE_COMMAND)\n\n\t\t\treturn {\n\t\t\t\theadline: 'Starting cache',\n\t\t\t\tsummaryLines: ['Booting cache systems now. Give it a sec!'],\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tlet error = err\n\t\t\tif (err.options?.cmd?.includes('which')) {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Docker',\n\t\t\t\t\t\t\thint: 'Get Docker here: https://www.docker.com/products/docker-desktop',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\terror = new SpruceError({ code: 'DOCKER_NOT_STARTED' })\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\terrors: [error],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EnableAction.js","names":["_schema","require","_SpruceError","_interopRequireDefault","_AbstractAction2","_constants","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","optionsSchema","buildSchema","id","description","fields","EnableCacheAction","exports","_AbstractAction","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","_inherits2","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","_err$options","error","wrap","_callee$","_context","prev","next","Service","execute","Action","ENABLE_NPM_CACHE_COMMAND","abrupt","headline","summaryLines","t0","options","cmd","includes","SpruceError","code","originalError","dependencies","name","hint","errors","stop","_x","AbstractAction"],"sources":["../../../../src/features/cache/actions/EnableAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\nimport { ENABLE_NPM_CACHE_COMMAND } from '../constants'\n\nconst optionsSchema = buildSchema({\n\tid: 'enableCacheAction',\n\tdescription: 'Enable npm caching so pulling node_modules is much faster.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\ntype Options = SchemaValues<OptionsSchema>\n\nexport default class EnableCacheAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic commandAliases = [\n\t\t'enable.cache',\n\t\t'start.cache',\n\t\t'enable.caching',\n\t\t'start.caching',\n\t]\n\tpublic invocationMessage = 'Enabling cache... 💪'\n\n\tpublic async execute(_options: Options): Promise<FeatureActionResponse> {\n\t\ttry {\n\t\t\tawait this.Service('command').execute('which docker')\n\n\t\t\tawait this.Action('cache', 'disable').execute({})\n\t\t\tawait this.Service('command').execute(ENABLE_NPM_CACHE_COMMAND)\n\n\t\t\treturn {\n\t\t\t\theadline: 'Starting cache',\n\t\t\t\tsummaryLines: ['Booting cache systems now. Give it a sec!'],\n\t\t\t}\n\t\t} catch (err: any) {\n\t\t\tlet error = err\n\n\t\t\tif (err.options?.cmd?.includes('which')) {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'MISSING_DEPENDENCIES',\n\t\t\t\t\toriginalError: err,\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'Docker',\n\t\t\t\t\t\t\thint: 'Get Docker here: https://www.docker.com/products/docker-desktop',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\terror = new SpruceError({\n\t\t\t\t\tcode: 'DOCKER_NOT_STARTED',\n\t\t\t\t\toriginalError: err,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\terrors: [error],\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -85,6 +85,8 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
85
85
  viewPluginItems.push(plugin);
86
86
  } else if (svc) {
87
87
  svcTemplateItems.push(svc);
88
+ } else {
89
+ throw new Error('Unexpected class type.');
88
90
  }
89
91
  }
90
92
  } catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"SyncAction.js","names":["_globby","_interopRequireDefault","require","_schema","_spruceSkillUtils","_introspection","_AbstractAction2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","SyncAction","exports","_AbstractAction","_this","_classCallCheck2","_len","args","_key","concat","optionsSchema","_inherits2","_createClass2","key","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","_this2","targetDir","matches","paths","introspect","vcTemplateItems","svcTemplateItems","viewPluginItems","namespace","files","wrap","_callee$","_context","prev","diskUtil","resolvePath","cwd","globby","sent","abrupt","map","m","introspectionUtil","_ref","classes","_iterator","_step","thisClass","_this2$mapIntrospecte","mapIntrospectedClassToTemplateItem","vc","svc","plugin","Store","loadCurrentSkillsNamespace","Writer","writeCombinedViewsFile","namespaceKebab","namesUtil","toKebab","stop","execute","_x","c","item","id","staticProperties","namePascal","className","path","classPath","endsWith","nameCamel","match","AbstractAction","buildSchema","description","fields"],"sources":["../../../../src/features/view/actions/SyncAction.ts"],"sourcesContent":["import globby from '@sprucelabs/globby'\nimport { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tVcTemplateItem,\n\tViewControllerPluginItem,\n} from '../../../../../spruce-templates/build'\nimport introspectionUtil, {\n\tIntrospectionClass,\n} from '../../../utilities/introspection.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.views']\n\tpublic invocationMessage = 'Syncing view controller types... 🌲'\n\n\tpublic async execute(\n\t\t_options: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tconst targetDir = diskUtil.resolvePath(this.cwd, 'src')\n\t\tconst matches = await globby(\n\t\t\t['**/*.svc.ts', '**/*.vc.ts', '**/*.view.plugin.ts'],\n\t\t\t{\n\t\t\t\tcwd: targetDir,\n\t\t\t}\n\t\t)\n\n\t\tif (matches.length === 0) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst paths = matches.map((m) => diskUtil.resolvePath(targetDir, m))\n\t\tconst introspect = introspectionUtil.introspect(paths)\n\n\t\tconst vcTemplateItems: VcTemplateItem[] = []\n\t\tconst svcTemplateItems: VcTemplateItem[] = []\n\t\tconst viewPluginItems: ViewControllerPluginItem[] = []\n\n\t\tintrospect.forEach(({ classes }) => {\n\t\t\tfor (const thisClass of classes) {\n\t\t\t\tconst { vc, svc, plugin } =\n\t\t\t\t\tthis.mapIntrospectedClassToTemplateItem(thisClass)\n\n\t\t\t\tif (vc) {\n\t\t\t\t\tvcTemplateItems.push(vc)\n\t\t\t\t} else if (plugin) {\n\t\t\t\t\tviewPluginItems.push(plugin)\n\t\t\t\t} else if (svc) {\n\t\t\t\t\tsvcTemplateItems.push(svc)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tconst namespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tconst files = await this.Writer('view').writeCombinedViewsFile(this.cwd, {\n\t\t\tnamespaceKebab: namesUtil.toKebab(namespace),\n\t\t\tvcTemplateItems,\n\t\t\tsvcTemplateItems,\n\t\t\tviewPluginItems,\n\t\t})\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate mapIntrospectedClassToTemplateItem(c: IntrospectionClass): {\n\t\tvc?: VcTemplateItem\n\t\tsvc?: VcTemplateItem\n\t\tplugin?: ViewControllerPluginItem\n\t} {\n\t\tconst item = {\n\t\t\tid: c.staticProperties.id,\n\t\t\tnamePascal: c.className,\n\t\t\tpath: c.classPath,\n\t\t}\n\n\t\tlet vc: VcTemplateItem | undefined\n\t\tlet svc: VcTemplateItem | undefined\n\t\tlet plugin: ViewControllerPluginItem | undefined\n\n\t\tif (c.classPath.endsWith('.svc.ts')) {\n\t\t\tsvc = item\n\t\t} else if (c.classPath.endsWith('view.plugin.ts')) {\n\t\t\tconst nameCamel = c.classPath.match(/([^/]+).view.plugin.ts$/)![1]\n\t\t\tplugin = { ...item, nameCamel }\n\t\t} else {\n\t\t\tvc = item\n\t\t}\n\n\t\treturn { svc, vc, plugin }\n\t}\n}\n\nconst optionsSchema = buildSchema({\n\tid: 'syncViewsOptions',\n\tdescription: 'Keep types and generated files based on views in sync.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SyncAction.js","names":["_globby","_interopRequireDefault","require","_schema","_spruceSkillUtils","_introspection","_AbstractAction2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","SyncAction","exports","_AbstractAction","_this","_classCallCheck2","_len","args","_key","concat","optionsSchema","_inherits2","_createClass2","key","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","_this2","targetDir","matches","paths","introspect","vcTemplateItems","svcTemplateItems","viewPluginItems","namespace","files","wrap","_callee$","_context","prev","diskUtil","resolvePath","cwd","globby","sent","abrupt","map","m","introspectionUtil","_ref","classes","_iterator","_step","thisClass","_this2$mapIntrospecte","mapIntrospectedClassToTemplateItem","vc","svc","plugin","Error","Store","loadCurrentSkillsNamespace","Writer","writeCombinedViewsFile","namespaceKebab","namesUtil","toKebab","stop","execute","_x","c","item","id","staticProperties","namePascal","className","path","classPath","endsWith","nameCamel","match","AbstractAction","buildSchema","description","fields"],"sources":["../../../../src/features/view/actions/SyncAction.ts"],"sourcesContent":["import globby from '@sprucelabs/globby'\nimport { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { diskUtil, namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tVcTemplateItem,\n\tViewControllerPluginItem,\n} from '../../../../../spruce-templates/build'\nimport introspectionUtil, {\n\tIntrospectionClass,\n} from '../../../utilities/introspection.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport default class SyncAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['sync.views']\n\tpublic invocationMessage = 'Syncing view controller types... 🌲'\n\n\tpublic async execute(\n\t\t_options: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tconst targetDir = diskUtil.resolvePath(this.cwd, 'src')\n\t\tconst matches = await globby(\n\t\t\t['**/*.svc.ts', '**/*.vc.ts', '**/*.view.plugin.ts'],\n\t\t\t{\n\t\t\t\tcwd: targetDir,\n\t\t\t}\n\t\t)\n\n\t\tif (matches.length === 0) {\n\t\t\treturn {}\n\t\t}\n\n\t\tconst paths = matches.map((m) => diskUtil.resolvePath(targetDir, m))\n\t\tconst introspect = introspectionUtil.introspect(paths)\n\n\t\tconst vcTemplateItems: VcTemplateItem[] = []\n\t\tconst svcTemplateItems: VcTemplateItem[] = []\n\t\tconst viewPluginItems: ViewControllerPluginItem[] = []\n\n\t\tintrospect.forEach(({ classes }) => {\n\t\t\tfor (const thisClass of classes) {\n\t\t\t\tconst { vc, svc, plugin } =\n\t\t\t\t\tthis.mapIntrospectedClassToTemplateItem(thisClass)\n\n\t\t\t\tif (vc) {\n\t\t\t\t\tvcTemplateItems.push(vc)\n\t\t\t\t} else if (plugin) {\n\t\t\t\t\tviewPluginItems.push(plugin)\n\t\t\t\t} else if (svc) {\n\t\t\t\t\tsvcTemplateItems.push(svc)\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error('Unexpected class type.')\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tconst namespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tconst files = await this.Writer('view').writeCombinedViewsFile(this.cwd, {\n\t\t\tnamespaceKebab: namesUtil.toKebab(namespace),\n\t\t\tvcTemplateItems,\n\t\t\tsvcTemplateItems,\n\t\t\tviewPluginItems,\n\t\t})\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n\n\tprivate mapIntrospectedClassToTemplateItem(c: IntrospectionClass): {\n\t\tvc?: VcTemplateItem\n\t\tsvc?: VcTemplateItem\n\t\tplugin?: ViewControllerPluginItem\n\t} {\n\t\tconst item = {\n\t\t\tid: c.staticProperties.id,\n\t\t\tnamePascal: c.className,\n\t\t\tpath: c.classPath,\n\t\t}\n\n\t\tlet vc: VcTemplateItem | undefined\n\t\tlet svc: VcTemplateItem | undefined\n\t\tlet plugin: ViewControllerPluginItem | undefined\n\n\t\tif (c.classPath.endsWith('.svc.ts')) {\n\t\t\tsvc = item\n\t\t} else if (c.classPath.endsWith('view.plugin.ts')) {\n\t\t\tconst nameCamel = c.classPath.match(/([^/]+).view.plugin.ts$/)![1]\n\t\t\tplugin = { ...item, nameCamel }\n\t\t} else {\n\t\t\tvc = item\n\t\t}\n\n\t\treturn { svc, vc, plugin }\n\t}\n}\n\nconst optionsSchema = buildSchema({\n\tid: 'syncViewsOptions',\n\tdescription: 'Keep types and generated files based on views in sync.',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,11 @@
1
+ import * as ts from 'typescript';
2
+ declare const introspectionUtil: {
3
+ introspect(tsFiles: string[]): Introspection[];
4
+ getExports(sourceFile: ts.SourceFile): ts.Node[];
5
+ getClassDeclarationFromImportedFile(exportDeclaration: ts.Node, dirName: string, program: ts.Program): ts.ClassDeclaration | undefined;
6
+ hasClassDefinition(sourceFile: ts.SourceFile): boolean;
7
+ };
8
+ export default introspectionUtil;
1
9
  export interface IntrospectionClass {
2
10
  className: string;
3
11
  classPath: string;
@@ -15,7 +23,3 @@ export interface Introspection {
15
23
  classes: IntrospectionClass[];
16
24
  interfaces: IntrospectionInterface[];
17
25
  }
18
- declare const introspectionUtil: {
19
- introspect(tsFiles: string[]): Introspection[];
20
- };
21
- export default introspectionUtil;
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _path = require("path");
11
+ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
9
12
  var _lodash = _interopRequireDefault(require("lodash"));
10
13
  var tsutils = _interopRequireWildcard(require("tsutils"));
11
14
  var ts = _interopRequireWildcard(require("typescript"));
@@ -42,6 +45,7 @@ var serializeSignature = function serializeSignature(options) {
42
45
  };
43
46
  var introspectionUtil = {
44
47
  introspect: function introspect(tsFiles) {
48
+ var _this = this;
45
49
  var filePaths = tsFiles;
46
50
  var program = ts.createProgram(filePaths, {});
47
51
  var checker = program.getTypeChecker();
@@ -56,49 +60,46 @@ var introspectionUtil = {
56
60
  interfaces: []
57
61
  };
58
62
  if (sourceFile && _lodash["default"].includes(filePaths, sourceFile.fileName)) {
59
- ts.forEachChild(sourceFile, function (node) {
60
- // if this is a class declaration
61
- if (ts.isClassDeclaration(node) && node.name) {
62
- var symbol = checker.getSymbolAtLocation(node.name);
63
- if (symbol !== null && symbol !== void 0 && symbol.valueDeclaration) {
64
- var _parentClassSymbol, _parentClassSymbol2, _details$constructors;
65
- var details = serializeSymbol({
66
- checker: checker,
67
- symbol: symbol
68
- });
69
- // Get the construct signatures
70
- var constructorType = checker.getTypeOfSymbolAtLocation(symbol, symbol.valueDeclaration);
71
- var parentClassSymbol;
72
- if (node.heritageClauses && node.heritageClauses[0]) {
73
- parentClassSymbol = checker.getTypeAtLocation(node.heritageClauses[0].types[0]).getSymbol();
74
- }
75
- var parentClassName = // @ts-ignore
76
- (_parentClassSymbol = parentClassSymbol) === null || _parentClassSymbol === void 0 || (_parentClassSymbol = _parentClassSymbol.valueDeclaration) === null || _parentClassSymbol === void 0 || (_parentClassSymbol = _parentClassSymbol.name) === null || _parentClassSymbol === void 0 ? void 0 : _parentClassSymbol.text;
77
- // @ts-ignore
78
- var parentClassPath = (_parentClassSymbol2 = parentClassSymbol) === null || _parentClassSymbol2 === void 0 || (_parentClassSymbol2 = _parentClassSymbol2.parent) === null || _parentClassSymbol2 === void 0 ? void 0 : _parentClassSymbol2.getName().replace('"', '');
79
- var isAbstractClass = tsutils.isModifierFlagSet(node, ts.ModifierFlags.Abstract);
80
- details.constructors = constructorType.getConstructSignatures().map(function (s) {
81
- return serializeSignature({
82
- signature: s,
83
- checker: checker
63
+ if (!_this.hasClassDefinition(sourceFile)) {
64
+ var exports = _this.getExports(sourceFile);
65
+ var firstExport = exports[0];
66
+ if (firstExport) {
67
+ var declaration = _this.getClassDeclarationFromImportedFile(firstExport, (0, _path.dirname)(tsFile), program);
68
+ if (declaration) {
69
+ var _results$classes, _results$interfaces;
70
+ var _getDeclarationsFromN = getDeclarationsFromNode(declaration, checker, sourceFile),
71
+ classes = _getDeclarationsFromN.classes,
72
+ interfaces = _getDeclarationsFromN.interfaces;
73
+ (_results$classes = results.classes).push.apply(_results$classes, (0, _toConsumableArray2["default"])(classes));
74
+ (_results$interfaces = results.interfaces).push.apply(_results$interfaces, (0, _toConsumableArray2["default"])(interfaces));
75
+ } else {
76
+ var _firstExport$exportCl;
77
+ // must have imported from somewhere else (another node module)
78
+ var className = //@ts-ignore
79
+ (_firstExport$exportCl = firstExport.exportClause) === null || _firstExport$exportCl === void 0 || (_firstExport$exportCl = _firstExport$exportCl.elements) === null || _firstExport$exportCl === void 0 || (_firstExport$exportCl = _firstExport$exportCl[0]) === null || _firstExport$exportCl === void 0 || (_firstExport$exportCl = _firstExport$exportCl.propertyName) === null || _firstExport$exportCl === void 0 ? void 0 : _firstExport$exportCl.text;
80
+ if (className) {
81
+ results.classes.push({
82
+ className: className,
83
+ classPath: tsFile,
84
+ isAbstract: false,
85
+ optionsInterfaceName: undefined,
86
+ parentClassName: undefined,
87
+ parentClassPath: undefined,
88
+ staticProperties: {}
84
89
  });
85
- });
86
- results.classes.push({
87
- className: node.name.text,
88
- classPath: sourceFile.fileName,
89
- parentClassName: parentClassName,
90
- parentClassPath: parentClassPath,
91
- staticProperties: pluckStaticProperties(node),
92
- optionsInterfaceName: (_details$constructors = details.constructors) === null || _details$constructors === void 0 || (_details$constructors = _details$constructors[0].parameters) === null || _details$constructors === void 0 || (_details$constructors = _details$constructors[0]) === null || _details$constructors === void 0 ? void 0 : _details$constructors.type,
93
- isAbstract: isAbstractClass
94
- });
90
+ }
95
91
  }
96
- } else if (ts.isInterfaceDeclaration(node)) {
97
- results.interfaces.push({
98
- interfaceName: node.name.text
99
- });
100
92
  }
101
- });
93
+ } else {
94
+ ts.forEachChild(sourceFile, function (node) {
95
+ var _results$classes2, _results$interfaces2;
96
+ var _getDeclarationsFromN2 = getDeclarationsFromNode(node, checker, sourceFile),
97
+ classes = _getDeclarationsFromN2.classes,
98
+ interfaces = _getDeclarationsFromN2.interfaces;
99
+ (_results$classes2 = results.classes).push.apply(_results$classes2, (0, _toConsumableArray2["default"])(classes));
100
+ (_results$interfaces2 = results.interfaces).push.apply(_results$interfaces2, (0, _toConsumableArray2["default"])(interfaces));
101
+ });
102
+ }
102
103
  }
103
104
  introspects.push(results);
104
105
  };
@@ -106,17 +107,159 @@ var introspectionUtil = {
106
107
  _loop();
107
108
  }
108
109
  return introspects;
110
+ },
111
+ getExports: function getExports(sourceFile) {
112
+ var exports = [];
113
+ var traverse = function traverse(node) {
114
+ if (ts.isExportDeclaration(node)) {
115
+ exports.push(node);
116
+ }
117
+ ts.forEachChild(node, traverse);
118
+ };
119
+ traverse(sourceFile);
120
+ return exports;
121
+ },
122
+ getClassDeclarationFromImportedFile: function getClassDeclarationFromImportedFile(exportDeclaration, dirName, program) {
123
+ if (!ts.isExportDeclaration(exportDeclaration)) {
124
+ return undefined;
125
+ }
126
+ var exportClause = exportDeclaration.exportClause;
127
+ if (!exportClause || !ts.isNamedExports(exportClause)) {
128
+ return undefined;
129
+ }
130
+ var _iterator = _createForOfIteratorHelper(exportClause.elements),
131
+ _step;
132
+ try {
133
+ var _loop2 = function _loop2() {
134
+ var element = _step.value;
135
+ if (element.propertyName) {
136
+ var propertyName = element.propertyName.text;
137
+ var moduleSpecifier = exportDeclaration.moduleSpecifier.text;
138
+ var sourceFile = _spruceSkillUtils.diskUtil.resolveFile(dirName, moduleSpecifier.replace(/^\.\//, ''));
139
+ if (!sourceFile) {
140
+ return {
141
+ v: undefined
142
+ };
143
+ }
144
+
145
+ // Load the source file containing the class declaration
146
+ var declarationSourceFile = program.getSourceFile(sourceFile);
147
+ if (!declarationSourceFile) {
148
+ return {
149
+ v: undefined
150
+ };
151
+ }
152
+ var traverse = function traverse(node) {
153
+ if (ts.isClassDeclaration(node) && node.name && node.name.text === propertyName) {
154
+ return node;
155
+ }
156
+ var _iterator2 = _createForOfIteratorHelper(node.getChildren(declarationSourceFile)),
157
+ _step2;
158
+ try {
159
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
160
+ var child = _step2.value;
161
+ var result = traverse(child);
162
+ if (result) {
163
+ return result;
164
+ }
165
+ }
166
+ } catch (err) {
167
+ _iterator2.e(err);
168
+ } finally {
169
+ _iterator2.f();
170
+ }
171
+ return undefined;
172
+ };
173
+ return {
174
+ v: traverse(declarationSourceFile)
175
+ };
176
+ }
177
+ },
178
+ _ret;
179
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
180
+ _ret = _loop2();
181
+ if (_ret) return _ret.v;
182
+ }
183
+ } catch (err) {
184
+ _iterator.e(err);
185
+ } finally {
186
+ _iterator.f();
187
+ }
188
+ return undefined;
189
+ },
190
+ hasClassDefinition: function hasClassDefinition(sourceFile) {
191
+ var hasClass = false;
192
+ var traverse = function traverse(node) {
193
+ if (ts.isClassDeclaration(node)) {
194
+ hasClass = true;
195
+ }
196
+ if (!hasClass) {
197
+ ts.forEachChild(node, traverse);
198
+ }
199
+ };
200
+ traverse(sourceFile);
201
+ return hasClass;
109
202
  }
110
203
  };
111
204
  var _default = exports["default"] = introspectionUtil;
205
+ function getDeclarationsFromNode(node, checker, sourceFile) {
206
+ var classes = [];
207
+ var interfaces = [];
208
+
209
+ // if this is a class declaration
210
+ if (ts.isClassDeclaration(node) && node.name) {
211
+ var symbol = checker.getSymbolAtLocation(node.name);
212
+ if (symbol !== null && symbol !== void 0 && symbol.valueDeclaration) {
213
+ var _parentClassSymbol, _parentClassSymbol2, _details$constructors;
214
+ var details = serializeSymbol({
215
+ checker: checker,
216
+ symbol: symbol
217
+ });
218
+ // Get the construct signatures
219
+ var constructorType = checker.getTypeOfSymbolAtLocation(symbol, symbol.valueDeclaration);
220
+ var parentClassSymbol;
221
+ if (node.heritageClauses && node.heritageClauses[0]) {
222
+ parentClassSymbol = checker.getTypeAtLocation(node.heritageClauses[0].types[0]).getSymbol();
223
+ }
224
+ var parentClassName = // @ts-ignore
225
+ (_parentClassSymbol = parentClassSymbol) === null || _parentClassSymbol === void 0 || (_parentClassSymbol = _parentClassSymbol.valueDeclaration) === null || _parentClassSymbol === void 0 || (_parentClassSymbol = _parentClassSymbol.name) === null || _parentClassSymbol === void 0 ? void 0 : _parentClassSymbol.text;
226
+ // @ts-ignore
227
+ var parentClassPath = (_parentClassSymbol2 = parentClassSymbol) === null || _parentClassSymbol2 === void 0 || (_parentClassSymbol2 = _parentClassSymbol2.parent) === null || _parentClassSymbol2 === void 0 ? void 0 : _parentClassSymbol2.getName().replace('"', '');
228
+ var isAbstractClass = tsutils.isModifierFlagSet(node, ts.ModifierFlags.Abstract);
229
+ details.constructors = constructorType.getConstructSignatures().map(function (s) {
230
+ return serializeSignature({
231
+ signature: s,
232
+ checker: checker
233
+ });
234
+ });
235
+ classes.push({
236
+ className: node.name.text,
237
+ classPath: sourceFile.fileName,
238
+ parentClassName: parentClassName,
239
+ parentClassPath: parentClassPath,
240
+ staticProperties: pluckStaticProperties(node),
241
+ optionsInterfaceName: (_details$constructors = details.constructors) === null || _details$constructors === void 0 || (_details$constructors = _details$constructors[0].parameters) === null || _details$constructors === void 0 || (_details$constructors = _details$constructors[0]) === null || _details$constructors === void 0 ? void 0 : _details$constructors.type,
242
+ isAbstract: isAbstractClass
243
+ });
244
+ }
245
+ } else if (ts.isInterfaceDeclaration(node)) {
246
+ interfaces.push({
247
+ interfaceName: node.name.text
248
+ });
249
+ }
250
+ return {
251
+ classes: classes,
252
+ interfaces: interfaces
253
+ };
254
+ }
112
255
  function pluckStaticProperties(node) {
113
256
  var staticProps = {};
114
- var _iterator = _createForOfIteratorHelper(node.members),
115
- _step;
257
+ var _iterator3 = _createForOfIteratorHelper(node.members),
258
+ _step3;
116
259
  try {
117
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
260
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
118
261
  var _member$name, _member$initializer;
119
- var member = _step.value;
262
+ var member = _step3.value;
120
263
  //@ts-ignore
121
264
  var name = (_member$name = member.name) === null || _member$name === void 0 ? void 0 : _member$name.escapedText;
122
265
  //@ts-ignore
@@ -126,9 +269,9 @@ function pluckStaticProperties(node) {
126
269
  }
127
270
  }
128
271
  } catch (err) {
129
- _iterator.e(err);
272
+ _iterator3.e(err);
130
273
  } finally {
131
- _iterator.f();
274
+ _iterator3.f();
132
275
  }
133
276
  return staticProps;
134
277
  }