@lssm/example.saas-boilerplate 0.0.0-canary-20251216035145 → 0.0.0-canary-20251217023603
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/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +8 -8
- package/dist/billing/billing.presentation.js +1 -1
- package/dist/dashboard/dashboard.presentation.js +1 -1
- package/dist/project/project.presentation.js +1 -1
- package/dist/saas-boilerplate.feature.js +1 -1
- package/package.json +1 -1
- package/src/billing/billing.presentation.ts +2 -2
- package/src/dashboard/dashboard.presentation.ts +2 -2
- package/src/project/project.presentation.ts +2 -2
- package/src/saas-boilerplate.feature.ts +11 -10
- package/tsconfig.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -2,7 +2,7 @@ $ bun build:bundle && bun build:types
|
|
|
2
2
|
$ tsdown
|
|
3
3
|
[34mℹ[39m tsdown [2mv0.17.4[22m powered by rolldown [2mv1.0.0-beta.53[22m
|
|
4
4
|
[34mℹ[39m config file: [4m/home/runner/work/contractspec/contractspec/packages/examples/saas-boilerplate/tsdown.config.js[24m
|
|
5
|
-
[34mℹ[39m entry: [34msrc/example.ts, src/index.ts, src/saas-boilerplate.feature.ts, src/
|
|
5
|
+
[34mℹ[39m entry: [34msrc/example.ts, src/index.ts, src/saas-boilerplate.feature.ts, src/dashboard/dashboard.presentation.ts, src/dashboard/index.ts, src/docs/index.ts, src/docs/saas-boilerplate.docblock.ts, src/billing/billing.contracts.ts, src/billing/billing.entity.ts, src/billing/billing.enum.ts, src/billing/billing.event.ts, src/billing/billing.handler.ts, src/billing/billing.presentation.ts, src/billing/billing.schema.ts, src/billing/index.ts, src/handlers/index.ts, src/presentations/index.ts, src/project/index.ts, src/project/project.contracts.ts, src/project/project.entity.ts, src/project/project.enum.ts, src/project/project.event.ts, src/project/project.handler.ts, src/project/project.presentation.ts, src/project/project.schema.ts, src/settings/index.ts, src/settings/settings.entity.ts, src/settings/settings.enum.ts, src/shared/mock-data.ts[39m
|
|
6
6
|
[34mℹ[39m target: [34mesnext[39m
|
|
7
7
|
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
8
8
|
[34mℹ[39m Build start
|
|
@@ -13,7 +13,7 @@ $ tsdown
|
|
|
13
13
|
[34mℹ[39m [2mdist/[22m[1mbilling/billing.entity.js[22m [2m2.57 kB[22m [2m│ gzip: 0.94 kB[22m
|
|
14
14
|
[34mℹ[39m [2mdist/[22m[1mproject/project.schema.js[22m [2m2.57 kB[22m [2m│ gzip: 0.59 kB[22m
|
|
15
15
|
[34mℹ[39m [2mdist/[22m[1mshared/mock-data.js[22m [2m2.06 kB[22m [2m│ gzip: 0.78 kB[22m
|
|
16
|
-
[34mℹ[39m [2mdist/[22m[1msaas-boilerplate.feature.js[22m [
|
|
16
|
+
[34mℹ[39m [2mdist/[22m[1msaas-boilerplate.feature.js[22m [2m2.00 kB[22m [2m│ gzip: 0.52 kB[22m
|
|
17
17
|
[34mℹ[39m [2mdist/[22m[1mproject/index.js[22m [2m1.87 kB[22m [2m│ gzip: 0.50 kB[22m
|
|
18
18
|
[34mℹ[39m [2mdist/[22m[1mbilling/index.js[22m [2m1.87 kB[22m [2m│ gzip: 0.51 kB[22m
|
|
19
19
|
[34mℹ[39m [2mdist/[22m[1mbilling/billing.contracts.js[22m [2m1.86 kB[22m [2m│ gzip: 0.69 kB[22m
|
|
@@ -35,6 +35,6 @@ $ tsdown
|
|
|
35
35
|
[34mℹ[39m [2mdist/[22m[1msettings/index.js[22m [2m0.21 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
36
36
|
[34mℹ[39m [2mdist/[22m[1mdashboard/index.js[22m [2m0.17 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
37
37
|
[34mℹ[39m [2mdist/[22m[1mdocs/index.js[22m [2m0.04 kB[22m [2m│ gzip: 0.06 kB[22m
|
|
38
|
-
[34mℹ[39m 29 files, total: 43.
|
|
39
|
-
[32m✔[39m Build complete in [
|
|
38
|
+
[34mℹ[39m 29 files, total: 43.06 kB
|
|
39
|
+
[32m✔[39m Build complete in [32m66ms[39m
|
|
40
40
|
$ tsc --noEmit
|
package/CHANGELOG.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# @lssm/example.saas-boilerplate
|
|
2
2
|
|
|
3
|
-
## 0.0.0-canary-
|
|
3
|
+
## 0.0.0-canary-20251217023603
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
7
|
- 3086383: refactor: dependencies upgrade
|
|
8
8
|
- Updated dependencies [3086383]
|
|
9
|
-
- @lssm/lib.contracts@0.0.0-canary-
|
|
10
|
-
- @lssm/lib.schema@0.0.0-canary-
|
|
11
|
-
- @lssm/lib.jobs@0.0.0-canary-
|
|
12
|
-
- @lssm/lib.bus@0.0.0-canary-
|
|
13
|
-
- @lssm/lib.identity-rbac@0.0.0-canary-
|
|
14
|
-
- @lssm/module.audit-trail@0.0.0-canary-
|
|
15
|
-
- @lssm/module.notifications@0.0.0-canary-
|
|
9
|
+
- @lssm/lib.contracts@0.0.0-canary-20251217023603
|
|
10
|
+
- @lssm/lib.schema@0.0.0-canary-20251217023603
|
|
11
|
+
- @lssm/lib.jobs@0.0.0-canary-20251217023603
|
|
12
|
+
- @lssm/lib.bus@0.0.0-canary-20251217023603
|
|
13
|
+
- @lssm/lib.identity-rbac@0.0.0-canary-20251217023603
|
|
14
|
+
- @lssm/module.audit-trail@0.0.0-canary-20251217023603
|
|
15
|
+
- @lssm/module.notifications@0.0.0-canary-20251217023603
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={meta:{name:`saas.billing.subscription`,version:1,description:`Subscription status with plan info, limits, and current usage`,domain:`saas-boilerplate`,owners:[
|
|
1
|
+
const e={meta:{name:`saas.billing.subscription`,version:1,description:`Subscription status with plan info, limits, and current usage`,domain:`saas-boilerplate`,owners:[`@saas-team`],tags:[`billing`,`subscription`]},source:{type:`component`,framework:`react`,componentKey:`SubscriptionView`},targets:[`react`,`markdown`],policy:{flags:[`saas.billing.enabled`]}},t={meta:{name:`saas.billing.usage`,version:1,description:`Usage metrics and breakdown by resource type`,domain:`saas-boilerplate`,owners:[`@saas-team`],tags:[`billing`,`usage`,`metrics`]},source:{type:`component`,framework:`react`,componentKey:`UsageDashboardView`},targets:[`react`,`markdown`],policy:{flags:[`saas.billing.enabled`]}};export{e as SubscriptionPresentation,t as UsageDashboardPresentation};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={meta:{name:`saas.dashboard`,version:1,description:`Main SaaS dashboard with project overview, usage stats, and quick actions`,domain:`saas-boilerplate`,owners:[
|
|
1
|
+
const e={meta:{name:`saas.dashboard`,version:1,description:`Main SaaS dashboard with project overview, usage stats, and quick actions`,domain:`saas-boilerplate`,owners:[`@saas-team`],tags:[`dashboard`,`overview`]},source:{type:`component`,framework:`react`,componentKey:`SaasDashboard`},targets:[`react`,`markdown`],policy:{flags:[`saas.enabled`]}},t={meta:{name:`saas.settings`,version:1,description:`Organization and user settings panel`,domain:`saas-boilerplate`,owners:[`@saas-team`],tags:[`settings`,`config`]},source:{type:`component`,framework:`react`,componentKey:`SettingsPanel`},targets:[`react`],policy:{flags:[`saas.enabled`]}};export{e as SaasDashboardPresentation,t as SettingsPanelPresentation};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ProjectModel as e}from"./project.schema.js";const t={meta:{name:`saas.project.list`,version:1,description:`List view of projects with status, tags, and last updated info`,domain:`saas-boilerplate`,owners:[
|
|
1
|
+
import{ProjectModel as e}from"./project.schema.js";const t={meta:{name:`saas.project.list`,version:1,description:`List view of projects with status, tags, and last updated info`,domain:`saas-boilerplate`,owners:[`@saas-team`],tags:[`project`,`list`,`dashboard`]},source:{type:`component`,framework:`react`,componentKey:`ProjectListView`,props:e},targets:[`react`,`markdown`,`application/json`],policy:{flags:[`saas.projects.enabled`]}},n={meta:{name:`saas.project.detail`,version:1,description:`Detailed view of a project with settings and activity`,domain:`saas-boilerplate`,owners:[`@saas-team`],tags:[`project`,`detail`]},source:{type:`component`,framework:`react`,componentKey:`ProjectDetailView`},targets:[`react`,`markdown`],policy:{flags:[`saas.projects.enabled`]}};export{n as ProjectDetailPresentation,t as ProjectListPresentation};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={meta:{key:`saas-boilerplate`,title:`SaaS Boilerplate`,description:`SaaS application foundation with projects, billing, and settings`,domain:`saas`,owners:[
|
|
1
|
+
const e={meta:{key:`saas-boilerplate`,title:`SaaS Boilerplate`,description:`SaaS application foundation with projects, billing, and settings`,domain:`saas`,owners:[`@saas-team`],tags:[`saas`,`projects`,`billing`],stability:`experimental`},operations:[{name:`saas.project.create`,version:1},{name:`saas.project.get`,version:1},{name:`saas.project.update`,version:1},{name:`saas.project.delete`,version:1},{name:`saas.project.list`,version:1},{name:`saas.billing.subscription.get`,version:1},{name:`saas.billing.usage.record`,version:1},{name:`saas.billing.usage.summary`,version:1},{name:`saas.billing.feature.check`,version:1}],events:[{name:`project.created`,version:1},{name:`project.updated`,version:1},{name:`project.deleted`,version:1},{name:`project.archived`,version:1},{name:`billing.usage.recorded`,version:1},{name:`billing.subscription.changed`,version:1},{name:`billing.limit.reached`,version:1}],presentations:[{name:`saas.dashboard`,version:1},{name:`saas.project.list`,version:1},{name:`saas.project.detail`,version:1},{name:`saas.billing.subscription`,version:1},{name:`saas.billing.usage`,version:1},{name:`saas.settings`,version:1}],opToPresentation:[{op:{name:`saas.project.list`,version:1},pres:{name:`saas.project.list`,version:1}},{op:{name:`saas.project.get`,version:1},pres:{name:`saas.project.detail`,version:1}},{op:{name:`saas.billing.subscription.get`,version:1},pres:{name:`saas.billing.subscription`,version:1}},{op:{name:`saas.billing.usage.summary`,version:1},pres:{name:`saas.billing.usage`,version:1}}],presentationsTargets:[{name:`saas.dashboard`,version:1,targets:[`react`,`markdown`]},{name:`saas.project.list`,version:1,targets:[`react`,`markdown`,`application/json`]},{name:`saas.billing.subscription`,version:1,targets:[`react`,`markdown`]},{name:`saas.billing.usage`,version:1,targets:[`react`,`markdown`]}],capabilities:{requires:[{key:`identity`,version:1},{key:`audit-trail`,version:1},{key:`notifications`,version:1}]}};export{e as SaasBoilerplateFeature};
|
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@ export const SubscriptionPresentation: PresentationDescriptorV2 = {
|
|
|
10
10
|
description:
|
|
11
11
|
'Subscription status with plan info, limits, and current usage',
|
|
12
12
|
domain: 'saas-boilerplate',
|
|
13
|
-
owners: ['saas-team'],
|
|
13
|
+
owners: ['@saas-team'],
|
|
14
14
|
tags: ['billing', 'subscription'],
|
|
15
15
|
},
|
|
16
16
|
source: {
|
|
@@ -33,7 +33,7 @@ export const UsageDashboardPresentation: PresentationDescriptorV2 = {
|
|
|
33
33
|
version: 1,
|
|
34
34
|
description: 'Usage metrics and breakdown by resource type',
|
|
35
35
|
domain: 'saas-boilerplate',
|
|
36
|
-
owners: ['saas-team'],
|
|
36
|
+
owners: ['@saas-team'],
|
|
37
37
|
tags: ['billing', 'usage', 'metrics'],
|
|
38
38
|
},
|
|
39
39
|
source: {
|
|
@@ -10,7 +10,7 @@ export const SaasDashboardPresentation: PresentationDescriptorV2 = {
|
|
|
10
10
|
description:
|
|
11
11
|
'Main SaaS dashboard with project overview, usage stats, and quick actions',
|
|
12
12
|
domain: 'saas-boilerplate',
|
|
13
|
-
owners: ['saas-team'],
|
|
13
|
+
owners: ['@saas-team'],
|
|
14
14
|
tags: ['dashboard', 'overview'],
|
|
15
15
|
},
|
|
16
16
|
source: {
|
|
@@ -33,7 +33,7 @@ export const SettingsPanelPresentation: PresentationDescriptorV2 = {
|
|
|
33
33
|
version: 1,
|
|
34
34
|
description: 'Organization and user settings panel',
|
|
35
35
|
domain: 'saas-boilerplate',
|
|
36
|
-
owners: ['saas-team'],
|
|
36
|
+
owners: ['@saas-team'],
|
|
37
37
|
tags: ['settings', 'config'],
|
|
38
38
|
},
|
|
39
39
|
source: {
|
|
@@ -11,7 +11,7 @@ export const ProjectListPresentation: PresentationDescriptorV2 = {
|
|
|
11
11
|
description:
|
|
12
12
|
'List view of projects with status, tags, and last updated info',
|
|
13
13
|
domain: 'saas-boilerplate',
|
|
14
|
-
owners: ['saas-team'],
|
|
14
|
+
owners: ['@saas-team'],
|
|
15
15
|
tags: ['project', 'list', 'dashboard'],
|
|
16
16
|
},
|
|
17
17
|
source: {
|
|
@@ -35,7 +35,7 @@ export const ProjectDetailPresentation: PresentationDescriptorV2 = {
|
|
|
35
35
|
version: 1,
|
|
36
36
|
description: 'Detailed view of a project with settings and activity',
|
|
37
37
|
domain: 'saas-boilerplate',
|
|
38
|
-
owners: ['saas-team'],
|
|
38
|
+
owners: ['@saas-team'],
|
|
39
39
|
tags: ['project', 'detail'],
|
|
40
40
|
},
|
|
41
41
|
source: {
|
|
@@ -16,7 +16,7 @@ export const SaasBoilerplateFeature: FeatureModuleSpec = {
|
|
|
16
16
|
description:
|
|
17
17
|
'SaaS application foundation with projects, billing, and settings',
|
|
18
18
|
domain: 'saas',
|
|
19
|
-
owners: ['saas-team'],
|
|
19
|
+
owners: ['@saas-team'],
|
|
20
20
|
tags: ['saas', 'projects', 'billing'],
|
|
21
21
|
stability: 'experimental',
|
|
22
22
|
},
|
|
@@ -31,10 +31,10 @@ export const SaasBoilerplateFeature: FeatureModuleSpec = {
|
|
|
31
31
|
{ name: 'saas.project.list', version: 1 },
|
|
32
32
|
|
|
33
33
|
// Billing operations
|
|
34
|
-
{ name: 'saas.billing.
|
|
35
|
-
{ name: 'saas.billing.
|
|
36
|
-
{ name: 'saas.billing.
|
|
37
|
-
{ name: 'saas.billing.
|
|
34
|
+
{ name: 'saas.billing.subscription.get', version: 1 },
|
|
35
|
+
{ name: 'saas.billing.usage.record', version: 1 },
|
|
36
|
+
{ name: 'saas.billing.usage.summary', version: 1 },
|
|
37
|
+
{ name: 'saas.billing.feature.check', version: 1 },
|
|
38
38
|
],
|
|
39
39
|
|
|
40
40
|
// Events emitted by this feature
|
|
@@ -43,11 +43,12 @@ export const SaasBoilerplateFeature: FeatureModuleSpec = {
|
|
|
43
43
|
{ name: 'project.created', version: 1 },
|
|
44
44
|
{ name: 'project.updated', version: 1 },
|
|
45
45
|
{ name: 'project.deleted', version: 1 },
|
|
46
|
+
{ name: 'project.archived', version: 1 },
|
|
46
47
|
|
|
47
48
|
// Billing events
|
|
48
|
-
{ name: 'usage.recorded', version: 1 },
|
|
49
|
-
{ name: 'subscription.
|
|
50
|
-
{ name: 'limit.
|
|
49
|
+
{ name: 'billing.usage.recorded', version: 1 },
|
|
50
|
+
{ name: 'billing.subscription.changed', version: 1 },
|
|
51
|
+
{ name: 'billing.limit.reached', version: 1 },
|
|
51
52
|
],
|
|
52
53
|
|
|
53
54
|
// Presentations associated with this feature
|
|
@@ -71,11 +72,11 @@ export const SaasBoilerplateFeature: FeatureModuleSpec = {
|
|
|
71
72
|
pres: { name: 'saas.project.detail', version: 1 },
|
|
72
73
|
},
|
|
73
74
|
{
|
|
74
|
-
op: { name: 'saas.billing.
|
|
75
|
+
op: { name: 'saas.billing.subscription.get', version: 1 },
|
|
75
76
|
pres: { name: 'saas.billing.subscription', version: 1 },
|
|
76
77
|
},
|
|
77
78
|
{
|
|
78
|
-
op: { name: 'saas.billing.
|
|
79
|
+
op: { name: 'saas.billing.usage.summary', version: 1 },
|
|
79
80
|
pres: { name: 'saas.billing.usage', version: 1 },
|
|
80
81
|
},
|
|
81
82
|
],
|