@lssm/example.saas-boilerplate 0.0.0-canary-20251212230121 → 0.0.0-canary-20251215220103
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 +6 -5
- package/CHANGELOG.md +8 -8
- package/dist/example.js +1 -0
- package/dist/index.js +1 -1
- package/example.ts +1 -0
- package/package.json +4 -2
- package/src/example.ts +31 -0
- package/src/index.ts +1 -0
- package/tsconfig.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
$ bun build:bundle && bun build:types
|
|
2
2
|
$ tsdown
|
|
3
|
-
[34mℹ[39m tsdown [2mv0.17.
|
|
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/events.ts, src/feature.ts, src/index.ts, src/
|
|
5
|
+
[34mℹ[39m entry: [34msrc/events.ts, src/example.ts, src/feature.ts, src/index.ts, src/contracts/billing.ts, src/contracts/index.ts, src/contracts/project.ts, src/docs/index.ts, src/docs/saas-boilerplate.docblock.ts, src/entities/billing.ts, src/entities/index.ts, src/entities/project.ts, src/entities/settings.ts, src/handlers/billing.handlers.ts, src/handlers/index.ts, src/handlers/mock-data.ts, src/handlers/project.handlers.ts, src/presentations/billing.ts, src/presentations/dashboard.ts, src/presentations/index.ts, src/presentations/project-list.ts[39m
|
|
6
6
|
[34mℹ[39m target: [34mesnext[39m
|
|
7
7
|
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
8
8
|
[34mℹ[39m Build start
|
|
9
9
|
[34mℹ[39m [2mdist/[22m[1mcontracts/project.js[22m [2m5.13 kB[22m [2m│ gzip: 1.37 kB[22m
|
|
10
|
-
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m5.
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m5.05 kB[22m [2m│ gzip: 1.33 kB[22m
|
|
11
11
|
[34mℹ[39m [2mdist/[22m[1mcontracts/billing.js[22m [2m4.43 kB[22m [2m│ gzip: 1.25 kB[22m
|
|
12
12
|
[34mℹ[39m [2mdist/[22m[1mevents.js[22m [2m3.50 kB[22m [2m│ gzip: 0.76 kB[22m
|
|
13
13
|
[34mℹ[39m [2mdist/[22m[1mdocs/saas-boilerplate.docblock.js[22m [2m3.46 kB[22m [2m│ gzip: 1.38 kB[22m
|
|
@@ -24,8 +24,9 @@ $ tsdown
|
|
|
24
24
|
[34mℹ[39m [2mdist/[22m[1mpresentations/billing.js[22m [2m0.77 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
25
25
|
[34mℹ[39m [2mdist/[22m[1mhandlers/billing.handlers.js[22m [2m0.72 kB[22m [2m│ gzip: 0.41 kB[22m
|
|
26
26
|
[34mℹ[39m [2mdist/[22m[1mpresentations/dashboard.js[22m [2m0.71 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
27
|
+
[34mℹ[39m [2mdist/[22m[1mexample.js[22m [2m0.63 kB[22m [2m│ gzip: 0.38 kB[22m
|
|
27
28
|
[34mℹ[39m [2mdist/[22m[1mpresentations/index.js[22m [2m0.52 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
28
29
|
[34mℹ[39m [2mdist/[22m[1mdocs/index.js[22m [2m0.04 kB[22m [2m│ gzip: 0.06 kB[22m
|
|
29
|
-
[34mℹ[39m
|
|
30
|
-
[32m✔[39m Build complete in [
|
|
30
|
+
[34mℹ[39m 21 files, total: 40.39 kB
|
|
31
|
+
[32m✔[39m Build complete in [32m99ms[39m
|
|
31
32
|
$ 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-20251215220103
|
|
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-20251215220103
|
|
10
|
+
- @lssm/lib.schema@0.0.0-canary-20251215220103
|
|
11
|
+
- @lssm/lib.jobs@0.0.0-canary-20251215220103
|
|
12
|
+
- @lssm/lib.bus@0.0.0-canary-20251215220103
|
|
13
|
+
- @lssm/lib.identity-rbac@0.0.0-canary-20251215220103
|
|
14
|
+
- @lssm/module.audit-trail@0.0.0-canary-20251215220103
|
|
15
|
+
- @lssm/module.notifications@0.0.0-canary-20251215220103
|
package/dist/example.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={id:`saas-boilerplate`,title:`SaaS Boilerplate`,summary:`Multi-tenant SaaS foundation with orgs, projects, settings, billing usage, and RBAC.`,tags:[`saas`,`multi-tenant`,`billing`,`rbac`],kind:`template`,visibility:`public`,docs:{rootDocId:`docs.examples.saas-boilerplate`},entrypoints:{packageName:`@lssm/example.saas-boilerplate`,feature:`./feature`,contracts:`./contracts`,presentations:`./presentations`,handlers:`./handlers`,docs:`./docs`},surfaces:{templates:!0,sandbox:{enabled:!0,modes:[`playground`,`specs`,`builder`,`markdown`,`evolution`]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}};export{e as default};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ProjectArchivedEvent as e,ProjectCreatedEvent as t,ProjectDeletedEvent as n,ProjectUpdatedEvent as r,SaasBoilerplateEvents as i,SubscriptionChangedEvent as a,UsageLimitReachedEvent as o,UsageRecordedEvent as s}from"./events.js";import{SaasBoilerplateFeature as
|
|
1
|
+
import{ProjectArchivedEvent as e,ProjectCreatedEvent as t,ProjectDeletedEvent as n,ProjectUpdatedEvent as r,SaasBoilerplateEvents as i,SubscriptionChangedEvent as a,UsageLimitReachedEvent as o,UsageRecordedEvent as s}from"./events.js";import c from"./example.js";import{SaasBoilerplateFeature as l}from"./feature.js";import{ProjectEntity as u,ProjectMemberEntity as d,ProjectStatusEnum as f}from"./entities/project.js";import{FeatureFlagEntity as p,SettingsEntity as m,SettingsScopeEnum as h}from"./entities/settings.js";import{BillingUsageEntity as g,SubscriptionEntity as _,SubscriptionStatusEnum as v,UsageLimitEntity as y}from"./entities/billing.js";import{identityRbacEntities as b,identityRbacSchemaContribution as x,saasBoilerplateEntities as S,saasBoilerplateSchemaContribution as C}from"./entities/index.js";import{CreateProjectContract as w,CreateProjectInputModel as T,DeleteProjectContract as E,DeleteProjectInputModel as D,DeleteProjectOutputModel as O,GetProjectContract as k,GetProjectInputModel as A,ListProjectsContract as j,ListProjectsInputModel as M,ListProjectsOutputModel as N,ProjectDeletedPayloadModel as P,ProjectModel as F,ProjectStatusFilterEnum as I,UpdateProjectContract as L,UpdateProjectInputModel as R}from"./contracts/project.js";import{CheckFeatureAccessContract as z,CheckFeatureAccessInputModel as B,CheckFeatureAccessOutputModel as V,FeatureAccessReasonEnum as ee,GetSubscriptionContract as H,GetUsageSummaryContract as U,GetUsageSummaryInputModel as W,GetUsageSummaryOutputModel as G,RecordUsageContract as K,RecordUsageInputModel as q,RecordUsageOutputModel as J,SubscriptionModel as Y,UsageRecordedPayloadModel as X,UsageSummaryModel as Z}from"./contracts/billing.js";import"./contracts/index.js";import{MOCK_PROJECTS as Q,MOCK_SUBSCRIPTION as $,MOCK_USAGE_SUMMARY as te}from"./handlers/mock-data.js";import{mockCreateProjectHandler as ne,mockDeleteProjectHandler as re,mockGetProjectHandler as ie,mockListProjectsHandler as ae,mockUpdateProjectHandler as oe}from"./handlers/project.handlers.js";import{mockCheckFeatureAccessHandler as se,mockGetSubscriptionHandler as ce,mockGetUsageSummaryHandler as le,mockRecordUsageHandler as ue}from"./handlers/billing.handlers.js";import{ProjectDetailPresentation as de,ProjectListPresentation as fe}from"./presentations/project-list.js";import{SubscriptionPresentation as pe,UsageDashboardPresentation as me}from"./presentations/billing.js";import{SaasDashboardPresentation as he,SettingsPanelPresentation as ge}from"./presentations/dashboard.js";import{SaasBoilerplatePresentations as _e}from"./presentations/index.js";import"./docs/index.js";import{identityRbacSchemaContribution as ve}from"@lssm/lib.identity-rbac";import{jobsSchemaContribution as ye}from"@lssm/lib.jobs";import{auditTrailSchemaContribution as be}from"@lssm/module.audit-trail";import{notificationsSchemaContribution as xe}from"@lssm/module.notifications";const Se={modules:[ve,ye,be,xe,C],provider:`postgresql`,outputPath:`./prisma/schema/generated.prisma`};export{g as BillingUsageEntity,z as CheckFeatureAccessContract,B as CheckFeatureAccessInputModel,V as CheckFeatureAccessOutputModel,w as CreateProjectContract,T as CreateProjectInputModel,E as DeleteProjectContract,D as DeleteProjectInputModel,O as DeleteProjectOutputModel,ee as FeatureAccessReasonEnum,p as FeatureFlagEntity,k as GetProjectContract,A as GetProjectInputModel,H as GetSubscriptionContract,U as GetUsageSummaryContract,W as GetUsageSummaryInputModel,G as GetUsageSummaryOutputModel,j as ListProjectsContract,M as ListProjectsInputModel,N as ListProjectsOutputModel,Q as MOCK_PROJECTS,$ as MOCK_SUBSCRIPTION,te as MOCK_USAGE_SUMMARY,e as ProjectArchivedEvent,t as ProjectCreatedEvent,n as ProjectDeletedEvent,P as ProjectDeletedPayloadModel,de as ProjectDetailPresentation,u as ProjectEntity,fe as ProjectListPresentation,d as ProjectMemberEntity,F as ProjectModel,f as ProjectStatusEnum,I as ProjectStatusFilterEnum,r as ProjectUpdatedEvent,K as RecordUsageContract,q as RecordUsageInputModel,J as RecordUsageOutputModel,i as SaasBoilerplateEvents,l as SaasBoilerplateFeature,_e as SaasBoilerplatePresentations,he as SaasDashboardPresentation,m as SettingsEntity,ge as SettingsPanelPresentation,h as SettingsScopeEnum,a as SubscriptionChangedEvent,_ as SubscriptionEntity,Y as SubscriptionModel,pe as SubscriptionPresentation,v as SubscriptionStatusEnum,L as UpdateProjectContract,R as UpdateProjectInputModel,me as UsageDashboardPresentation,y as UsageLimitEntity,o as UsageLimitReachedEvent,s as UsageRecordedEvent,X as UsageRecordedPayloadModel,Z as UsageSummaryModel,c as example,b as identityRbacEntities,x as identityRbacSchemaContribution,se as mockCheckFeatureAccessHandler,ne as mockCreateProjectHandler,re as mockDeleteProjectHandler,ie as mockGetProjectHandler,ce as mockGetSubscriptionHandler,le as mockGetUsageSummaryHandler,ae as mockListProjectsHandler,ue as mockRecordUsageHandler,oe as mockUpdateProjectHandler,S as saasBoilerplateEntities,C as saasBoilerplateSchemaContribution,Se as schemaComposition};
|
package/example.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './src/example';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lssm/example.saas-boilerplate",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-20251215220103",
|
|
4
4
|
"description": "SaaS Boilerplate - Users, Orgs, Projects, Billing, Settings",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"./entities/project": "./src/entities/project.ts",
|
|
18
18
|
"./entities/settings": "./src/entities/settings.ts",
|
|
19
19
|
"./events": "./src/events.ts",
|
|
20
|
+
"./example": "./src/example.ts",
|
|
20
21
|
"./feature": "./src/feature.ts",
|
|
21
22
|
"./handlers": "./src/handlers/index.ts",
|
|
22
23
|
"./handlers/billing.handlers": "./src/handlers/billing.handlers.ts",
|
|
@@ -52,7 +53,7 @@
|
|
|
52
53
|
"devDependencies": {
|
|
53
54
|
"@lssm/tool.tsdown": "workspace:*",
|
|
54
55
|
"@lssm/tool.typescript": "workspace:*",
|
|
55
|
-
"tsdown": "^0.17.
|
|
56
|
+
"tsdown": "^0.17.4",
|
|
56
57
|
"typescript": "^5.9.3"
|
|
57
58
|
},
|
|
58
59
|
"module": "./dist/index.js",
|
|
@@ -69,6 +70,7 @@
|
|
|
69
70
|
"./entities/project": "./dist/entities/project.js",
|
|
70
71
|
"./entities/settings": "./dist/entities/settings.js",
|
|
71
72
|
"./events": "./dist/events.js",
|
|
73
|
+
"./example": "./dist/example.js",
|
|
72
74
|
"./feature": "./dist/feature.js",
|
|
73
75
|
"./handlers": "./dist/handlers/index.js",
|
|
74
76
|
"./handlers/billing.handlers": "./dist/handlers/billing.handlers.js",
|
package/src/example.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const example = {
|
|
2
|
+
id: 'saas-boilerplate',
|
|
3
|
+
title: 'SaaS Boilerplate',
|
|
4
|
+
summary:
|
|
5
|
+
'Multi-tenant SaaS foundation with orgs, projects, settings, billing usage, and RBAC.',
|
|
6
|
+
tags: ['saas', 'multi-tenant', 'billing', 'rbac'],
|
|
7
|
+
kind: 'template',
|
|
8
|
+
visibility: 'public',
|
|
9
|
+
docs: {
|
|
10
|
+
rootDocId: 'docs.examples.saas-boilerplate',
|
|
11
|
+
},
|
|
12
|
+
entrypoints: {
|
|
13
|
+
packageName: '@lssm/example.saas-boilerplate',
|
|
14
|
+
feature: './feature',
|
|
15
|
+
contracts: './contracts',
|
|
16
|
+
presentations: './presentations',
|
|
17
|
+
handlers: './handlers',
|
|
18
|
+
docs: './docs',
|
|
19
|
+
},
|
|
20
|
+
surfaces: {
|
|
21
|
+
templates: true,
|
|
22
|
+
sandbox: {
|
|
23
|
+
enabled: true,
|
|
24
|
+
modes: ['playground', 'specs', 'builder', 'markdown', 'evolution'],
|
|
25
|
+
},
|
|
26
|
+
studio: { enabled: true, installable: true },
|
|
27
|
+
mcp: { enabled: true },
|
|
28
|
+
},
|
|
29
|
+
} as const;
|
|
30
|
+
|
|
31
|
+
export default example;
|