@sprucelabs/spruce-templates 18.2.0 → 18.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import path from 'path';
2
+ import { PermissionContractMap } from '@sprucelabs/mercury-types';
1
3
  import { Schema, SchemaTemplateItem, FieldTemplateItem } from '@sprucelabs/schema';
2
4
  import { TemplateRenderAs } from '@sprucelabs/schema';
3
5
  import handlebars from 'handlebars';
@@ -63,12 +65,22 @@ export declare const templates: {
63
65
  eventOptions(options: {
64
66
  isGlobal: boolean;
65
67
  }): string;
68
+ permissionPlugin(): string;
69
+ permissions(options: {
70
+ contracts: {
71
+ path: string;
72
+ nameCamel: string;
73
+ }[];
74
+ }): string;
66
75
  permissionContractBuilder(options: {
67
76
  nameCamel: string;
68
77
  nameKebab: string;
69
78
  nameReadable: string;
70
79
  description?: string;
71
80
  }): string;
81
+ permissionTypes(options: {
82
+ contracts: PermissionContractMap;
83
+ }): string;
72
84
  eventEmitPayload(options: EventPayloadOptions): string;
73
85
  eventEmitTarget(options: EventPayloadOptions): string;
74
86
  eventResponsePayload(options: EventPayloadOptions): string;
package/build/index.js CHANGED
@@ -157,10 +157,22 @@ exports.templates = {
157
157
  isGlobal: options.isGlobal ? 'true' : 'false',
158
158
  });
159
159
  },
160
+ permissionPlugin() {
161
+ const template = templateImporter_utility_1.default.getTemplate('permissions/permission.plugin.ts.hbs');
162
+ return template({});
163
+ },
164
+ permissions(options) {
165
+ const template = templateImporter_utility_1.default.getTemplate('permissions/permissions.ts.hbs');
166
+ return template({ ...options });
167
+ },
160
168
  permissionContractBuilder(options) {
161
169
  const template = templateImporter_utility_1.default.getTemplate('permissions/contract.builder.ts.hbs');
162
170
  return template(options);
163
171
  },
172
+ permissionTypes(options) {
173
+ const template = templateImporter_utility_1.default.getTemplate('permissions/permissions.types.ts.hbs');
174
+ return template(options);
175
+ },
164
176
  eventEmitPayload(options) {
165
177
  const template = templateImporter_utility_1.default.getTemplate('event/payload.builder.ts.hbs');
166
178
  return template({ ...options, actionCamel: 'EmitPayload' });
@@ -39,7 +39,7 @@ node_modules/
39
39
  # Rejected "git apply" patch files
40
40
  *.rej
41
41
 
42
- build/
42
+ /build/
43
43
  esm/
44
44
 
45
45
  tmp/
@@ -1,3 +1,4 @@
1
+ import '#spruce/permissions/permissions.types'
1
2
  {{#each imports}}
2
3
  import {{importAs}} from '{{package}}'
3
4
  {{/each}}
@@ -8,6 +9,8 @@ const {{nameCamel}}EventContract = buildEventContract({
8
9
  {{#each eventSignatures}}
9
10
  '{{@key}}': {
10
11
  {{#if isGlobal}}isGlobal: true,{{/if}}
12
+ {{#if emitPermissions}}emitPermissions: {{{json emitPermissions}}},{{/if}}
13
+ {{#if listenPermissions}}listenPermissions: {{{json listenPermissions}}},{{/if}}
11
14
  {{#if emitPayloadSchema}}emitPayloadSchema: {{emitPayloadSchema.nameCamel}}Schema,{{/if}}
12
15
  {{#if responsePayloadSchema}}responsePayloadSchema: {{responsePayloadSchema.nameCamel}}Schema,{{/if}}
13
16
  {{#if emitPermissionContract}}emitPermissionContract: {{{ permissionContractBuilder emitPermissionContract }}},{{/if}}
@@ -1,4 +1,5 @@
1
1
  import { EventSignature } from '@sprucelabs/mercury-types'
2
+ import '#spruce/permissions/permissions.types'
2
3
 
3
4
  type Options = Omit<EventSignature, 'responsePayloadSchema'| 'emitPayloadSchema'| 'listenPermissionContract'| 'emitPermissionContract' >
4
5
 
@@ -0,0 +1 @@
1
+ export { plugin as default } from '@sprucelabs/spruce-permission-plugin'
@@ -0,0 +1,13 @@
1
+ import { PermissionContract } from "@sprucelabs/mercury-types"
2
+ {{#each contracts}}
3
+ import {{nameCamel}}PermissionContract from '{{path}}'
4
+ {{/each}}
5
+
6
+ const contracts: PermissionContract[] = [
7
+ {{#each contracts}}
8
+ {{nameCamel}}PermissionContract,
9
+ {{/each}}
10
+ ]
11
+
12
+
13
+ export default contracts
@@ -0,0 +1,12 @@
1
+ declare module '@sprucelabs/mercury-types/build/types/mercury.types' {
2
+ interface PermissionContractMap {
3
+ {{#each contracts}}
4
+ '{{@key}}': [
5
+ {{#each this}}'{{this}}',{{/each}}
6
+ ]
7
+ {{/each}}
8
+ }
9
+ }
10
+
11
+
12
+ export interface PermissionContractMap {}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "18.2.0",
6
+ "version": "18.3.1",
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": "^37.2.10",
60
- "@sprucelabs/schema": "^28.5.70",
61
- "@sprucelabs/spruce-event-utils": "^29.2.9",
62
- "@sprucelabs/spruce-skill-utils": "^28.0.55",
59
+ "@sprucelabs/mercury-types": "^38.0.0",
60
+ "@sprucelabs/schema": "^28.5.74",
61
+ "@sprucelabs/spruce-event-utils": "^30.0.0",
62
+ "@sprucelabs/spruce-skill-utils": "^28.1.3",
63
63
  "fs-extra": "^10.1.0",
64
64
  "globby": "11.0.4",
65
65
  "handlebars": "^4.7.7",
@@ -68,12 +68,12 @@
68
68
  },
69
69
  "devDependencies": {
70
70
  "@types/fs-extra": "^9.0.13",
71
- "@types/lodash": "^4.14.189",
72
- "@types/node": "^18.11.9",
71
+ "@types/lodash": "^4.14.191",
72
+ "@types/node": "^18.11.10",
73
73
  "chokidar-cli": "^3.0.0",
74
74
  "concurrently": "^7.6.0",
75
75
  "conventional-changelog-sprucelabs": "^1.1.2",
76
- "prettier": "^2.7.1",
76
+ "prettier": "^2.8.0",
77
77
  "typescript": "^4.9.3"
78
78
  },
79
79
  "yarn-upgrade-all": {
@@ -81,5 +81,5 @@
81
81
  "globby"
82
82
  ]
83
83
  },
84
- "gitHead": "e0f267fd2ff0c7593c9395904231de786fe2d515"
84
+ "gitHead": "b837a2b5de3ff892d8b01f4e73c407ab54a11eec"
85
85
  }