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 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.2.0
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.2.0
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
- pnpm install
195
- pnpm check
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).
@@ -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>>;
@@ -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.2.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",