ras-stack 0.2.0 → 0.3.4
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/README.md +6 -5
- package/dist/auth/providers.d.ts +1 -0
- package/dist/auth/providers.js +9 -0
- package/dist/auth/providers.js.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -48,11 +48,12 @@ The auth entrypoint provides options and utilities rather than an auth factory.
|
|
|
48
48
|
|
|
49
49
|
```ts
|
|
50
50
|
import { betterAuth } from 'better-auth'
|
|
51
|
-
import { standardRateLimitOptions, standardSessionOptions, trustedOrigins } from 'ras-stack/auth'
|
|
51
|
+
import { configuredProviderOptions, standardRateLimitOptions, standardSessionOptions, trustedOrigins } from 'ras-stack/auth'
|
|
52
52
|
|
|
53
53
|
const auth = betterAuth({
|
|
54
54
|
database,
|
|
55
55
|
plugins,
|
|
56
|
+
socialProviders: configuredProviderOptions(['google', 'discord']),
|
|
56
57
|
session: standardSessionOptions(),
|
|
57
58
|
rateLimit: standardRateLimitOptions({ '/sign-up/email': { window: 60, max: 10 } }),
|
|
58
59
|
trustedOrigins: trustedOrigins({
|
|
@@ -158,7 +159,7 @@ The JavaScript setup action reads the Node version from `engines.node` and the p
|
|
|
158
159
|
```yaml
|
|
159
160
|
steps:
|
|
160
161
|
- uses: actions/checkout@v7
|
|
161
|
-
- uses: richardsolomou/ras-stack/actions/setup-js@v0.
|
|
162
|
+
- uses: richardsolomou/ras-stack/actions/setup-js@v0.3.0
|
|
162
163
|
- run: pnpm check
|
|
163
164
|
```
|
|
164
165
|
|
|
@@ -178,7 +179,7 @@ release:
|
|
|
178
179
|
needs: [check]
|
|
179
180
|
permissions:
|
|
180
181
|
contents: write
|
|
181
|
-
uses: richardsolomou/ras-stack/.github/workflows/release-changesets.yml@v0.
|
|
182
|
+
uses: richardsolomou/ras-stack/.github/workflows/release-changesets.yml@v0.3.0
|
|
182
183
|
secrets: inherit
|
|
183
184
|
```
|
|
184
185
|
|
|
@@ -191,8 +192,8 @@ Pin actions and reusable workflows to a release tag and let Dependabot propose u
|
|
|
191
192
|
Development requires Node 24 and pnpm 11.15.0.
|
|
192
193
|
|
|
193
194
|
```sh
|
|
194
|
-
|
|
195
|
-
|
|
195
|
+
just install
|
|
196
|
+
just check
|
|
196
197
|
```
|
|
197
198
|
|
|
198
199
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for release instructions. Report vulnerabilities privately as described in [SECURITY.md](SECURITY.md).
|
package/dist/auth/providers.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ export type ProviderCredentials = {
|
|
|
4
4
|
};
|
|
5
5
|
export declare function configuredProviders<const Provider extends string>(providers: readonly Provider[], environment?: NodeJS.ProcessEnv): Provider[];
|
|
6
6
|
export declare function providerCredentials(provider: string, environment?: NodeJS.ProcessEnv): ProviderCredentials | undefined;
|
|
7
|
+
export declare function configuredProviderOptions<const Provider extends string>(providers: readonly Provider[], environment?: NodeJS.ProcessEnv): Partial<Record<Provider, ProviderCredentials>>;
|
package/dist/auth/providers.js
CHANGED
|
@@ -10,4 +10,13 @@ export function providerCredentials(provider, environment = process.env) {
|
|
|
10
10
|
const clientSecret = environment[`${prefix}_CLIENT_SECRET`]?.trim();
|
|
11
11
|
return clientId && clientSecret ? { clientId, clientSecret } : undefined;
|
|
12
12
|
}
|
|
13
|
+
export function configuredProviderOptions(providers, environment = process.env) {
|
|
14
|
+
const options = {};
|
|
15
|
+
for (const provider of providers) {
|
|
16
|
+
const credentials = providerCredentials(provider, environment);
|
|
17
|
+
if (credentials)
|
|
18
|
+
options[provider] = credentials;
|
|
19
|
+
}
|
|
20
|
+
return options;
|
|
21
|
+
}
|
|
13
22
|
//# sourceMappingURL=providers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/auth/providers.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CACjC,SAA8B,EAC9B,WAAW,GAAsB,OAAO,CAAC,GAAG;IAE5C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC1D,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9G,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,WAAW,GAAsB,OAAO,CAAC,GAAG;IAChG,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IAC3D,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAA;IACnE,OAAO,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC1E,CAAC"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/auth/providers.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CACjC,SAA8B,EAC9B,WAAW,GAAsB,OAAO,CAAC,GAAG;IAE5C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC1D,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9G,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,WAAW,GAAsB,OAAO,CAAC,GAAG;IAChG,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IAC3D,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAA;IACnE,OAAO,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAA8B,EAC9B,WAAW,GAAsB,OAAO,CAAC,GAAG;IAE5C,MAAM,OAAO,GAAmD,EAAE,CAAA;IAClE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAC9D,IAAI,WAAW;YAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAA;IAClD,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ras-stack",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "Composable full-stack primitives shared across Richard Solomou's applications.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"authentication",
|
|
@@ -59,9 +59,11 @@
|
|
|
59
59
|
"format": "oxfmt --write .",
|
|
60
60
|
"format:check": "oxfmt --check .",
|
|
61
61
|
"test": "vitest run",
|
|
62
|
-
"check": "pnpm format:check && pnpm lint && pnpm config:check && pnpm typecheck && pnpm test && pnpm build"
|
|
62
|
+
"check": "pnpm format:check && pnpm lint && pnpm config:check && pnpm typecheck && pnpm test && pnpm build",
|
|
63
|
+
"version-packages": "changeset version"
|
|
63
64
|
},
|
|
64
65
|
"devDependencies": {
|
|
66
|
+
"@changesets/cli": "^2.31.1",
|
|
65
67
|
"@types/node": "^26.0.0",
|
|
66
68
|
"@types/nodemailer": "^8.0.1",
|
|
67
69
|
"nodemailer": "^9.0.3",
|