saas-billkit 0.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.
- package/LICENSE +21 -0
- package/README.md +99 -0
- package/dist/drizzle-schema.cjs +14 -0
- package/dist/drizzle-schema.cjs.map +1 -0
- package/dist/drizzle-schema.d.cts +1 -0
- package/dist/drizzle-schema.d.ts +1 -0
- package/dist/drizzle-schema.js +3 -0
- package/dist/drizzle-schema.js.map +1 -0
- package/dist/drizzle.cjs +14 -0
- package/dist/drizzle.cjs.map +1 -0
- package/dist/drizzle.d.cts +1 -0
- package/dist/drizzle.d.ts +1 -0
- package/dist/drizzle.js +3 -0
- package/dist/drizzle.js.map +1 -0
- package/dist/gateways-lemonsqueezy.cjs +14 -0
- package/dist/gateways-lemonsqueezy.cjs.map +1 -0
- package/dist/gateways-lemonsqueezy.d.cts +1 -0
- package/dist/gateways-lemonsqueezy.d.ts +1 -0
- package/dist/gateways-lemonsqueezy.js +3 -0
- package/dist/gateways-lemonsqueezy.js.map +1 -0
- package/dist/gateways-stripe.cjs +14 -0
- package/dist/gateways-stripe.cjs.map +1 -0
- package/dist/gateways-stripe.d.cts +1 -0
- package/dist/gateways-stripe.d.ts +1 -0
- package/dist/gateways-stripe.js +3 -0
- package/dist/gateways-stripe.js.map +1 -0
- package/dist/gateways.cjs +14 -0
- package/dist/gateways.cjs.map +1 -0
- package/dist/gateways.d.cts +1 -0
- package/dist/gateways.d.ts +1 -0
- package/dist/gateways.js +3 -0
- package/dist/gateways.js.map +1 -0
- package/dist/index.cjs +28 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +11 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations.cjs +14 -0
- package/dist/migrations.cjs.map +1 -0
- package/dist/migrations.d.cts +1 -0
- package/dist/migrations.d.ts +1 -0
- package/dist/migrations.js +3 -0
- package/dist/migrations.js.map +1 -0
- package/dist/prisma.cjs +14 -0
- package/dist/prisma.cjs.map +1 -0
- package/dist/prisma.d.cts +1 -0
- package/dist/prisma.d.ts +1 -0
- package/dist/prisma.js +3 -0
- package/dist/prisma.js.map +1 -0
- package/dist/react.cjs +14 -0
- package/dist/react.cjs.map +1 -0
- package/dist/react.d.cts +1 -0
- package/dist/react.d.ts +1 -0
- package/dist/react.js +3 -0
- package/dist/react.js.map +1 -0
- package/dist/testing.cjs +14 -0
- package/dist/testing.cjs.map +1 -0
- package/dist/testing.d.cts +1 -0
- package/dist/testing.d.ts +1 -0
- package/dist/testing.js +3 -0
- package/dist/testing.js.map +1 -0
- package/dist/ui.cjs +14 -0
- package/dist/ui.cjs.map +1 -0
- package/dist/ui.d.cts +1 -0
- package/dist/ui.d.ts +1 -0
- package/dist/ui.js +3 -0
- package/dist/ui.js.map +1 -0
- package/package.json +183 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 MajorAbdullah
|
|
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/README.md
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# saas-billkit
|
|
2
|
+
|
|
3
|
+
Full-suite billing engine for SaaS — subscriptions, credits, usage metering, invoicing, and payment gateway adapters.
|
|
4
|
+
|
|
5
|
+
This is a convenience meta-package that re-exports all `@saas-billkit/*` library packages. Install one package, import everything.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install saas-billkit
|
|
11
|
+
# or
|
|
12
|
+
pnpm add saas-billkit
|
|
13
|
+
# or
|
|
14
|
+
yarn add saas-billkit
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
### Core (subscriptions, credits, invoicing, metering)
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { SaasBillkit, createPlan, createSubscription } from "saas-billkit";
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Database Adapters
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
// Prisma adapter (requires @prisma/client)
|
|
29
|
+
import { createPrismaAdapter } from "saas-billkit/prisma";
|
|
30
|
+
|
|
31
|
+
// Drizzle adapter (requires drizzle-orm)
|
|
32
|
+
import { createDrizzleAdapter } from "saas-billkit/drizzle";
|
|
33
|
+
|
|
34
|
+
// Drizzle schema definitions
|
|
35
|
+
import { subscriptions, plans } from "saas-billkit/drizzle/schema";
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Payment Gateways
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
// Base gateway types and utilities
|
|
42
|
+
import { PaymentGateway } from "saas-billkit/gateways";
|
|
43
|
+
|
|
44
|
+
// Stripe adapter (requires stripe)
|
|
45
|
+
import { createStripeGateway } from "saas-billkit/gateways/stripe";
|
|
46
|
+
|
|
47
|
+
// LemonSqueezy adapter
|
|
48
|
+
import { createLemonSqueezyGateway } from "saas-billkit/gateways/lemonsqueezy";
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### React
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
// React hooks (requires react)
|
|
55
|
+
import { useBilling, useSubscription } from "saas-billkit/react";
|
|
56
|
+
|
|
57
|
+
// UI components (requires react + react-dom)
|
|
58
|
+
import { PricingTable, BillingPortal } from "saas-billkit/ui";
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Migrations
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
import { getMigrations } from "saas-billkit/migrations";
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Testing Utilities
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
import { createTestBillkit } from "saas-billkit/testing";
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Peer Dependencies
|
|
74
|
+
|
|
75
|
+
All peer dependencies are **optional** — only install what you need:
|
|
76
|
+
|
|
77
|
+
| Sub-path | Peer dependency |
|
|
78
|
+
|---|---|
|
|
79
|
+
| `saas-billkit/prisma` | `@prisma/client` |
|
|
80
|
+
| `saas-billkit/drizzle` | `drizzle-orm` |
|
|
81
|
+
| `saas-billkit/react`, `saas-billkit/ui` | `react`, `react-dom` |
|
|
82
|
+
| `saas-billkit/gateways/stripe` | `stripe` |
|
|
83
|
+
|
|
84
|
+
## Individual Packages
|
|
85
|
+
|
|
86
|
+
If you only need a subset, install the scoped packages directly:
|
|
87
|
+
|
|
88
|
+
- [`@saas-billkit/core`](https://www.npmjs.com/package/@saas-billkit/core)
|
|
89
|
+
- [`@saas-billkit/adapter-prisma`](https://www.npmjs.com/package/@saas-billkit/adapter-prisma)
|
|
90
|
+
- [`@saas-billkit/adapter-drizzle`](https://www.npmjs.com/package/@saas-billkit/adapter-drizzle)
|
|
91
|
+
- [`@saas-billkit/migrations`](https://www.npmjs.com/package/@saas-billkit/migrations)
|
|
92
|
+
- [`@saas-billkit/payment-gateways`](https://www.npmjs.com/package/@saas-billkit/payment-gateways)
|
|
93
|
+
- [`@saas-billkit/react`](https://www.npmjs.com/package/@saas-billkit/react)
|
|
94
|
+
- [`@saas-billkit/ui`](https://www.npmjs.com/package/@saas-billkit/ui)
|
|
95
|
+
- [`@saas-billkit/cli`](https://www.npmjs.com/package/@saas-billkit/cli)
|
|
96
|
+
|
|
97
|
+
## License
|
|
98
|
+
|
|
99
|
+
MIT
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var schema = require('@saas-billkit/adapter-drizzle/schema');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(schema).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return schema[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=drizzle-schema.cjs.map
|
|
14
|
+
//# sourceMappingURL=drizzle-schema.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"drizzle-schema.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/adapter-drizzle/schema';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/adapter-drizzle/schema';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"drizzle-schema.js","sourcesContent":[]}
|
package/dist/drizzle.cjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var adapterDrizzle = require('@saas-billkit/adapter-drizzle');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(adapterDrizzle).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return adapterDrizzle[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=drizzle.cjs.map
|
|
14
|
+
//# sourceMappingURL=drizzle.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"drizzle.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/adapter-drizzle';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/adapter-drizzle';
|
package/dist/drizzle.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"drizzle.js","sourcesContent":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var lemonsqueezy = require('@saas-billkit/payment-gateways/lemonsqueezy');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(lemonsqueezy).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return lemonsqueezy[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=gateways-lemonsqueezy.cjs.map
|
|
14
|
+
//# sourceMappingURL=gateways-lemonsqueezy.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"gateways-lemonsqueezy.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/payment-gateways/lemonsqueezy';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/payment-gateways/lemonsqueezy';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"gateways-lemonsqueezy.js","sourcesContent":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var stripe = require('@saas-billkit/payment-gateways/stripe');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(stripe).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return stripe[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=gateways-stripe.cjs.map
|
|
14
|
+
//# sourceMappingURL=gateways-stripe.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"gateways-stripe.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/payment-gateways/stripe';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/payment-gateways/stripe';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"gateways-stripe.js","sourcesContent":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var paymentGateways = require('@saas-billkit/payment-gateways');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(paymentGateways).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return paymentGateways[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=gateways.cjs.map
|
|
14
|
+
//# sourceMappingURL=gateways.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"gateways.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/payment-gateways';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/payment-gateways';
|
package/dist/gateways.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"gateways.js","sourcesContent":[]}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var core = require('@saas-billkit/core');
|
|
4
|
+
var migrations = require('@saas-billkit/migrations');
|
|
5
|
+
var paymentGateways = require('@saas-billkit/payment-gateways');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Object.keys(core).forEach(function (k) {
|
|
10
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () { return core[k]; }
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
Object.keys(migrations).forEach(function (k) {
|
|
16
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return migrations[k]; }
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
Object.keys(paymentGateways).forEach(function (k) {
|
|
22
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return paymentGateways[k]; }
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=index.cjs.map
|
|
28
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs","sourcesContent":[]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from '@saas-billkit/core';
|
|
2
|
+
export * from '@saas-billkit/migrations';
|
|
3
|
+
export * from '@saas-billkit/payment-gateways';
|
|
4
|
+
import '@saas-billkit/adapter-prisma';
|
|
5
|
+
import '@saas-billkit/adapter-drizzle';
|
|
6
|
+
import '@saas-billkit/adapter-drizzle/schema';
|
|
7
|
+
import '@saas-billkit/react';
|
|
8
|
+
import '@saas-billkit/ui';
|
|
9
|
+
import '@saas-billkit/payment-gateways/stripe';
|
|
10
|
+
import '@saas-billkit/payment-gateways/lemonsqueezy';
|
|
11
|
+
import '@saas-billkit/core/testing';
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from '@saas-billkit/core';
|
|
2
|
+
export * from '@saas-billkit/migrations';
|
|
3
|
+
export * from '@saas-billkit/payment-gateways';
|
|
4
|
+
import '@saas-billkit/adapter-prisma';
|
|
5
|
+
import '@saas-billkit/adapter-drizzle';
|
|
6
|
+
import '@saas-billkit/adapter-drizzle/schema';
|
|
7
|
+
import '@saas-billkit/react';
|
|
8
|
+
import '@saas-billkit/ui';
|
|
9
|
+
import '@saas-billkit/payment-gateways/stripe';
|
|
10
|
+
import '@saas-billkit/payment-gateways/lemonsqueezy';
|
|
11
|
+
import '@saas-billkit/core/testing';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var migrations = require('@saas-billkit/migrations');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(migrations).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return migrations[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=migrations.cjs.map
|
|
14
|
+
//# sourceMappingURL=migrations.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"migrations.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/migrations';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/migrations';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"migrations.js","sourcesContent":[]}
|
package/dist/prisma.cjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var adapterPrisma = require('@saas-billkit/adapter-prisma');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(adapterPrisma).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return adapterPrisma[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=prisma.cjs.map
|
|
14
|
+
//# sourceMappingURL=prisma.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"prisma.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/adapter-prisma';
|
package/dist/prisma.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/adapter-prisma';
|
package/dist/prisma.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"prisma.js","sourcesContent":[]}
|
package/dist/react.cjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('@saas-billkit/react');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(react).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return react[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=react.cjs.map
|
|
14
|
+
//# sourceMappingURL=react.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"react.cjs","sourcesContent":[]}
|
package/dist/react.d.cts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/react';
|
package/dist/react.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/react';
|
package/dist/react.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"react.js","sourcesContent":[]}
|
package/dist/testing.cjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var testing = require('@saas-billkit/core/testing');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(testing).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return testing[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=testing.cjs.map
|
|
14
|
+
//# sourceMappingURL=testing.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"testing.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/core/testing';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/core/testing';
|
package/dist/testing.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"testing.js","sourcesContent":[]}
|
package/dist/ui.cjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var ui = require('@saas-billkit/ui');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(ui).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return ui[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=ui.cjs.map
|
|
14
|
+
//# sourceMappingURL=ui.cjs.map
|
package/dist/ui.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ui.cjs","sourcesContent":[]}
|
package/dist/ui.d.cts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/ui';
|
package/dist/ui.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@saas-billkit/ui';
|
package/dist/ui.js
ADDED
package/dist/ui.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ui.js","sourcesContent":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "saas-billkit",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Full-suite billing engine for SaaS — subscriptions, credits, usage metering, invoicing, and payment gateway adapters.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "MajorAbdullah",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/MajorAbdullah/saas-billkit",
|
|
10
|
+
"directory": "packages/saas-billkit"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"billing",
|
|
14
|
+
"saas",
|
|
15
|
+
"subscriptions",
|
|
16
|
+
"invoicing",
|
|
17
|
+
"payments",
|
|
18
|
+
"stripe",
|
|
19
|
+
"lemonsqueezy",
|
|
20
|
+
"metering",
|
|
21
|
+
"credits"
|
|
22
|
+
],
|
|
23
|
+
"type": "module",
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"import": {
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"default": "./dist/index.js"
|
|
29
|
+
},
|
|
30
|
+
"require": {
|
|
31
|
+
"types": "./dist/index.d.cts",
|
|
32
|
+
"default": "./dist/index.cjs"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"./prisma": {
|
|
36
|
+
"import": {
|
|
37
|
+
"types": "./dist/prisma.d.ts",
|
|
38
|
+
"default": "./dist/prisma.js"
|
|
39
|
+
},
|
|
40
|
+
"require": {
|
|
41
|
+
"types": "./dist/prisma.d.cts",
|
|
42
|
+
"default": "./dist/prisma.cjs"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"./drizzle": {
|
|
46
|
+
"import": {
|
|
47
|
+
"types": "./dist/drizzle.d.ts",
|
|
48
|
+
"default": "./dist/drizzle.js"
|
|
49
|
+
},
|
|
50
|
+
"require": {
|
|
51
|
+
"types": "./dist/drizzle.d.cts",
|
|
52
|
+
"default": "./dist/drizzle.cjs"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"./drizzle/schema": {
|
|
56
|
+
"import": {
|
|
57
|
+
"types": "./dist/drizzle-schema.d.ts",
|
|
58
|
+
"default": "./dist/drizzle-schema.js"
|
|
59
|
+
},
|
|
60
|
+
"require": {
|
|
61
|
+
"types": "./dist/drizzle-schema.d.cts",
|
|
62
|
+
"default": "./dist/drizzle-schema.cjs"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"./react": {
|
|
66
|
+
"import": {
|
|
67
|
+
"types": "./dist/react.d.ts",
|
|
68
|
+
"default": "./dist/react.js"
|
|
69
|
+
},
|
|
70
|
+
"require": {
|
|
71
|
+
"types": "./dist/react.d.cts",
|
|
72
|
+
"default": "./dist/react.cjs"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"./ui": {
|
|
76
|
+
"import": {
|
|
77
|
+
"types": "./dist/ui.d.ts",
|
|
78
|
+
"default": "./dist/ui.js"
|
|
79
|
+
},
|
|
80
|
+
"require": {
|
|
81
|
+
"types": "./dist/ui.d.cts",
|
|
82
|
+
"default": "./dist/ui.cjs"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"./gateways": {
|
|
86
|
+
"import": {
|
|
87
|
+
"types": "./dist/gateways.d.ts",
|
|
88
|
+
"default": "./dist/gateways.js"
|
|
89
|
+
},
|
|
90
|
+
"require": {
|
|
91
|
+
"types": "./dist/gateways.d.cts",
|
|
92
|
+
"default": "./dist/gateways.cjs"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"./gateways/stripe": {
|
|
96
|
+
"import": {
|
|
97
|
+
"types": "./dist/gateways-stripe.d.ts",
|
|
98
|
+
"default": "./dist/gateways-stripe.js"
|
|
99
|
+
},
|
|
100
|
+
"require": {
|
|
101
|
+
"types": "./dist/gateways-stripe.d.cts",
|
|
102
|
+
"default": "./dist/gateways-stripe.cjs"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"./gateways/lemonsqueezy": {
|
|
106
|
+
"import": {
|
|
107
|
+
"types": "./dist/gateways-lemonsqueezy.d.ts",
|
|
108
|
+
"default": "./dist/gateways-lemonsqueezy.js"
|
|
109
|
+
},
|
|
110
|
+
"require": {
|
|
111
|
+
"types": "./dist/gateways-lemonsqueezy.d.cts",
|
|
112
|
+
"default": "./dist/gateways-lemonsqueezy.cjs"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"./migrations": {
|
|
116
|
+
"import": {
|
|
117
|
+
"types": "./dist/migrations.d.ts",
|
|
118
|
+
"default": "./dist/migrations.js"
|
|
119
|
+
},
|
|
120
|
+
"require": {
|
|
121
|
+
"types": "./dist/migrations.d.cts",
|
|
122
|
+
"default": "./dist/migrations.cjs"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"./testing": {
|
|
126
|
+
"import": {
|
|
127
|
+
"types": "./dist/testing.d.ts",
|
|
128
|
+
"default": "./dist/testing.js"
|
|
129
|
+
},
|
|
130
|
+
"require": {
|
|
131
|
+
"types": "./dist/testing.d.cts",
|
|
132
|
+
"default": "./dist/testing.cjs"
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"main": "./dist/index.cjs",
|
|
137
|
+
"module": "./dist/index.js",
|
|
138
|
+
"types": "./dist/index.d.ts",
|
|
139
|
+
"files": [
|
|
140
|
+
"dist",
|
|
141
|
+
"README.md",
|
|
142
|
+
"LICENSE"
|
|
143
|
+
],
|
|
144
|
+
"dependencies": {
|
|
145
|
+
"@saas-billkit/adapter-prisma": "0.2.0",
|
|
146
|
+
"@saas-billkit/core": "0.2.0",
|
|
147
|
+
"@saas-billkit/adapter-drizzle": "0.2.0",
|
|
148
|
+
"@saas-billkit/react": "0.2.0",
|
|
149
|
+
"@saas-billkit/payment-gateways": "0.2.0",
|
|
150
|
+
"@saas-billkit/migrations": "0.2.0",
|
|
151
|
+
"@saas-billkit/ui": "0.2.0"
|
|
152
|
+
},
|
|
153
|
+
"peerDependencies": {
|
|
154
|
+
"@prisma/client": "^5.0.0 || ^6.0.0",
|
|
155
|
+
"drizzle-orm": "^0.36.0 || ^0.37.0 || ^0.38.0",
|
|
156
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
157
|
+
"react-dom": "^18.0.0 || ^19.0.0",
|
|
158
|
+
"stripe": "^15.0.0 || ^16.0.0 || ^17.0.0"
|
|
159
|
+
},
|
|
160
|
+
"peerDependenciesMeta": {
|
|
161
|
+
"@prisma/client": {
|
|
162
|
+
"optional": true
|
|
163
|
+
},
|
|
164
|
+
"drizzle-orm": {
|
|
165
|
+
"optional": true
|
|
166
|
+
},
|
|
167
|
+
"react": {
|
|
168
|
+
"optional": true
|
|
169
|
+
},
|
|
170
|
+
"react-dom": {
|
|
171
|
+
"optional": true
|
|
172
|
+
},
|
|
173
|
+
"stripe": {
|
|
174
|
+
"optional": true
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"scripts": {
|
|
178
|
+
"build": "tsup",
|
|
179
|
+
"dev": "tsup --watch",
|
|
180
|
+
"clean": "rm -rf dist",
|
|
181
|
+
"typecheck": "tsc --noEmit"
|
|
182
|
+
}
|
|
183
|
+
}
|