@sprucelabs/spruce-templates 23.1.0 → 24.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/LICENSE +21 -0
  2. package/build/index.js +4 -1
  3. package/build/templates/typescript/sandbox/will-boot.listener.ts.hbs +136 -73
  4. package/build/templates/typescript/test/Test.test.ts.hbs +4 -3
  5. package/build/types/templates.types.d.ts +1 -0
  6. package/package.json +9 -9
  7. package/build/addons/eq.addon.js.map +0 -1
  8. package/build/addons/escape.addon.js.map +0 -1
  9. package/build/addons/fieldDefinitionBodyPartial.addon.js.map +0 -1
  10. package/build/addons/fieldDefinitionOptions.addon.js.map +0 -1
  11. package/build/addons/fieldTypeEnum.addon.js.map +0 -1
  12. package/build/addons/fieldValue.addon.js.map +0 -1
  13. package/build/addons/gt.addon.js.map +0 -1
  14. package/build/addons/hasKeys.addon.js.map +0 -1
  15. package/build/addons/hasNoneCoreSchemaTemplateItems.addon.js.map +0 -1
  16. package/build/addons/importRelatedSchemas.addon.js.map +0 -1
  17. package/build/addons/index.js.map +0 -1
  18. package/build/addons/isDefined.addon.js.map +0 -1
  19. package/build/addons/json.addon.js.map +0 -1
  20. package/build/addons/neq.addon.js.map +0 -1
  21. package/build/addons/operators.addon.js.map +0 -1
  22. package/build/addons/pascalCase.addon.js.map +0 -1
  23. package/build/addons/permissionContractBuilder.addon.js.map +0 -1
  24. package/build/addons/schemaBodyPartial.addon.js.map +0 -1
  25. package/build/addons/schemaNamespacePath.addon.js.map +0 -1
  26. package/build/addons/schemaValuesPartial.addon.js.map +0 -1
  27. package/build/addons/valueTypeGenerator.addon.js.map +0 -1
  28. package/build/addons/valueTypeLiteral.addon.js.map +0 -1
  29. package/build/addons/valueTypeMapper.addon.js.map +0 -1
  30. package/build/dist/templates/directories/skill/.nvmrc +0 -1
  31. package/build/dist/templates/directories/skill/README.md +0 -4
  32. package/build/dist/templates/directories/skill/eslint.config.mjs +0 -3
  33. package/build/dist/templates/directories/skill/package.json.hbs +0 -15
  34. package/build/dist/templates/directories/skill/src/errors/SpruceError.ts.hbs +0 -20
  35. package/build/dist/templates/directories/skill/tsconfig.json +0 -39
  36. package/build/dist/templates/directories/vscode/.vscode/launch.json +0 -58
  37. package/build/dist/templates/directories/vscode/.vscode/settings.json +0 -67
  38. package/build/dist/templates/directories/vscode/.vscode/tasks.json +0 -112
  39. package/build/dist/templates/typescript/conversation/conversation.plugin.ts.hbs +0 -1
  40. package/build/dist/templates/typescript/conversation/conversation.topic.ts.hbs +0 -19
  41. package/build/dist/templates/typescript/deploy/deploy.plugin.ts.hbs +0 -1
  42. package/build/dist/templates/typescript/error/SpruceError.ts.hbs +0 -31
  43. package/build/dist/templates/typescript/error/error.plugin.ts.hbs +0 -78
  44. package/build/dist/templates/typescript/error/example.ts.hbs +0 -10
  45. package/build/dist/templates/typescript/error/options.types.ts.hbs +0 -12
  46. package/build/dist/templates/typescript/event/event.contract.ts.hbs +0 -26
  47. package/build/dist/templates/typescript/event/event.options.ts.hbs +0 -11
  48. package/build/dist/templates/typescript/event/events.contract.ts.hbs +0 -24
  49. package/build/dist/templates/typescript/event/listener.ts.hbs +0 -23
  50. package/build/dist/templates/typescript/event/listeners.ts.hbs +0 -15
  51. package/build/dist/templates/typescript/event/payload.builder.ts.hbs +0 -15
  52. package/build/dist/templates/typescript/log/transport.plugin.ts.hbs +0 -14
  53. package/build/dist/templates/typescript/permissions/contract.builder.ts.hbs +0 -36
  54. package/build/dist/templates/typescript/permissions/permission.plugin.ts.hbs +0 -1
  55. package/build/dist/templates/typescript/permissions/permissions.ts.hbs +0 -13
  56. package/build/dist/templates/typescript/permissions/permissions.types.ts.hbs +0 -14
  57. package/build/dist/templates/typescript/polish/polish.ts.hbs +0 -67
  58. package/build/dist/templates/typescript/sandbox/will-boot.listener.ts.hbs +0 -109
  59. package/build/dist/templates/typescript/schema/builder.ts.hbs +0 -24
  60. package/build/dist/templates/typescript/schema/core.schemas.types.ts.hbs +0 -34
  61. package/build/dist/templates/typescript/schema/example.ts.hbs +0 -20
  62. package/build/dist/templates/typescript/schema/fields/fieldClassMap.ts.hbs +0 -16
  63. package/build/dist/templates/typescript/schema/fields/fields.types.ts.hbs +0 -1
  64. package/build/dist/templates/typescript/schema/imported.schema.ts.hbs +0 -1
  65. package/build/dist/templates/typescript/schema/partials/fieldDefinitionBody.ts.hbs +0 -12
  66. package/build/dist/templates/typescript/schema/partials/schemaBody.ts.hbs +0 -20
  67. package/build/dist/templates/typescript/schema/partials/schemaValues.ts.hbs +0 -7
  68. package/build/dist/templates/typescript/schema/schema.plugin.ts.hbs +0 -101
  69. package/build/dist/templates/typescript/schema/schema.ts.hbs +0 -12
  70. package/build/dist/templates/typescript/schema/schemas.types.ts.hbs +0 -44
  71. package/build/dist/templates/typescript/schema/valueTypes.ts.hbs +0 -67
  72. package/build/dist/templates/typescript/store/Store.store.ts.hbs +0 -95
  73. package/build/dist/templates/typescript/store/store.plugin.ts.hbs +0 -1
  74. package/build/dist/templates/typescript/store/stores.ts.hbs +0 -9
  75. package/build/dist/templates/typescript/store/stores.types.ts.hbs +0 -17
  76. package/build/dist/templates/typescript/view/App.ac.ts.hbs +0 -6
  77. package/build/dist/templates/typescript/view/View.svc.ts.hbs +0 -23
  78. package/build/dist/templates/typescript/view/View.vc.ts.hbs +0 -17
  79. package/build/dist/templates/typescript/view/skill.theme.ts.hbs +0 -70
  80. package/build/dist/templates/typescript/view/view.plugin.ts.hbs +0 -1
  81. package/build/dist/templates/typescript/view/viewController.plugin.ts.hbs +0 -3
  82. package/build/dist/templates/typescript/view/views.ts.hbs +0 -93
  83. package/build/esm/addons/eq.addon.d.ts +0 -1
  84. package/build/esm/addons/eq.addon.js +0 -4
  85. package/build/esm/addons/escape.addon.d.ts +0 -1
  86. package/build/esm/addons/escape.addon.js +0 -5
  87. package/build/esm/addons/fieldDefinitionBodyPartial.addon.d.ts +0 -1
  88. package/build/esm/addons/fieldDefinitionBodyPartial.addon.js +0 -8
  89. package/build/esm/addons/fieldDefinitionOptions.addon.d.ts +0 -1
  90. package/build/esm/addons/fieldDefinitionOptions.addon.js +0 -66
  91. package/build/esm/addons/fieldTypeEnum.addon.d.ts +0 -1
  92. package/build/esm/addons/fieldTypeEnum.addon.js +0 -9
  93. package/build/esm/addons/fieldValue.addon.d.ts +0 -1
  94. package/build/esm/addons/fieldValue.addon.js +0 -8
  95. package/build/esm/addons/gt.addon.d.ts +0 -1
  96. package/build/esm/addons/gt.addon.js +0 -4
  97. package/build/esm/addons/hasKeys.addon.d.ts +0 -1
  98. package/build/esm/addons/hasKeys.addon.js +0 -4
  99. package/build/esm/addons/hasNoneCoreSchemaTemplateItems.addon.d.ts +0 -1
  100. package/build/esm/addons/hasNoneCoreSchemaTemplateItems.addon.js +0 -6
  101. package/build/esm/addons/importRelatedSchemas.addon.d.ts +0 -1
  102. package/build/esm/addons/importRelatedSchemas.addon.js +0 -34
  103. package/build/esm/addons/index.d.ts +0 -23
  104. package/build/esm/addons/index.js +0 -23
  105. package/build/esm/addons/isDefined.addon.d.ts +0 -1
  106. package/build/esm/addons/isDefined.addon.js +0 -5
  107. package/build/esm/addons/json.addon.d.ts +0 -1
  108. package/build/esm/addons/json.addon.js +0 -7
  109. package/build/esm/addons/neq.addon.d.ts +0 -1
  110. package/build/esm/addons/neq.addon.js +0 -4
  111. package/build/esm/addons/operators.addon.d.ts +0 -1
  112. package/build/esm/addons/operators.addon.js +0 -15
  113. package/build/esm/addons/pascalCase.addon.d.ts +0 -1
  114. package/build/esm/addons/pascalCase.addon.js +0 -6
  115. package/build/esm/addons/permissionContractBuilder.addon.d.ts +0 -1
  116. package/build/esm/addons/permissionContractBuilder.addon.js +0 -4
  117. package/build/esm/addons/schemaBodyPartial.addon.d.ts +0 -1
  118. package/build/esm/addons/schemaBodyPartial.addon.js +0 -8
  119. package/build/esm/addons/schemaNamespacePath.addon.d.ts +0 -1
  120. package/build/esm/addons/schemaNamespacePath.addon.js +0 -18
  121. package/build/esm/addons/schemaValuesPartial.addon.d.ts +0 -1
  122. package/build/esm/addons/schemaValuesPartial.addon.js +0 -8
  123. package/build/esm/addons/valueTypeGenerator.addon.d.ts +0 -1
  124. package/build/esm/addons/valueTypeGenerator.addon.js +0 -15
  125. package/build/esm/addons/valueTypeLiteral.addon.d.ts +0 -1
  126. package/build/esm/addons/valueTypeLiteral.addon.js +0 -32
  127. package/build/esm/addons/valueTypeMapper.addon.d.ts +0 -1
  128. package/build/esm/addons/valueTypeMapper.addon.js +0 -9
  129. package/build/esm/index.d.ts +0 -141
  130. package/build/esm/index.js +0 -255
  131. package/build/esm/templates/directories/skill/.nvmrc +0 -1
  132. package/build/esm/templates/directories/skill/README.md +0 -4
  133. package/build/esm/templates/directories/skill/eslint.config.mjs +0 -3
  134. package/build/esm/templates/directories/skill/package.json.hbs +0 -15
  135. package/build/esm/templates/directories/skill/src/.spruce/errors/options.types.ts +0 -6
  136. package/build/esm/templates/directories/skill/src/.spruce/features/event.plugin.ts +0 -1
  137. package/build/esm/templates/directories/skill/src/.spruce/skill.ts +0 -8
  138. package/build/esm/templates/directories/skill/src/errors/SpruceError.ts.hbs +0 -20
  139. package/build/esm/templates/directories/skill/src/index.ts +0 -35
  140. package/build/esm/templates/directories/skill/tsconfig.json +0 -39
  141. package/build/esm/templates/directories/vscode/.vscode/launch.json +0 -58
  142. package/build/esm/templates/directories/vscode/.vscode/settings.json +0 -67
  143. package/build/esm/templates/directories/vscode/.vscode/tasks.json +0 -112
  144. package/build/esm/templates/typescript/conversation/conversation.plugin.ts.hbs +0 -1
  145. package/build/esm/templates/typescript/conversation/conversation.topic.ts.hbs +0 -19
  146. package/build/esm/templates/typescript/deploy/deploy.plugin.ts.hbs +0 -1
  147. package/build/esm/templates/typescript/error/SpruceError.ts.hbs +0 -31
  148. package/build/esm/templates/typescript/error/error.plugin.ts.hbs +0 -78
  149. package/build/esm/templates/typescript/error/example.ts.hbs +0 -10
  150. package/build/esm/templates/typescript/error/options.types.ts.hbs +0 -12
  151. package/build/esm/templates/typescript/event/event.contract.ts.hbs +0 -26
  152. package/build/esm/templates/typescript/event/event.options.ts.hbs +0 -11
  153. package/build/esm/templates/typescript/event/events.contract.ts.hbs +0 -24
  154. package/build/esm/templates/typescript/event/listener.ts.hbs +0 -23
  155. package/build/esm/templates/typescript/event/listeners.ts.hbs +0 -15
  156. package/build/esm/templates/typescript/event/payload.builder.ts.hbs +0 -15
  157. package/build/esm/templates/typescript/log/transport.plugin.ts.hbs +0 -14
  158. package/build/esm/templates/typescript/permissions/contract.builder.ts.hbs +0 -36
  159. package/build/esm/templates/typescript/permissions/permission.plugin.ts.hbs +0 -1
  160. package/build/esm/templates/typescript/permissions/permissions.ts.hbs +0 -13
  161. package/build/esm/templates/typescript/permissions/permissions.types.ts.hbs +0 -14
  162. package/build/esm/templates/typescript/polish/polish.ts.hbs +0 -67
  163. package/build/esm/templates/typescript/sandbox/will-boot.listener.ts.hbs +0 -109
  164. package/build/esm/templates/typescript/schema/builder.ts.hbs +0 -24
  165. package/build/esm/templates/typescript/schema/core.schemas.types.ts.hbs +0 -34
  166. package/build/esm/templates/typescript/schema/example.ts.hbs +0 -20
  167. package/build/esm/templates/typescript/schema/fields/fieldClassMap.ts.hbs +0 -16
  168. package/build/esm/templates/typescript/schema/fields/fields.types.ts.hbs +0 -1
  169. package/build/esm/templates/typescript/schema/imported.schema.ts.hbs +0 -1
  170. package/build/esm/templates/typescript/schema/partials/fieldDefinitionBody.ts.hbs +0 -12
  171. package/build/esm/templates/typescript/schema/partials/schemaBody.ts.hbs +0 -20
  172. package/build/esm/templates/typescript/schema/partials/schemaValues.ts.hbs +0 -7
  173. package/build/esm/templates/typescript/schema/schema.plugin.ts.hbs +0 -101
  174. package/build/esm/templates/typescript/schema/schema.ts.hbs +0 -12
  175. package/build/esm/templates/typescript/schema/schemas.types.ts.hbs +0 -44
  176. package/build/esm/templates/typescript/schema/valueTypes.ts.hbs +0 -67
  177. package/build/esm/templates/typescript/store/Store.store.ts.hbs +0 -95
  178. package/build/esm/templates/typescript/store/store.plugin.ts.hbs +0 -1
  179. package/build/esm/templates/typescript/store/stores.ts.hbs +0 -9
  180. package/build/esm/templates/typescript/store/stores.types.ts.hbs +0 -17
  181. package/build/esm/templates/typescript/test/Test.test.ts.hbs +0 -20
  182. package/build/esm/templates/typescript/view/App.ac.ts.hbs +0 -6
  183. package/build/esm/templates/typescript/view/View.svc.ts.hbs +0 -23
  184. package/build/esm/templates/typescript/view/View.vc.ts.hbs +0 -17
  185. package/build/esm/templates/typescript/view/skill.theme.ts.hbs +0 -70
  186. package/build/esm/templates/typescript/view/view.plugin.ts.hbs +0 -1
  187. package/build/esm/templates/typescript/view/viewController.plugin.ts.hbs +0 -3
  188. package/build/esm/templates/typescript/view/views.ts.hbs +0 -93
  189. package/build/esm/types/templates.types.d.ts +0 -121
  190. package/build/esm/types/templates.types.js +0 -5
  191. package/build/esm/utilities/DirectoryTemplateUtility.d.ts +0 -15
  192. package/build/esm/utilities/DirectoryTemplateUtility.js +0 -79
  193. package/build/esm/utilities/KeyGeneratorUtility.d.ts +0 -5
  194. package/build/esm/utilities/KeyGeneratorUtility.js +0 -6
  195. package/build/esm/utilities/importExtractor.utility.d.ts +0 -10
  196. package/build/esm/utilities/importExtractor.utility.js +0 -32
  197. package/build/esm/utilities/templateImporter.utility.d.ts +0 -4
  198. package/build/esm/utilities/templateImporter.utility.js +0 -18
  199. package/build/esm/utilities/templateItem.utility.d.ts +0 -6
  200. package/build/esm/utilities/templateItem.utility.js +0 -25
  201. package/build/index.js.map +0 -1
  202. package/build/types/templates.types.js.map +0 -1
  203. package/build/utilities/DirectoryTemplateUtility.js.map +0 -1
  204. package/build/utilities/KeyGeneratorUtility.js.map +0 -1
  205. package/build/utilities/importExtractor.utility.js.map +0 -1
  206. package/build/utilities/templateImporter.utility.js.map +0 -1
  207. package/build/utilities/templateItem.utility.js.map +0 -1
  208. /package/build/{dist/templates/typescript/test/Test.test.ts.hbs → templates/typescript/test/StaticTest.test.ts.hbs} +0 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Spruce Labs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/build/index.js CHANGED
@@ -114,7 +114,10 @@ exports.templates = {
114
114
  return template(options);
115
115
  },
116
116
  test(options) {
117
- const template = templateImporter_utility_1.default.getTemplate('test/Test.test.ts.hbs');
117
+ const { testType } = options;
118
+ const template = templateImporter_utility_1.default.getTemplate(testType === 'static'
119
+ ? 'test/StaticTest.test.ts.hbs'
120
+ : 'test/Test.test.ts.hbs');
118
121
  return template(options);
119
122
  },
120
123
  fieldsTypes(options) {
@@ -1,109 +1,172 @@
1
+ import { MercuryClient } from '@sprucelabs/mercury-client'
1
2
  import { SchemaError } from '@sprucelabs/schema'
2
3
  import { EventFeature } from '@sprucelabs/spruce-event-plugin'
3
4
  import {
4
- SpruceEvent,
5
- SpruceEventResponse,
6
- eventResponseUtil,
5
+ SpruceEvent,
6
+ SpruceEventResponse,
7
+ eventResponseUtil,
7
8
  } from '@sprucelabs/spruce-event-utils'
8
- import { EnvService } from '@sprucelabs/spruce-skill-utils'
9
+ import { EnvService, PkgService } from '@sprucelabs/spruce-skill-utils'
9
10
 
10
11
  export default async (event: SpruceEvent): SpruceEventResponse => {
11
- const sandboxNumber = process.env.SANDBOX_DEMO_NUMBER
12
+ const sandboxNumber = process.env.SANDBOX_DEMO_NUMBER
12
13
 
13
- if (sandboxNumber && process.env.SKILL_ID) {
14
- const log = event.log.buildLog('Sandbox')
14
+ if (sandboxNumber && process.env.SKILL_ID) {
15
+ const log = event.log.buildLog('Sandbox')
15
16
 
16
- log.info('Demo sandbox number detected. Checking skill status.')
17
+ log.info('Demo sandbox number detected. Checking skill status.')
17
18
 
18
- const events = event.skill.getFeatureByCode('event') as EventFeature
19
+ const events = event.skill.getFeatureByCode('event') as EventFeature
19
20
 
20
- const env = new EnvService(event.skill.rootDir)
21
+ const env = new EnvService(event.skill.rootDir)
22
+ const pkg = new PkgService(event.skill.rootDir)
21
23
 
22
- process.env.SKILL_ID = (env.get('SKILL_ID') ??
23
- process.env.SKILL_ID) as string
24
- process.env.SKILL_API_KEY = (env.get('SKILL_API_KEY') ??
25
- process.env.SKILL_API_KEY) as string
24
+ process.env.SKILL_ID = (env.get('SKILL_ID') ??
25
+ process.env.SKILL_ID) as string
26
+ process.env.SKILL_API_KEY = (env.get('SKILL_API_KEY') ??
27
+ process.env.SKILL_API_KEY) as string
26
28
 
27
- try {
28
- await events.connectToApi({ shouldWaitForWillBoot: false })
29
- return
30
- // eslint-disable-next-line no-empty
31
- } catch {}
29
+ try {
30
+ await events.connectToApi({ shouldWaitForWillBoot: false })
31
+ return
32
+ } catch {}
32
33
 
33
- log.warn('It looks like sandbox was reset. Re-registering.')
34
+ log.warn('It looks like sandbox was reset. Re-registering.')
34
35
 
35
- const name = process.env.SKILL_NAME as string
36
- const slug = process.env.SKILL_SLUG as string
36
+ const name = process.env.SKILL_NAME as string
37
+ const slug = pkg.get(['skill', 'namespace']) as string
37
38
 
38
- assertRequiredParams(name, slug)
39
+ assertRequiredParams(name, slug)
39
40
 
40
- delete process.env.SKILL_ID
41
- delete process.env.SKILL_API_KEY
41
+ delete process.env.SKILL_ID
42
+ delete process.env.SKILL_API_KEY
42
43
 
43
- const client = (await events.connectToApi({
44
- shouldWaitForWillBoot: false,
45
- })) as any
44
+ const client = (await events.connectToApi({
45
+ shouldWaitForWillBoot: false,
46
+ })) as any
46
47
 
47
- const requestResults = await client.emit('request-pin::v2020_12_25', {
48
- payload: {
49
- phone: sandboxNumber,
50
- },
51
- })
48
+ await login(client, sandboxNumber)
52
49
 
53
- const { challenge } =
54
- eventResponseUtil.getFirstResponseOrThrow(requestResults)
50
+ const skill = await registerOrLoginSkill(client, name, slug)
51
+ await client.emit(`logout::v2020_12_25`)
55
52
 
56
- const confirmResults = await client.emit('confirm-pin::v2020_12_25', {
57
- payload: {
58
- challenge,
59
- pin: sandboxNumber.substr(-4),
60
- },
61
- })
53
+ await client.authenticate({
54
+ skillId: skill.id,
55
+ apiKey: skill.apiKey,
56
+ })
62
57
 
63
- eventResponseUtil.getFirstResponseOrThrow(confirmResults)
58
+ env.set('SKILL_ID', skill.id)
59
+ env.set('SKILL_API_KEY', skill.apiKey)
60
+ }
64
61
 
65
- const results = await client.emit('register-skill::v2020_12_25', {
66
- payload: {
67
- name,
68
- description: 'Auto-generate for sandbox',
69
- slug,
70
- },
71
- })
62
+ return
63
+ }
72
64
 
73
- const { skill } = eventResponseUtil.getFirstResponseOrThrow(results)
65
+ async function login(client: any, sandboxNumber: string) {
66
+ const requestResults = await client.emit('request-pin::v2020_12_25', {
67
+ payload: {
68
+ phone: sandboxNumber,
69
+ },
70
+ })
74
71
 
75
- process.env.SKILL_ID = skill.id
76
- process.env.SKILL_API_KEY = skill.apiKey
72
+ const { challenge } =
73
+ eventResponseUtil.getFirstResponseOrThrow(requestResults)
77
74
 
78
- await client.emit(`logout::v2020_12_25`)
75
+ const confirmResults = await client.emit('confirm-pin::v2020_12_25', {
76
+ payload: {
77
+ challenge,
78
+ pin: sandboxNumber.substr(-4),
79
+ },
80
+ })
79
81
 
80
- await client.authenticate({
81
- skillId: skill.id,
82
- apiKey: skill.apiKey,
83
- })
82
+ eventResponseUtil.getFirstResponseOrThrow(confirmResults)
83
+ }
84
84
 
85
- env.set('SKILL_ID', skill.id)
86
- env.set('SKILL_API_KEY', skill.apiKey)
87
- }
85
+ function assertRequiredParams(
86
+ name: string | undefined,
87
+ slug: string | undefined
88
+ ) {
89
+ const missing: string[] = []
90
+
91
+ if (!name) {
92
+ missing.push('env.SKILL_NAME')
93
+ }
94
+
95
+ if (!slug) {
96
+ missing.push('env.SKILL_SLUG')
97
+ }
98
+
99
+ if (missing.length > 0) {
100
+ throw new SchemaError({
101
+ code: 'MISSING_PARAMETERS',
102
+ parameters: missing,
103
+ })
104
+ }
105
+ }
88
106
 
89
- return
107
+ async function registerOrLoginSkill(
108
+ client: MercuryClient,
109
+ name: string,
110
+ slug: string
111
+ ) {
112
+ let skill: any
113
+ try {
114
+ skill = await registerSkill(client, name, slug)
115
+ } catch (err: any) {
116
+ skill = await loginSkill(client, slug)
117
+ }
118
+ process.env.SKILL_ID = skill.id
119
+ process.env.SKILL_API_KEY = skill.apiKey
120
+
121
+ return skill
90
122
  }
91
123
 
92
- function assertRequiredParams(
93
- name: string | undefined,
94
- slug: string | undefined
124
+ async function registerSkill(
125
+ client: MercuryClient,
126
+ name: string,
127
+ slug: string
95
128
  ) {
96
- const missing: string[] = []
129
+ const [{ skill }] = await client.emitAndFlattenResponses(
130
+ 'register-skill::v2020_12_25',
131
+ {
132
+ payload: {
133
+ name,
134
+ description: 'Auto-generate for sandbox',
135
+ slug,
136
+ },
137
+ }
138
+ )
139
+
140
+ return skill
141
+ }
97
142
 
98
- if (!name) {
99
- missing.push('env.SKILL_NAME')
100
- }
143
+ async function loginSkill(client: MercuryClient, slug: string) {
144
+ const [{ skills }] = await client.emitAndFlattenResponses(
145
+ 'list-skills::v2020_12_25',
146
+ {
147
+ payload: {
148
+ shouldOnlyShowMine: true,
149
+ },
150
+ }
151
+ )
101
152
 
102
- if (!slug) {
103
- missing.push('env.SKILL_SLUG')
104
- }
153
+ const match = skills.find((s: any) => s.slug === slug)
105
154
 
106
- if (missing.length > 0) {
107
- throw new SchemaError({ code: 'MISSING_PARAMETERS', parameters: missing })
155
+ if (!match) {
156
+ throw new Error(`Could not find skill with slug ${slug}`)
108
157
  }
158
+
159
+ const [{ skill }] = await client.emitAndFlattenResponses(
160
+ 'get-skill::v2020_12_25',
161
+ {
162
+ target: {
163
+ skillId: match.id,
164
+ },
165
+ payload: {
166
+ shouldIncludeApiKey: true,
167
+ },
168
+ }
169
+ )
170
+
171
+ return skill
109
172
  }
@@ -1,18 +1,19 @@
1
1
  {{#if isTestFixturesInstalled}}import { fake } from '@sprucelabs/spruce-test-fixtures'{{/if}}
2
- import {{#unless (isDefined parentTestClass)}}AbstractSpruceTest, {{/unless}}{ test, assert } from '@sprucelabs/test-utils'
2
+ import {{#unless (isDefined parentTestClass)}}AbstractSpruceTest, {{/unless}}{ test, suite, assert } from '@sprucelabs/test-utils'
3
3
  {{#if (isDefined parentTestClass)}}import {{#if parentTestClass.isDefaultExport}}{{parentTestClass.name}}{{else}}{ {{parentTestClass.name}} }{{/if}} from '{{parentTestClass.importPath}}'
4
4
  {{/if}}
5
5
 
6
6
  {{#if isTestFixturesInstalled}}@fake.login(){{/if}}
7
+ @suite()
7
8
  export default class {{namePascal}}Test extends {{#if (isDefined parentTestClass)}}{{parentTestClass.name}}{{else}}AbstractSpruceTest{{/if}} {
8
9
  @test()
9
- protected static async canCreate{{namePascal}}() {
10
+ protected async canCreate{{namePascal}}() {
10
11
  const {{nameCamel}} = new {{namePascal}}()
11
12
  assert.isTruthy({{nameCamel}})
12
13
  }
13
14
 
14
15
  @test()
15
- protected static async yourNextTest() {
16
+ protected async yourNextTest() {
16
17
  assert.isTrue(false)
17
18
  }
18
19
  }
@@ -61,6 +61,7 @@ export interface TestOptions {
61
61
  namePascal: string;
62
62
  nameCamel: string;
63
63
  isTestFixturesInstalled: boolean;
64
+ testType?: 'static' | 'instance';
64
65
  parentTestClass?: {
65
66
  name: string;
66
67
  importPath: string;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "23.1.0",
6
+ "version": "24.1.0",
7
7
  "files": [
8
8
  "build/**/*",
9
9
  "tsconfig.json",
@@ -56,10 +56,10 @@
56
56
  "watch.tsc": "tsc -w"
57
57
  },
58
58
  "dependencies": {
59
- "@sprucelabs/mercury-types": "^47.2.0",
60
- "@sprucelabs/schema": "^31.0.19",
61
- "@sprucelabs/spruce-event-utils": "^40.1.394",
62
- "@sprucelabs/spruce-skill-utils": "^31.2.16",
59
+ "@sprucelabs/mercury-types": "^47.2.28",
60
+ "@sprucelabs/schema": "^31.0.44",
61
+ "@sprucelabs/spruce-event-utils": "^40.2.32",
62
+ "@sprucelabs/spruce-skill-utils": "^31.2.47",
63
63
  "fs-extra": "^11.2.0",
64
64
  "handlebars": "^4.7.8",
65
65
  "lodash": "^4.17.21",
@@ -67,16 +67,16 @@
67
67
  },
68
68
  "devDependencies": {
69
69
  "@types/fs-extra": "^11.0.4",
70
- "@types/lodash": "^4.17.14",
71
- "@types/node": "^22.10.7",
70
+ "@types/lodash": "^4.17.15",
71
+ "@types/node": "^22.13.4",
72
72
  "chokidar-cli": "^3.0.0",
73
73
  "concurrently": "^9.1.2",
74
74
  "conventional-changelog-sprucelabs": "2.0.1",
75
- "prettier": "^3.4.2",
75
+ "prettier": "^3.5.1",
76
76
  "typescript": "^5.7.3"
77
77
  },
78
78
  "yarn-upgrade-all": {
79
79
  "ignore": []
80
80
  },
81
- "gitHead": "94ce410c05180cdfa9b6ca4b9e47061d52ac4e71"
81
+ "gitHead": "1dba2146c4738dbd9c94b2937b3553addee5a1a4"
82
82
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"eq.addon.js","sourceRoot":"","sources":["../../src/addons/eq.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACzC,OAAO,GAAG,KAAK,GAAG,CAAA;AACtB,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"escape.addon.js","sourceRoot":"","sources":["../../src/addons/escape.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,mBAAmB;AACnB,oBAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,QAAQ;IAClD,OAAO,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AAC7E,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldDefinitionBodyPartial.addon.js","sourceRoot":"","sources":["../../src/addons/fieldDefinitionBodyPartial.addon.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,wDAAyB;AACzB,4DAAmC;AAEnC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AAE1E,MAAM,YAAY,GAAW,kBAAE;KAC1B,YAAY,CACT,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,4CAA4C,CAAC,CACxE;KACA,QAAQ,EAAE,CAAA;AAEf,oBAAU,CAAC,eAAe,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldDefinitionOptions.addon.js","sourceRoot":"","sources":["../../src/addons/fieldDefinitionOptions.addon.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldTypeEnum.addon.js","sourceRoot":"","sources":["../../src/addons/fieldTypeEnum.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAGnC,2DAA2D;AAC3D,oBAAU,CAAC,cAAc,CACrB,eAAe,EACf,UAAU,gBAAkC;IACxC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACX,qEAAqE,CACxE,CAAA;IACL,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAA;IAEjC,OAAO,IAAI,IAAI,GAAG,CAAA;AACtB,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldValue.addon.js","sourceRoot":"","sources":["../../src/addons/fieldValue.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAGnC,0DAA0D;AAC1D,oBAAU,CAAC,cAAc,CACrB,YAAY,EACZ,UAAU,gBAAkC,EAAE,KAAU;IACpD,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gt.addon.js","sourceRoot":"","sources":["../../src/addons/gt.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACzC,OAAO,GAAG,GAAG,GAAG,CAAA;AACpB,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasKeys.addon.js","sourceRoot":"","sources":["../../src/addons/hasKeys.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CAAC,SAAS,EAAE,UAAU,KAAK;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAC5E,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasNoneCoreSchemaTemplateItems.addon.js","sourceRoot":"","sources":["../../src/addons/hasNoneCoreSchemaTemplateItems.addon.ts"],"names":[],"mappings":";;;;;AACA,uEAA+D;AAC/D,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CACrB,+BAA+B,EAC/B,UAAU,mBAAyC;IAC/C,OAAO,CACH,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,mCAAc,CAAC;SAC5D,MAAM,GAAG,CAAC,CAClB,CAAA;AACL,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"importRelatedSchemas.addon.js","sourceRoot":"","sources":["../../src/addons/importRelatedSchemas.addon.ts"],"names":[],"mappings":";;;;;AAAA,+CAA4E;AAC5E,4DAAmC;AACnC,mCAAwC;AAExC,oBAAU,CAAC,cAAc,CACrB,sBAAsB,EACtB,UAAU,MAAc,EAAE,OAAO;;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACX,sDAAsD,CACzD,CAAA;IACL,CAAC;IAED,MAAM,EACF,IAAI,EAAE,EAAE,IAAI,EAAE,GACjB,GAAG,OAAO,CAAA;IAEX,MAAM,mBAAmB,GACrB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,CAAA;IAE7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACX,0EAA0E,CAC7E,CAAA;IACL,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,qBAAqB;QACvC,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA;IACxC,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,OAAO,GACT,oBAAW,CAAC,wCAAwC,CAAC,KAAK,CAAC,CAAA;YAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC9B,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE;oBACzB,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,OAAO;oBAC1C,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,aAAa,CAAC,SAAS,CACrD,CAAA;gBACD,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,CACR,UAAU,OAAO,CAAC,SAAS,SACvB,OAAO,CAAC,MAAM,CAAC,OAAO;wBAClB,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;wBAC9B,CAAC,CAAC,EACV,UAAU,OAAO,CAAC,cAAc,IAAI,IAAA,kBAAS,EACzC,OAAO,CAAC,SAAS,CACpB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAC1D,OAAO,CAAC,EACZ,UAAU,CACb,CAAA;gBACL,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,IAAA,aAAI,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/addons/index.ts"],"names":[],"mappings":";;AAAA,sBAAmB;AACnB,0BAAuB;AACvB,8CAA2C;AAC3C,0CAAuC;AACvC,iCAA8B;AAC9B,8BAA2B;AAC3B,sBAAmB;AACnB,2BAAwB;AACxB,kDAA+C;AAC/C,wCAAqC;AACrC,mBAAgB;AAChB,6BAA0B;AAC1B,wBAAqB;AACrB,uBAAoB;AACpB,6BAA0B;AAC1B,8BAA2B;AAC3B,6CAA0C;AAC1C,qCAAkC;AAClC,uCAAoC;AACpC,uCAAoC;AACpC,sCAAmC;AACnC,oCAAiC;AACjC,mCAAgC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"isDefined.addon.js","sourceRoot":"","sources":["../../src/addons/isDefined.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,sDAAsD;AACtD,oBAAU,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,KAAK;IAClD,OAAO,KAAK,KAAK,SAAS,CAAA;AAC9B,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.addon.js","sourceRoot":"","sources":["../../src/addons/json.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,sDAAsD;AACtD,oBAAU,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,IAAI;IAC5C,iEAAiE;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAClC,OAAO,KAAK,CAAA;AAChB,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"neq.addon.js","sourceRoot":"","sources":["../../src/addons/neq.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,oBAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC5C,OAAO,IAAI,KAAK,IAAI,CAAA;AACxB,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"operators.addon.js","sourceRoot":"","sources":["../../src/addons/operators.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CAAC;IACtB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;IACzB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;IACzB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE;IACvB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE;IACvB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE;IACzB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE;IACzB,GAAG,CAAC,GAAG,MAAM;QACT,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IACD,EAAE,CAAC,GAAG,MAAM;QACR,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClE,CAAC;CACJ,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pascalCase.addon.js","sourceRoot":"","sources":["../../src/addons/pascalCase.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,mCAAmC;AACnC,+CAA+C;AAC/C,oBAAU,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;IAC5C,OAAO,IAAA,mBAAU,EAAC,GAAG,CAAC,CAAA;AAC1B,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissionContractBuilder.addon.js","sourceRoot":"","sources":["../../src/addons/permissionContractBuilder.addon.ts"],"names":[],"mappings":";;;;;AACA,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CACrB,2BAA2B,EAC3B,UAAU,kBAAsC;IAC5C,OAAO,2BAA2B,IAAI,CAAC,SAAS,CAC5C,kBAAkB,EAClB,IAAI,EACJ,CAAC,CACJ,GAAG,CAAA;AACR,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaBodyPartial.addon.js","sourceRoot":"","sources":["../../src/addons/schemaBodyPartial.addon.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,wDAAyB;AACzB,4DAAmC;AAEnC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AAE1E,MAAM,iBAAiB,GAAW,kBAAE;KAC/B,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mCAAmC,CAAC,CAAC;KAC1E,QAAQ,EAAE,CAAA;AAEf,oBAAU,CAAC,eAAe,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaNamespacePath.addon.js","sourceRoot":"","sources":["../../src/addons/schemaNamespacePath.addon.ts"],"names":[],"mappings":";;;;;AACA,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CAAC,qBAAqB,EAAE,UAAU,OAAY;;IACnE,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAEtC,CAAA;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,IAAI,mCAAI,EAAE,CAAA;IAE3D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACX,qFAAqF,CACxF,CAAA;IACL,CAAC;IAED,IAAI,IAAI,GAAG,GAAG,qBAAqB,IAAI,kBAAkB,CAAC,SAAS,EAAE,CAAA;IAErE,IAAI,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,IAAI,IAAI,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IACnD,CAAC;IAED,IAAI,IAAI,IAAI,kBAAkB,CAAC,UAAU,EAAE,CAAA;IAE3C,OAAO,IAAI,CAAA;AACf,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaValuesPartial.addon.js","sourceRoot":"","sources":["../../src/addons/schemaValuesPartial.addon.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,wDAAyB;AACzB,4DAAmC;AAEnC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AAE1E,MAAM,mBAAmB,GAAW,kBAAE;KACjC,YAAY,CACT,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,qCAAqC,CAAC,CACjE;KACA,QAAQ,EAAE,CAAA;AAEf,oBAAU,CAAC,eAAe,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"valueTypeGenerator.addon.js","sourceRoot":"","sources":["../../src/addons/valueTypeGenerator.addon.ts"],"names":[],"mappings":";;;;;AACA,4DAAmC;AACnC,mCAAmC;AAGnC,oBAAU,CAAC,cAAc,CACrB,oBAAoB,EACpB,UACI,eAEkD,EAClD,QAA0B,EAC1B,IAA8D,EAC9D,OAMC;IAED,MAAM,EACF,IAAI,EAAE,EACF,IAAI,EAAE,EAAE,kBAAkB,EAAE,GAC/B,GACJ,GAAG,OAAO,CAAA;IAEX,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CACnC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,IAAI,CACpD,CAAC,CAAC,CAAC,CAAA;IAEJ,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACX,yEAAyE,eAAe,CAAC,IAAI,EAAE,CAClG,CAAA;IACL,CAAC;IAED,MAAM,IAAI,GAAG,oBAAU,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IACvE,MAAM,mBAAmB,GAAG,EAAE,GAAG,eAAe,EAAE,CAAA;IAClD,aAAa;IACL,mBAAuD,aAAvD,mBAAmB,4BAAnB,mBAAmB,CAAsC,OAAO,CAAA;IAExE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QACvB,GAAG,mBAAmB;QACtB,IAAI,EAAE,eAAe;KACxB,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;IAEnC,OAAO,GAAG,IAAI,IAAI,GAAG,sBAAsB,IAAA,mBAAU,EAAC,QAAQ,CAAC,MAC3D,KAAK,CAAC,QACV,IAAI,CAAA;AACR,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"valueTypeLiteral.addon.js","sourceRoot":"","sources":["../../src/addons/valueTypeLiteral.addon.ts"],"names":[],"mappings":";;;;;AAAA,+CAAqD;AACrD,uEAAwE;AACxE,4DAAmC;AAGnC,+HAA+H;AAC/H,oBAAU,CAAC,cAAc,CACrB,kBAAkB,EAClB,UACI,SAAiB,EACjB,SAAiB,EACjB,OAA2B,EAC3B,SAAiB,EACjB,QAA0B,EAC1B,OAAO;;IAEP,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACvE,CAAC;IAED,IACI,QAAQ,KAAK,yBAAgB,CAAC,KAAK;QACnC,QAAQ,KAAK,yBAAgB,CAAC,IAAI;QAClC,QAAQ,KAAK,yBAAgB,CAAC,UAAU,EAC1C,CAAC;QACC,MAAM,IAAI,KAAK,CACX,mIAAmI,CACtI,CAAA;IACL,CAAC;IAED,MAAM,EACF,IAAI,EAAE,EAAE,IAAI,EAAE,GACjB,GAAG,OAAO,CAAA;IAEX,MAAM,UAAU,GAAe,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAA;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACX,iEAAiE,CACpE,CAAA;IACL,CAAC;IAED,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,4CAAuB,CAAA;IAErD,MAAM,SAAS,GACX,MAAA,MAAA,MAAA,MAAA,UAAU,CAAC,SAAS,CAAC,0CAAG,SAAS,CAAC,0CAAG,CAAC,CAAC,0CAAG,SAAS,CAAC,0CAAE,UAAU,CAC5D,QAAQ,CACX,CAAA;IAEL,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACX,0CAA0C,SAAS,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,CACxF,CAAA;IACL,CAAC;IAED,OAAO,SAAS,CAAA;AACpB,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"valueTypeMapper.addon.js","sourceRoot":"","sources":["../../src/addons/valueTypeMapper.addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAEnC,oBAAU,CAAC,cAAc,CACrB,iBAAiB,EACjB,UAAU,UAAkB,EAAE,QAAkC;IAC5D,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;SAAM,CAAC;QACJ,OAAO,UAAU,CAAA;IACrB,CAAC;AACL,CAAC,CACJ,CAAA"}
@@ -1 +0,0 @@
1
- lts/*
@@ -1,4 +0,0 @@
1
- # [Your Skill Name]
2
-
3
- ## Useful links
4
- * [Spruce Developer Documentation: https://developer.spruce.ai](https://developer.spruce.ai)
@@ -1,3 +0,0 @@
1
- import eslintConfigSpruce from 'eslint-config-spruce'
2
-
3
- export default eslintConfigSpruce
@@ -1,15 +0,0 @@
1
- {
2
- "name": "{{name}}",
3
- "description": "{{description}}",
4
- "version": "0.0.1",
5
- "skill": {},
6
- "homepage": "https://github.com/[YOUR REPO PATH]",
7
- "bugs": {
8
- "url": "https://github.com/[YOUR REPO PATH]/issues"
9
- },
10
- "keywords": [],
11
- "scripts": {},
12
- "dependencies": {},
13
- "devDependencies": {
14
- }
15
- }
@@ -1,20 +0,0 @@
1
- import AbstractSpruceError from '@sprucelabs/error'
2
- import ErrorOptions from '#spruce/errors/options.types'
3
-
4
- export default class SpruceError extends AbstractSpruceError<ErrorOptions> {
5
- public friendlyMessage(): string {
6
- const { options } = this
7
- let message
8
-
9
- switch (options?.code) {
10
- default:
11
- message = super.friendlyMessage()
12
- }
13
-
14
- const fullMessage = options.friendlyMessage
15
- ? options.friendlyMessage
16
- : message
17
-
18
- return fullMessage
19
- }
20
- }
@@ -1,39 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "skipLibCheck": true,
4
- "module": "commonjs",
5
- "esModuleInterop": true,
6
- "target": "ES2020",
7
- "lib": [
8
- "DOM",
9
- "ES2022"
10
- ],
11
- "declaration": true,
12
- "noImplicitAny": true,
13
- "allowJs": true,
14
- "forceConsistentCasingInFileNames": true,
15
- "noImplicitReturns": true,
16
- "strict": true,
17
- "noUnusedLocals": true,
18
- "resolveJsonModule": true,
19
- "moduleResolution": "node",
20
- "sourceMap": false,
21
- "outDir": "build",
22
- "baseUrl": "src",
23
- "experimentalDecorators": true,
24
- "paths": {
25
- "#spruce/*": [
26
- ".spruce/*"
27
- ]
28
- }
29
- },
30
- "include": [
31
- "./src/*.ts",
32
- "./src/**/*.ts",
33
- "./src/.spruce/**/*"
34
- ],
35
- "exclude": [
36
- "build",
37
- "esm"
38
- ]
39
- }
@@ -1,58 +0,0 @@
1
- {
2
- "version": "0.2.0",
3
- "configurations": [
4
- {
5
- "type": "node",
6
- "request": "attach",
7
- "name": "attach.tests",
8
- "port": 5200,
9
- "restart": true,
10
- "timeout": 10000
11
- },
12
- {
13
- "type": "node",
14
- "request": "launch",
15
- "name": "test.file",
16
- "runtimeExecutable": "node",
17
- "runtimeArgs": [
18
- "--inspect-brk",
19
- "--trace-warnings",
20
- "${workspaceFolder}/node_modules/.bin/jest",
21
- "${fileBasenameNoExtension}",
22
- "--detectOpenHandles"
23
- ],
24
- "cwd": "${workspaceFolder}",
25
- "console": "integratedTerminal",
26
- "internalConsoleOptions": "neverOpen"
27
- },
28
- {
29
- "type": "node",
30
- "request": "launch",
31
- "name": "test.all",
32
- "runtimeExecutable": "node",
33
- "runtimeArgs": [
34
- "--inspect-brk",
35
- "--trace-warnings",
36
- "${workspaceFolder}/node_modules/.bin/jest"
37
- ],
38
- "cwd": "${workspaceFolder}",
39
- "console": "integratedTerminal",
40
- "internalConsoleOptions": "neverOpen"
41
- },
42
- {
43
- "type": "node",
44
- "request": "launch",
45
- "name": "boot",
46
- "runtimeExecutable": "yarn",
47
- "runtimeArgs": [
48
- "run",
49
- "--inspect-brk",
50
- "--trace-warnings",
51
- "boot"
52
- ],
53
- "cwd": "${workspaceFolder}",
54
- "console": "integratedTerminal",
55
- "internalConsoleOptions": "neverOpen"
56
- }
57
- ]
58
- }