@sprucelabs/spruce-cli 19.1.42 → 19.2.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 (47) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/build/.spruce/errors/errors.types.d.ts +19 -0
  3. package/build/.spruce/errors/errors.types.js.map +1 -1
  4. package/build/.spruce/errors/options.types.d.ts +4 -1
  5. package/build/.spruce/errors/options.types.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.d.ts +3 -0
  7. package/build/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.js +23 -0
  8. package/build/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.js.map +1 -0
  9. package/build/__tests__/behavioral/views/CreatingASkillView.test.d.ts +1 -1
  10. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +6 -6
  11. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  12. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.d.ts +1 -1
  13. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +6 -6
  14. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  15. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.d.ts +23 -0
  16. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js +355 -0
  17. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js.map +1 -0
  18. package/build/errors/SpruceError.js +3 -0
  19. package/build/errors/SpruceError.js.map +1 -1
  20. package/build/errors/viewPluginAlreadyExists.builder.d.ts +11 -0
  21. package/build/errors/viewPluginAlreadyExists.builder.js +18 -0
  22. package/build/errors/viewPluginAlreadyExists.builder.js.map +1 -0
  23. package/build/features/view/actions/CreateAction.d.ts +6 -6
  24. package/build/features/view/actions/CreateAction.js +59 -59
  25. package/build/features/view/actions/CreateAction.js.map +1 -1
  26. package/build/features/view/actions/CreatePluginAction.d.ts +56 -0
  27. package/build/features/view/actions/CreatePluginAction.js +95 -0
  28. package/build/features/view/actions/CreatePluginAction.js.map +1 -0
  29. package/build/features/view/actions/SyncAction.d.ts +6 -6
  30. package/build/features/view/actions/SyncAction.js +29 -15
  31. package/build/features/view/actions/SyncAction.js.map +1 -1
  32. package/build/features/view/writers/ViewWriter.d.ts +5 -0
  33. package/build/features/view/writers/ViewWriter.js +44 -7
  34. package/build/features/view/writers/ViewWriter.js.map +1 -1
  35. package/package.json +25 -25
  36. package/src/.spruce/errors/errors.types.ts +29 -0
  37. package/src/.spruce/errors/options.types.ts +4 -1
  38. package/src/.spruce/errors/spruceCli/viewPluginAlreadyExists.schema.ts +22 -0
  39. package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
  40. package/src/__tests__/behavioral/views/KeepingViewsInSync.test.ts +1 -1
  41. package/src/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.ts +161 -0
  42. package/src/errors/SpruceError.ts +4 -0
  43. package/src/errors/viewPluginAlreadyExists.builder.ts +12 -0
  44. package/src/features/view/actions/CreateAction.ts +72 -72
  45. package/src/features/view/actions/CreatePluginAction.ts +54 -0
  46. package/src/features/view/actions/SyncAction.ts +30 -14
  47. package/src/features/view/writers/ViewWriter.ts +45 -5
@@ -1,6 +1,12 @@
1
1
  import { SchemaValues } from '@sprucelabs/schema';
2
2
  import AbstractAction from '../../AbstractAction';
3
3
  import { FeatureActionResponse } from '../../features.types';
4
+ export default class CreateAction extends AbstractAction<OptionsSchema> {
5
+ optionsSchema: OptionsSchema;
6
+ commandAliases: string[];
7
+ invocationMessage: string;
8
+ execute(options: SchemaValues<OptionsSchema>): Promise<FeatureActionResponse>;
9
+ }
4
10
  declare const optionsSchema: {
5
11
  id: string;
6
12
  description: string;
@@ -46,10 +52,4 @@ declare const optionsSchema: {
46
52
  };
47
53
  };
48
54
  type OptionsSchema = typeof optionsSchema;
49
- export default class CreateAction extends AbstractAction<OptionsSchema> {
50
- optionsSchema: OptionsSchema;
51
- commandAliases: string[];
52
- invocationMessage: string;
53
- execute(options: SchemaValues<OptionsSchema>): Promise<FeatureActionResponse>;
54
- }
55
55
  export {};
@@ -21,67 +21,10 @@ var _namedTemplateItem = _interopRequireDefault(require("../../../schemas/v2020_
21
21
  var _action = _interopRequireDefault(require("../../../utilities/action.utility"));
22
22
  var _form = _interopRequireDefault(require("../../../utilities/form.utility"));
23
23
  var _AbstractAction2 = _interopRequireDefault(require("../../AbstractAction"));
24
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
25
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
26
24
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
25
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28
- var viewTypeChoices = [{
29
- value: 'skillView',
30
- label: 'Skill View Controller'
31
- }, {
32
- value: 'view',
33
- label: 'View Controller'
34
- }];
35
- var viewModels = ['BigForm', 'Button', 'Calendar', 'Card', 'CardBody', 'CardHeader', 'Dialog', 'Form', 'List', 'CalendarEvent'].sort();
36
- var optionsSchema = (0, _schema.buildSchema)({
37
- id: 'createViewOptions',
38
- description: 'Create a new Heartwood view to render on web enabled and mobile devices.',
39
- fields: {
40
- viewType: {
41
- type: 'select',
42
- label: 'Which are you creating?',
43
- isRequired: true,
44
- options: {
45
- choices: viewTypeChoices
46
- }
47
- },
48
- isRoot: {
49
- type: 'boolean',
50
- label: 'Make this the Root View Controller?'
51
- },
52
- nameReadable: _objectSpread(_objectSpread({}, _namedTemplateItem["default"].fields.nameReadable), {}, {
53
- label: 'Controller name',
54
- isRequired: false
55
- }),
56
- namePascal: _objectSpread(_objectSpread({}, _namedTemplateItem["default"].fields.namePascal), {}, {
57
- isRequired: false
58
- }),
59
- viewModel: {
60
- type: 'select',
61
- label: 'View model',
62
- hint: 'Which type of view will your controller render?',
63
- options: {
64
- choices: viewModels.map(function (model) {
65
- return {
66
- value: model,
67
- label: model
68
- };
69
- })
70
- }
71
- }
72
- }
73
- });
74
- var followUpSchema = (0, _schema.buildSchema)({
75
- id: 'creatViewFollowup',
76
- fields: {
77
- nameReadable: _objectSpread(_objectSpread({}, optionsSchema.fields.nameReadable), {}, {
78
- isRequired: true
79
- }),
80
- namePascal: _objectSpread(_objectSpread({}, optionsSchema.fields.namePascal), {}, {
81
- isRequired: true
82
- })
83
- }
84
- });
26
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
27
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
85
28
  var CreateAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
86
29
  (0, _inherits2["default"])(CreateAction, _AbstractAction);
87
30
  function CreateAction() {
@@ -178,4 +121,61 @@ var CreateAction = exports["default"] = /*#__PURE__*/function (_AbstractAction)
178
121
  }]);
179
122
  return CreateAction;
180
123
  }(_AbstractAction2["default"]);
124
+ var viewTypeChoices = [{
125
+ value: 'skillView',
126
+ label: 'Skill View Controller'
127
+ }, {
128
+ value: 'view',
129
+ label: 'View Controller'
130
+ }];
131
+ var viewModels = ['BigForm', 'Button', 'Calendar', 'Card', 'CardBody', 'CardHeader', 'Dialog', 'Form', 'List', 'CalendarEvent'].sort();
132
+ var optionsSchema = (0, _schema.buildSchema)({
133
+ id: 'createViewOptions',
134
+ description: 'Create a new Heartwood view to render on web enabled and mobile devices.',
135
+ fields: {
136
+ viewType: {
137
+ type: 'select',
138
+ label: 'Which are you creating?',
139
+ isRequired: true,
140
+ options: {
141
+ choices: viewTypeChoices
142
+ }
143
+ },
144
+ isRoot: {
145
+ type: 'boolean',
146
+ label: 'Make this the Root View Controller?'
147
+ },
148
+ nameReadable: _objectSpread(_objectSpread({}, _namedTemplateItem["default"].fields.nameReadable), {}, {
149
+ label: 'Controller name',
150
+ isRequired: false
151
+ }),
152
+ namePascal: _objectSpread(_objectSpread({}, _namedTemplateItem["default"].fields.namePascal), {}, {
153
+ isRequired: false
154
+ }),
155
+ viewModel: {
156
+ type: 'select',
157
+ label: 'View model',
158
+ hint: 'Which type of view will your controller render?',
159
+ options: {
160
+ choices: viewModels.map(function (model) {
161
+ return {
162
+ value: model,
163
+ label: model
164
+ };
165
+ })
166
+ }
167
+ }
168
+ }
169
+ });
170
+ var followUpSchema = (0, _schema.buildSchema)({
171
+ id: 'creatViewFollowup',
172
+ fields: {
173
+ nameReadable: _objectSpread(_objectSpread({}, optionsSchema.fields.nameReadable), {}, {
174
+ isRequired: true
175
+ }),
176
+ namePascal: _objectSpread(_objectSpread({}, optionsSchema.fields.namePascal), {}, {
177
+ isRequired: true
178
+ })
179
+ }
180
+ });
181
181
  //# sourceMappingURL=CreateAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateAction.js","names":["_schema","require","_spruceSkillUtils","_FormComponent","_interopRequireDefault","_namedTemplateItem","_action","_form","_AbstractAction2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","viewTypeChoices","value","label","viewModels","sort","optionsSchema","buildSchema","id","description","fields","viewType","type","isRequired","options","choices","isRoot","nameReadable","namedTemplateItemBuilder","namePascal","viewModel","hint","map","model","followUpSchema","CreateAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","_createClass2","key","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_namePascal","_this$validateAndNorm","writer","form","answers","files","syncResults","merged","wrap","_callee$","_context","prev","next","validateAndNormalizeOptions","Writer","doesRootControllerExist","cwd","ui","confirm","sent","FormComponent","schema","onWillAskQuestion","formUtil","onWillAskQuestionHandler","present","prompt","namesUtil","toPascal","nameKebab","toKebab","Action","execute","actionUtil","mergeActionResults","abrupt","stop","_x","AbstractAction"],"sources":["../../../../src/features/view/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport FormComponent from '../../../components/FormComponent'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport formUtil from '../../../utilities/form.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst viewTypeChoices = [\n\t{\n\t\tvalue: 'skillView',\n\t\tlabel: 'Skill View Controller',\n\t},\n\t{\n\t\tvalue: 'view',\n\t\tlabel: 'View Controller',\n\t},\n]\n\nconst viewModels = [\n\t'BigForm',\n\t'Button',\n\t'Calendar',\n\t'Card',\n\t'CardBody',\n\t'CardHeader',\n\t'Dialog',\n\t'Form',\n\t'List',\n\t'CalendarEvent',\n].sort()\n\nconst optionsSchema = buildSchema({\n\tid: 'createViewOptions',\n\tdescription:\n\t\t'Create a new Heartwood view to render on web enabled and mobile devices.',\n\tfields: {\n\t\tviewType: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Which are you creating?',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: viewTypeChoices,\n\t\t\t},\n\t\t},\n\t\tisRoot: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Make this the Root View Controller?',\n\t\t},\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tlabel: 'Controller name',\n\t\t\tisRequired: false,\n\t\t},\n\t\tnamePascal: {\n\t\t\t...namedTemplateItemBuilder.fields.namePascal,\n\t\t\tisRequired: false,\n\t\t},\n\t\tviewModel: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'View model',\n\t\t\thint: 'Which type of view will your controller render?',\n\t\t\toptions: {\n\t\t\t\tchoices: viewModels.map((model) => ({ value: model, label: model })),\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst followUpSchema = buildSchema({\n\tid: 'creatViewFollowup',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...optionsSchema.fields.nameReadable,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnamePascal: {\n\t\t\t...optionsSchema.fields.namePascal,\n\t\t\tisRequired: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['create.view']\n\tpublic invocationMessage = 'Creating your new view controller... 🌲'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tlet { viewType, isRoot, nameReadable, namePascal, viewModel } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst writer = this.Writer('view')\n\n\t\tif (\n\t\t\tviewType === 'skillView' &&\n\t\t\t!isRoot &&\n\t\t\t!writer.doesRootControllerExist(this.cwd)\n\t\t) {\n\t\t\tisRoot = await this.ui.confirm(\n\t\t\t\t'Do you want to create a root view controller?'\n\t\t\t)\n\t\t}\n\n\t\tif (!isRoot && !nameReadable) {\n\t\t\tconst form = new FormComponent({\n\t\t\t\tui: this.ui,\n\t\t\t\tschema: followUpSchema,\n\t\t\t\tonWillAskQuestion: formUtil.onWillAskQuestionHandler,\n\t\t\t})\n\t\t\tconst answers = await form.present()\n\n\t\t\tnamePascal = answers.namePascal\n\t\t\tnameReadable = answers.nameReadable\n\t\t}\n\n\t\tif (isRoot) {\n\t\t\tnameReadable = 'Root'\n\t\t}\n\n\t\tif (!viewModel && viewType === 'view') {\n\t\t\tviewModel = await this.ui.prompt({\n\t\t\t\t...optionsSchema.fields.viewModel,\n\t\t\t\tisRequired: true,\n\t\t\t})\n\t\t}\n\n\t\tnamePascal = namePascal ?? namesUtil.toPascal(nameReadable as string)\n\n\t\tconst files = await writer[\n\t\t\tviewType === 'skillView'\n\t\t\t\t? 'writeSkillViewController'\n\t\t\t\t: 'writeViewController'\n\t\t](this.cwd, {\n\t\t\tviewType,\n\t\t\tnamePascal,\n\t\t\tviewModel: viewModel as string,\n\t\t\tnameKebab: namesUtil.toKebab(namePascal),\n\t\t})\n\n\t\tconst syncResults = await this.Action('view', 'sync').execute({})\n\n\t\tconst merged = actionUtil.mergeActionResults(\n\t\t\t{\n\t\t\t\tfiles,\n\t\t\t},\n\t\t\tsyncResults\n\t\t)\n\n\t\treturn merged\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,OAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,KAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,gBAAA,GAAAJ,sBAAA,CAAAH,OAAA;AAAiD,SAAAQ,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,SAAAc,QAAAZ,CAAA,EAAAa,CAAA,QAAAf,CAAA,GAAAgB,MAAA,CAAAC,IAAA,CAAAf,CAAA,OAAAc,MAAA,CAAAE,qBAAA,QAAAjB,CAAA,GAAAe,MAAA,CAAAE,qBAAA,CAAAhB,CAAA,GAAAa,CAAA,KAAAd,CAAA,GAAAA,CAAA,CAAAkB,MAAA,WAAAJ,CAAA,WAAAC,MAAA,CAAAI,wBAAA,CAAAlB,CAAA,EAAAa,CAAA,EAAAM,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAb,KAAA,CAAAT,CAAA,EAAAC,CAAA,YAAAD,CAAA;AAAA,SAAAuB,cAAArB,CAAA,aAAAa,CAAA,MAAAA,CAAA,GAAAS,SAAA,CAAAC,MAAA,EAAAV,CAAA,UAAAf,CAAA,WAAAwB,SAAA,CAAAT,CAAA,IAAAS,SAAA,CAAAT,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAE,MAAA,CAAAhB,CAAA,OAAA0B,OAAA,WAAAX,CAAA,QAAAY,gBAAA,aAAAzB,CAAA,EAAAa,CAAA,EAAAf,CAAA,CAAAe,CAAA,SAAAC,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAA3B,CAAA,EAAAc,MAAA,CAAAY,yBAAA,CAAA5B,CAAA,KAAAc,OAAA,CAAAE,MAAA,CAAAhB,CAAA,GAAA0B,OAAA,WAAAX,CAAA,IAAAC,MAAA,CAAAc,cAAA,CAAA5B,CAAA,EAAAa,CAAA,EAAAC,MAAA,CAAAI,wBAAA,CAAApB,CAAA,EAAAe,CAAA,iBAAAb,CAAA;AAGjD,IAAM6B,eAAe,GAAG,CACvB;EACCC,KAAK,EAAE,WAAW;EAClBC,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAE,MAAM;EACbC,KAAK,EAAE;AACR,CAAC,CACD;AAED,IAAMC,UAAU,GAAG,CAClB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,MAAM,EACN,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,eAAe,CACf,CAACC,IAAI,CAAC,CAAC;AAER,IAAMC,aAAa,GAAG,IAAAC,mBAAW,EAAC;EACjCC,EAAE,EAAE,mBAAmB;EACvBC,WAAW,EACV,0EAA0E;EAC3EC,MAAM,EAAE;IACPC,QAAQ,EAAE;MACTC,IAAI,EAAE,QAAQ;MACdT,KAAK,EAAE,yBAAyB;MAChCU,UAAU,EAAE,IAAI;MAChBC,OAAO,EAAE;QACRC,OAAO,EAAEd;MACV;IACD,CAAC;IACDe,MAAM,EAAE;MACPJ,IAAI,EAAE,SAAS;MACfT,KAAK,EAAE;IACR,CAAC;IACDc,YAAY,EAAAxB,aAAA,CAAAA,aAAA,KACRyB,6BAAwB,CAACR,MAAM,CAACO,YAAY;MAC/Cd,KAAK,EAAE,iBAAiB;MACxBU,UAAU,EAAE;IAAK,EACjB;IACDM,UAAU,EAAA1B,aAAA,CAAAA,aAAA,KACNyB,6BAAwB,CAACR,MAAM,CAACS,UAAU;MAC7CN,UAAU,EAAE;IAAK,EACjB;IACDO,SAAS,EAAE;MACVR,IAAI,EAAE,QAAQ;MACdT,KAAK,EAAE,YAAY;MACnBkB,IAAI,EAAE,iDAAiD;MACvDP,OAAO,EAAE;QACRC,OAAO,EAAEX,UAAU,CAACkB,GAAG,CAAC,UAACC,KAAK;UAAA,OAAM;YAAErB,KAAK,EAAEqB,KAAK;YAAEpB,KAAK,EAAEoB;UAAM,CAAC;QAAA,CAAC;MACpE;IACD;EACD;AACD,CAAC,CAAC;AAEF,IAAMC,cAAc,GAAG,IAAAjB,mBAAW,EAAC;EAClCC,EAAE,EAAE,mBAAmB;EACvBE,MAAM,EAAE;IACPO,YAAY,EAAAxB,aAAA,CAAAA,aAAA,KACRa,aAAa,CAACI,MAAM,CAACO,YAAY;MACpCJ,UAAU,EAAE;IAAI,EAChB;IACDM,UAAU,EAAA1B,aAAA,CAAAA,aAAA,KACNa,aAAa,CAACI,MAAM,CAACS,UAAU;MAClCN,UAAU,EAAE;IAAI;EAElB;AACD,CAAC,CAAC;AAAA,IAImBY,YAAY,GAAAC,OAAA,qCAAAC,eAAA;EAAA,IAAAC,UAAA,aAAAH,YAAA,EAAAE,eAAA;EAAA,SAAAF,aAAA;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,YAAA;IAAA,SAAAM,IAAA,GAAArC,SAAA,CAAAC,MAAA,EAAAqC,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAxC,SAAA,CAAAwC,IAAA;IAAA;IAAAL,KAAA,GAAA5D,UAAA,OAAAwD,YAAA,KAAAU,MAAA,CAAAH,IAAA;IAAA,IAAAnC,gBAAA,iBAAAuC,uBAAA,aAAAP,KAAA,oBACMvB,aAAa;IAAA,IAAAT,gBAAA,iBAAAuC,uBAAA,aAAAP,KAAA,qBAC3B,CAAC,aAAa,CAAC;IAAA,IAAAhC,gBAAA,iBAAAuC,uBAAA,aAAAP,KAAA,wBACZ,yCAAyC;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAAQ,aAAA,aAAAZ,YAAA;IAAAa,GAAA;IAAApC,KAAA;MAAA,IAAAqC,QAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAEpE,SAAAC,QACC7B,OAAoC;QAAA,IAAA8B,WAAA;QAAA,IAAAC,qBAAA,EAAAlC,QAAA,EAAAK,MAAA,EAAAC,YAAA,EAAAE,UAAA,EAAAC,SAAA,EAAA0B,MAAA,EAAAC,IAAA,EAAAC,OAAA,EAAAC,KAAA,EAAAC,WAAA,EAAAC,MAAA;QAAA,OAAAV,YAAA,YAAAW,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAAX,qBAAA,GAGnC,IAAI,CAACY,2BAA2B,CAAC3C,OAAO,CAAC,EADpCH,QAAQ,GAAAkC,qBAAA,CAARlC,QAAQ,EAAEK,MAAM,GAAA6B,qBAAA,CAAN7B,MAAM,EAAEC,YAAY,GAAA4B,qBAAA,CAAZ5B,YAAY,EAAEE,UAAU,GAAA0B,qBAAA,CAAV1B,UAAU,EAAEC,SAAS,GAAAyB,qBAAA,CAATzB,SAAS;cAGrD0B,MAAM,GAAG,IAAI,CAACY,MAAM,CAAC,MAAM,CAAC;cAAA,MAGjC/C,QAAQ,KAAK,WAAW,IACxB,CAACK,MAAM,IACP,CAAC8B,MAAM,CAACa,uBAAuB,CAAC,IAAI,CAACC,GAAG,CAAC;gBAAAN,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OAE1B,IAAI,CAACK,EAAE,CAACC,OAAO,CAC7B,+CACD,CAAC;YAAA;cAFD9C,MAAM,GAAAsC,QAAA,CAAAS,IAAA;YAAA;cAAA,MAKH,CAAC/C,MAAM,IAAI,CAACC,YAAY;gBAAAqC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACrBT,IAAI,GAAG,IAAIiB,yBAAa,CAAC;gBAC9BH,EAAE,EAAE,IAAI,CAACA,EAAE;gBACXI,MAAM,EAAEzC,cAAc;gBACtB0C,iBAAiB,EAAEC,gBAAQ,CAACC;cAC7B,CAAC,CAAC;cAAAd,QAAA,CAAAE,IAAA;cAAA,OACoBT,IAAI,CAACsB,OAAO,CAAC,CAAC;YAAA;cAA9BrB,OAAO,GAAAM,QAAA,CAAAS,IAAA;cAEb5C,UAAU,GAAG6B,OAAO,CAAC7B,UAAU;cAC/BF,YAAY,GAAG+B,OAAO,CAAC/B,YAAY;YAAA;cAGpC,IAAID,MAAM,EAAE;gBACXC,YAAY,GAAG,MAAM;cACtB;cAAC,MAEG,CAACG,SAAS,IAAIT,QAAQ,KAAK,MAAM;gBAAA2C,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OAClB,IAAI,CAACK,EAAE,CAACS,MAAM,CAAA7E,aAAA,CAAAA,aAAA,KAC5Ba,aAAa,CAACI,MAAM,CAACU,SAAS;gBACjCP,UAAU,EAAE;cAAI,EAChB,CAAC;YAAA;cAHFO,SAAS,GAAAkC,QAAA,CAAAS,IAAA;YAAA;cAMV5C,UAAU,IAAAyB,WAAA,GAAGzB,UAAU,cAAAyB,WAAA,cAAAA,WAAA,GAAI2B,2BAAS,CAACC,QAAQ,CAACvD,YAAsB,CAAC;cAAAqC,QAAA,CAAAE,IAAA;cAAA,OAEjDV,MAAM,CACzBnC,QAAQ,KAAK,WAAW,GACrB,0BAA0B,GAC1B,qBAAqB,CACxB,CAAC,IAAI,CAACiD,GAAG,EAAE;gBACXjD,QAAQ,EAARA,QAAQ;gBACRQ,UAAU,EAAVA,UAAU;gBACVC,SAAS,EAAEA,SAAmB;gBAC9BqD,SAAS,EAAEF,2BAAS,CAACG,OAAO,CAACvD,UAAU;cACxC,CAAC,CAAC;YAAA;cATI8B,KAAK,GAAAK,QAAA,CAAAS,IAAA;cAAAT,QAAA,CAAAE,IAAA;cAAA,OAWe,IAAI,CAACmB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC;YAAA;cAA3D1B,WAAW,GAAAI,QAAA,CAAAS,IAAA;cAEXZ,MAAM,GAAG0B,kBAAU,CAACC,kBAAkB,CAC3C;gBACC7B,KAAK,EAALA;cACD,CAAC,EACDC,WACD,CAAC;cAAA,OAAAI,QAAA,CAAAyB,MAAA,WAEM5B,MAAM;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAA0B,IAAA;UAAA;QAAA,GAAArC,OAAA;MAAA,CACb;MAAA,SAAAiC,QAAAK,EAAA;QAAA,OAAA1C,QAAA,CAAA5D,KAAA,OAAAe,SAAA;MAAA;MAAA,OAAAkF,OAAA;IAAA;EAAA;EAAA,OAAAnD,YAAA;AAAA,EArEwCyD,2BAAc","ignoreList":[]}
1
+ {"version":3,"file":"CreateAction.js","names":["_schema","require","_spruceSkillUtils","_FormComponent","_interopRequireDefault","_namedTemplateItem","_action","_form","_AbstractAction2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","CreateAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","optionsSchema","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","options","_namePascal","_this$validateAndNorm","viewType","isRoot","nameReadable","namePascal","viewModel","writer","form","answers","files","syncResults","merged","wrap","_callee$","_context","prev","next","validateAndNormalizeOptions","Writer","doesRootControllerExist","cwd","ui","confirm","sent","FormComponent","schema","followUpSchema","onWillAskQuestion","formUtil","onWillAskQuestionHandler","present","prompt","fields","isRequired","namesUtil","toPascal","nameKebab","toKebab","Action","execute","actionUtil","mergeActionResults","abrupt","stop","_x","AbstractAction","viewTypeChoices","label","viewModels","sort","buildSchema","id","description","type","choices","namedTemplateItemBuilder","hint","map","model"],"sources":["../../../../src/features/view/actions/CreateAction.ts"],"sourcesContent":["import { buildSchema, SchemaValues } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport FormComponent from '../../../components/FormComponent'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport formUtil from '../../../utilities/form.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport default class CreateAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic commandAliases = ['create.view']\n\tpublic invocationMessage = 'Creating your new view controller... 🌲'\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tlet { viewType, isRoot, nameReadable, namePascal, viewModel } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst writer = this.Writer('view')\n\n\t\tif (\n\t\t\tviewType === 'skillView' &&\n\t\t\t!isRoot &&\n\t\t\t!writer.doesRootControllerExist(this.cwd)\n\t\t) {\n\t\t\tisRoot = await this.ui.confirm(\n\t\t\t\t'Do you want to create a root view controller?'\n\t\t\t)\n\t\t}\n\n\t\tif (!isRoot && !nameReadable) {\n\t\t\tconst form = new FormComponent({\n\t\t\t\tui: this.ui,\n\t\t\t\tschema: followUpSchema,\n\t\t\t\tonWillAskQuestion: formUtil.onWillAskQuestionHandler,\n\t\t\t})\n\t\t\tconst answers = await form.present()\n\n\t\t\tnamePascal = answers.namePascal\n\t\t\tnameReadable = answers.nameReadable\n\t\t}\n\n\t\tif (isRoot) {\n\t\t\tnameReadable = 'Root'\n\t\t}\n\n\t\tif (!viewModel && viewType === 'view') {\n\t\t\tviewModel = await this.ui.prompt({\n\t\t\t\t...optionsSchema.fields.viewModel,\n\t\t\t\tisRequired: true,\n\t\t\t})\n\t\t}\n\n\t\tnamePascal = namePascal ?? namesUtil.toPascal(nameReadable as string)\n\n\t\tconst files = await writer[\n\t\t\tviewType === 'skillView'\n\t\t\t\t? 'writeSkillViewController'\n\t\t\t\t: 'writeViewController'\n\t\t](this.cwd, {\n\t\t\tviewType,\n\t\t\tnamePascal,\n\t\t\tviewModel: viewModel as string,\n\t\t\tnameKebab: namesUtil.toKebab(namePascal),\n\t\t})\n\n\t\tconst syncResults = await this.Action('view', 'sync').execute({})\n\n\t\tconst merged = actionUtil.mergeActionResults(\n\t\t\t{\n\t\t\t\tfiles,\n\t\t\t},\n\t\t\tsyncResults\n\t\t)\n\n\t\treturn merged\n\t}\n}\n\nconst viewTypeChoices = [\n\t{\n\t\tvalue: 'skillView',\n\t\tlabel: 'Skill View Controller',\n\t},\n\t{\n\t\tvalue: 'view',\n\t\tlabel: 'View Controller',\n\t},\n]\n\nconst viewModels = [\n\t'BigForm',\n\t'Button',\n\t'Calendar',\n\t'Card',\n\t'CardBody',\n\t'CardHeader',\n\t'Dialog',\n\t'Form',\n\t'List',\n\t'CalendarEvent',\n].sort()\n\nconst optionsSchema = buildSchema({\n\tid: 'createViewOptions',\n\tdescription:\n\t\t'Create a new Heartwood view to render on web enabled and mobile devices.',\n\tfields: {\n\t\tviewType: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'Which are you creating?',\n\t\t\tisRequired: true,\n\t\t\toptions: {\n\t\t\t\tchoices: viewTypeChoices,\n\t\t\t},\n\t\t},\n\t\tisRoot: {\n\t\t\ttype: 'boolean',\n\t\t\tlabel: 'Make this the Root View Controller?',\n\t\t},\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tlabel: 'Controller name',\n\t\t\tisRequired: false,\n\t\t},\n\t\tnamePascal: {\n\t\t\t...namedTemplateItemBuilder.fields.namePascal,\n\t\t\tisRequired: false,\n\t\t},\n\t\tviewModel: {\n\t\t\ttype: 'select',\n\t\t\tlabel: 'View model',\n\t\t\thint: 'Which type of view will your controller render?',\n\t\t\toptions: {\n\t\t\t\tchoices: viewModels.map((model) => ({ value: model, label: model })),\n\t\t\t},\n\t\t},\n\t},\n})\n\nconst followUpSchema = buildSchema({\n\tid: 'creatViewFollowup',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...optionsSchema.fields.nameReadable,\n\t\t\tisRequired: true,\n\t\t},\n\t\tnamePascal: {\n\t\t\t...optionsSchema.fields.namePascal,\n\t\t\tisRequired: true,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,56 @@
1
+ import { SchemaValues } from '@sprucelabs/schema';
2
+ import AbstractAction from '../../AbstractAction';
3
+ import { FeatureActionResponse } from '../../features.types';
4
+ export default class CreatePluginAction extends AbstractAction<OptionsSchema> {
5
+ optionsSchema: {
6
+ id: string;
7
+ fields: {
8
+ nameReadable: {
9
+ label: string;
10
+ type: "text";
11
+ hint: string;
12
+ isRequired: true;
13
+ };
14
+ nameCamel: {
15
+ isRequired: false;
16
+ type: "text";
17
+ label: string;
18
+ hint: string;
19
+ };
20
+ namePascal: {
21
+ isRequired: false;
22
+ type: "text";
23
+ label: string;
24
+ hint: string;
25
+ };
26
+ };
27
+ };
28
+ invocationMessage: string;
29
+ commandAliases: string[];
30
+ execute(options: SchemaValues<OptionsSchema>): Promise<FeatureActionResponse>;
31
+ }
32
+ declare const optionsSchema: {
33
+ id: string;
34
+ fields: {
35
+ nameReadable: {
36
+ label: string;
37
+ type: "text";
38
+ hint: string;
39
+ isRequired: true;
40
+ };
41
+ nameCamel: {
42
+ isRequired: false;
43
+ type: "text";
44
+ label: string;
45
+ hint: string;
46
+ };
47
+ namePascal: {
48
+ isRequired: false;
49
+ type: "text";
50
+ label: string;
51
+ hint: string;
52
+ };
53
+ };
54
+ };
55
+ type OptionsSchema = typeof optionsSchema;
56
+ export {};
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _schema = require("@sprucelabs/schema");
18
+ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
19
+ var _namedTemplateItem = _interopRequireDefault(require("../../../schemas/v2020_07_22/namedTemplateItem.builder"));
20
+ var _action = _interopRequireDefault(require("../../../utilities/action.utility"));
21
+ var _AbstractAction2 = _interopRequireDefault(require("../../AbstractAction"));
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
25
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
26
+ var CreatePluginAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
27
+ (0, _inherits2["default"])(CreatePluginAction, _AbstractAction);
28
+ function CreatePluginAction() {
29
+ var _this;
30
+ (0, _classCallCheck2["default"])(this, CreatePluginAction);
31
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
32
+ args[_key] = arguments[_key];
33
+ }
34
+ _this = _callSuper(this, CreatePluginAction, [].concat(args));
35
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "optionsSchema", optionsSchema);
36
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "invocationMessage", 'Creating a new view plugin... 🖼️');
37
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "commandAliases", ['create.view.plugin']);
38
+ return _this;
39
+ }
40
+ (0, _createClass2["default"])(CreatePluginAction, [{
41
+ key: "execute",
42
+ value: function () {
43
+ var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(options) {
44
+ var _this$validateAndNorm, nameReadable, nameCamel, namePascal, normalizedNameCamel, normalizedNamePascal, writer, files, sync;
45
+ return _regenerator["default"].wrap(function _callee$(_context) {
46
+ while (1) switch (_context.prev = _context.next) {
47
+ case 0:
48
+ _this$validateAndNorm = this.validateAndNormalizeOptions(options), nameReadable = _this$validateAndNorm.nameReadable, nameCamel = _this$validateAndNorm.nameCamel, namePascal = _this$validateAndNorm.namePascal;
49
+ normalizedNameCamel = nameCamel !== null && nameCamel !== void 0 ? nameCamel : _spruceSkillUtils.namesUtil.toCamel(nameReadable);
50
+ normalizedNamePascal = namePascal !== null && namePascal !== void 0 ? namePascal : _spruceSkillUtils.namesUtil.toPascal(normalizedNameCamel);
51
+ writer = this.Writer('view');
52
+ _context.next = 6;
53
+ return writer.writeViewControllerPlugin({
54
+ cwd: this.cwd,
55
+ nameCamel: normalizedNameCamel,
56
+ namePascal: normalizedNamePascal
57
+ });
58
+ case 6:
59
+ files = _context.sent;
60
+ _context.next = 9;
61
+ return this.Action('view', 'sync').execute({});
62
+ case 9:
63
+ sync = _context.sent;
64
+ return _context.abrupt("return", _action["default"].mergeActionResults({
65
+ files: files
66
+ }, sync));
67
+ case 11:
68
+ case "end":
69
+ return _context.stop();
70
+ }
71
+ }, _callee, this);
72
+ }));
73
+ function execute(_x) {
74
+ return _execute.apply(this, arguments);
75
+ }
76
+ return execute;
77
+ }()
78
+ }]);
79
+ return CreatePluginAction;
80
+ }(_AbstractAction2["default"]);
81
+ var optionsSchema = (0, _schema.buildSchema)({
82
+ id: 'createViewPluginOptions',
83
+ fields: {
84
+ nameReadable: _objectSpread(_objectSpread({}, _namedTemplateItem["default"].fields.nameReadable), {}, {
85
+ label: 'Plugin name'
86
+ }),
87
+ nameCamel: _objectSpread(_objectSpread({}, _namedTemplateItem["default"].fields.nameCamel), {}, {
88
+ isRequired: false
89
+ }),
90
+ namePascal: _objectSpread(_objectSpread({}, _namedTemplateItem["default"].fields.namePascal), {}, {
91
+ isRequired: false
92
+ })
93
+ }
94
+ });
95
+ //# sourceMappingURL=CreatePluginAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreatePluginAction.js","names":["_schema","require","_spruceSkillUtils","_namedTemplateItem","_interopRequireDefault","_action","_AbstractAction2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","CreatePluginAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","optionsSchema","_createClass2","key","value","_execute","_asyncToGenerator2","_regenerator","mark","_callee","options","_this$validateAndNorm","nameReadable","nameCamel","namePascal","normalizedNameCamel","normalizedNamePascal","writer","files","sync","wrap","_callee$","_context","prev","next","validateAndNormalizeOptions","namesUtil","toCamel","toPascal","Writer","writeViewControllerPlugin","cwd","sent","Action","execute","abrupt","actionUtil","mergeActionResults","stop","_x","AbstractAction","buildSchema","id","fields","namedTemplateItemBuilder","label","isRequired"],"sources":["../../../../src/features/view/actions/CreatePluginAction.ts"],"sourcesContent":["import { SchemaValues, buildSchema } from '@sprucelabs/schema'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport namedTemplateItemBuilder from '../../../schemas/v2020_07_22/namedTemplateItem.builder'\nimport actionUtil from '../../../utilities/action.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nexport default class CreatePluginAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema = optionsSchema\n\tpublic invocationMessage = 'Creating a new view plugin... 🖼️'\n\tpublic commandAliases: string[] = ['create.view.plugin']\n\n\tpublic async execute(\n\t\toptions: SchemaValues<OptionsSchema>\n\t): Promise<FeatureActionResponse> {\n\t\tconst { nameReadable, nameCamel, namePascal } =\n\t\t\tthis.validateAndNormalizeOptions(options)\n\n\t\tconst normalizedNameCamel = nameCamel ?? namesUtil.toCamel(nameReadable)\n\t\tconst normalizedNamePascal =\n\t\t\tnamePascal ?? namesUtil.toPascal(normalizedNameCamel)\n\n\t\tconst writer = this.Writer('view')\n\t\tconst files = await writer.writeViewControllerPlugin({\n\t\t\tcwd: this.cwd,\n\t\t\tnameCamel: normalizedNameCamel,\n\t\t\tnamePascal: normalizedNamePascal,\n\t\t})\n\n\t\tconst sync = await this.Action('view', 'sync').execute({})\n\n\t\treturn actionUtil.mergeActionResults({ files }, sync)\n\t}\n}\n\nconst optionsSchema = buildSchema({\n\tid: 'createViewPluginOptions',\n\tfields: {\n\t\tnameReadable: {\n\t\t\t...namedTemplateItemBuilder.fields.nameReadable,\n\t\t\tlabel: 'Plugin name',\n\t\t},\n\t\tnameCamel: {\n\t\t\t...namedTemplateItemBuilder.fields.nameCamel,\n\t\t\tisRequired: false,\n\t\t},\n\t\tnamePascal: {\n\t\t\t...namedTemplateItemBuilder.fields.namePascal,\n\t\t\tisRequired: false,\n\t\t},\n\t},\n})\n\ntype OptionsSchema = typeof optionsSchema\n"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,6 @@
1
1
  import { SchemaValues } from '@sprucelabs/schema';
2
2
  import AbstractAction from '../../AbstractAction';
3
3
  import { FeatureActionResponse } from '../../features.types';
4
- declare const optionsSchema: {
5
- id: string;
6
- description: string;
7
- fields: {};
8
- };
9
- type OptionsSchema = typeof optionsSchema;
10
4
  export default class SyncAction extends AbstractAction<OptionsSchema> {
11
5
  optionsSchema: OptionsSchema;
12
6
  commandAliases: string[];
@@ -14,4 +8,10 @@ export default class SyncAction extends AbstractAction<OptionsSchema> {
14
8
  execute(_options: SchemaValues<OptionsSchema>): Promise<FeatureActionResponse>;
15
9
  private mapIntrospectedClassToTemplateItem;
16
10
  }
11
+ declare const optionsSchema: {
12
+ id: string;
13
+ description: string;
14
+ fields: {};
15
+ };
16
+ type OptionsSchema = typeof optionsSchema;
17
17
  export {};
@@ -19,16 +19,13 @@ var _schema = require("@sprucelabs/schema");
19
19
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
20
20
  var _introspection = _interopRequireDefault(require("../../../utilities/introspection.utility"));
21
21
  var _AbstractAction2 = _interopRequireDefault(require("../../AbstractAction"));
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
24
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
23
25
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
26
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
25
27
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
26
28
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
27
- var optionsSchema = (0, _schema.buildSchema)({
28
- id: 'syncViewsOptions',
29
- description: 'Keep types and generated files based on views in sync.',
30
- fields: {}
31
- });
32
29
  var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
33
30
  (0, _inherits2["default"])(SyncAction, _AbstractAction);
34
31
  function SyncAction() {
@@ -48,13 +45,13 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
48
45
  value: function () {
49
46
  var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_options) {
50
47
  var _this2 = this;
51
- var targetDir, matches, paths, introspect, vcTemplateItems, svcTemplateItems, namespace, files;
48
+ var targetDir, matches, paths, introspect, vcTemplateItems, svcTemplateItems, viewPluginItems, namespace, files;
52
49
  return _regenerator["default"].wrap(function _callee$(_context) {
53
50
  while (1) switch (_context.prev = _context.next) {
54
51
  case 0:
55
52
  targetDir = _spruceSkillUtils.diskUtil.resolvePath(this.cwd, 'src');
56
53
  _context.next = 3;
57
- return (0, _globby["default"])(['**/*.svc.ts', '**/*.vc.ts'], {
54
+ return (0, _globby["default"])(['**/*.svc.ts', '**/*.vc.ts', '**/*.view.plugin.ts'], {
58
55
  cwd: targetDir
59
56
  });
60
57
  case 3:
@@ -71,6 +68,7 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
71
68
  introspect = _introspection["default"].introspect(paths);
72
69
  vcTemplateItems = [];
73
70
  svcTemplateItems = [];
71
+ viewPluginItems = [];
74
72
  introspect.forEach(function (_ref) {
75
73
  var classes = _ref.classes;
76
74
  var _iterator = _createForOfIteratorHelper(classes),
@@ -80,9 +78,12 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
80
78
  var thisClass = _step.value;
81
79
  var _this2$mapIntrospecte = _this2.mapIntrospectedClassToTemplateItem(thisClass),
82
80
  vc = _this2$mapIntrospecte.vc,
83
- svc = _this2$mapIntrospecte.svc;
81
+ svc = _this2$mapIntrospecte.svc,
82
+ plugin = _this2$mapIntrospecte.plugin;
84
83
  if (vc) {
85
84
  vcTemplateItems.push(vc);
85
+ } else if (plugin) {
86
+ viewPluginItems.push(plugin);
86
87
  } else if (svc) {
87
88
  svcTemplateItems.push(svc);
88
89
  }
@@ -93,22 +94,23 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
93
94
  _iterator.f();
94
95
  }
95
96
  });
96
- _context.next = 13;
97
+ _context.next = 14;
97
98
  return this.Store('skill').loadCurrentSkillsNamespace();
98
- case 13:
99
+ case 14:
99
100
  namespace = _context.sent;
100
- _context.next = 16;
101
+ _context.next = 17;
101
102
  return this.Writer('view').writeCombinedViewsFile(this.cwd, {
102
103
  namespaceKebab: _spruceSkillUtils.namesUtil.toKebab(namespace),
103
104
  vcTemplateItems: vcTemplateItems,
104
- svcTemplateItems: svcTemplateItems
105
+ svcTemplateItems: svcTemplateItems,
106
+ viewPluginItems: viewPluginItems
105
107
  });
106
- case 16:
108
+ case 17:
107
109
  files = _context.sent;
108
110
  return _context.abrupt("return", {
109
111
  files: files
110
112
  });
111
- case 18:
113
+ case 19:
112
114
  case "end":
113
115
  return _context.stop();
114
116
  }
@@ -129,17 +131,29 @@ var SyncAction = exports["default"] = /*#__PURE__*/function (_AbstractAction) {
129
131
  };
130
132
  var vc;
131
133
  var svc;
134
+ var plugin;
132
135
  if (c.classPath.endsWith('.svc.ts')) {
133
136
  svc = item;
137
+ } else if (c.classPath.endsWith('view.plugin.ts')) {
138
+ var nameCamel = c.classPath.match(/([^/]+).view.plugin.ts$/)[1];
139
+ plugin = _objectSpread(_objectSpread({}, item), {}, {
140
+ nameCamel: nameCamel
141
+ });
134
142
  } else {
135
143
  vc = item;
136
144
  }
137
145
  return {
138
146
  svc: svc,
139
- vc: vc
147
+ vc: vc,
148
+ plugin: plugin
140
149
  };
141
150
  }
142
151
  }]);
143
152
  return SyncAction;
144
153
  }(_AbstractAction2["default"]);
154
+ var optionsSchema = (0, _schema.buildSchema)({
155
+ id: 'syncViewsOptions',
156
+ description: 'Keep types and generated files based on views in sync.',
157
+ fields: {}
158
+ });
145
159
  //# sourceMappingURL=SyncAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SyncAction.js","names":["_globby","_interopRequireDefault","require","_schema","_spruceSkillUtils","_introspection","_AbstractAction2","_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","optionsSchema","buildSchema","id","description","fields","SyncAction","exports","_AbstractAction","_inherits2","_this","_classCallCheck2","_len","arguments","args","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","_execute","_asyncToGenerator2","_regenerator","mark","_callee","_options","_this2","targetDir","matches","paths","introspect","vcTemplateItems","svcTemplateItems","namespace","files","wrap","_callee$","_context","prev","diskUtil","resolvePath","cwd","globby","sent","abrupt","map","m","introspectionUtil","forEach","_ref","classes","_iterator","_step","thisClass","_this2$mapIntrospecte","mapIntrospectedClassToTemplateItem","vc","svc","push","Store","loadCurrentSkillsNamespace","Writer","writeCombinedViewsFile","namespaceKebab","namesUtil","toKebab","stop","execute","_x","c","item","staticProperties","namePascal","className","path","classPath","endsWith","AbstractAction"],"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 { VcTemplateItem } from '../../../../../spruce-templates/build'\nimport introspectionUtil, {\n\tIntrospectionClass,\n} from '../../../utilities/introspection.utility'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\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\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(['**/*.svc.ts', '**/*.vc.ts'], {\n\t\t\tcwd: targetDir,\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\n\t\tintrospect.forEach(({ classes }) => {\n\t\t\tfor (const thisClass of classes) {\n\t\t\t\tconst { vc, svc } = this.mapIntrospectedClassToTemplateItem(thisClass)\n\n\t\t\t\tif (vc) {\n\t\t\t\t\tvcTemplateItems.push(vc)\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})\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} {\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\n\t\tif (c.classPath.endsWith('.svc.ts')) {\n\t\t\tsvc = item\n\t\t} else {\n\t\t\tvc = item\n\t\t}\n\n\t\treturn { svc, vc }\n\t}\n}\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","_inherits2","_this","_classCallCheck2","_len","args","_key","concat","_assertThisInitialized2","optionsSchema","_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":[]}
@@ -15,6 +15,11 @@ export default class ViewWriter extends AbstractWriter {
15
15
  }): Promise<import("../../../writers/AbstractWriter").WriteResults>;
16
16
  private writeController;
17
17
  doesRootControllerExist(cwd: string): boolean;
18
+ writeViewControllerPlugin(options: {
19
+ cwd: string;
20
+ nameCamel: string;
21
+ namePascal: string;
22
+ }): Promise<import("../../../writers/AbstractWriter").WriteResults>;
18
23
  writePlugin(cwd: string): Promise<import("../../../writers/AbstractWriter").WriteResults>;
19
24
  writeTheme(cwd: string): Promise<import("../../../writers/AbstractWriter").WriteResults>;
20
25
  private buildThemePath;