@rudderjs/core 0.1.1 → 0.1.3

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
@@ -26,7 +26,12 @@ export default Application.configure({
26
26
  commands: () => import('../routes/console.js'),
27
27
  })
28
28
  .withMiddleware((m) => {
29
+ // Global — runs on every request
29
30
  m.use(RateLimit.perMinute(60))
31
+
32
+ // Group-scoped — only runs on routes loaded via withRouting({ web } / { api })
33
+ m.web(CsrfMiddleware())
34
+ m.api(RateLimit.perMinute(120))
30
35
  })
31
36
  .withExceptions((e) => {
32
37
  // Custom error type → custom response
@@ -53,6 +58,7 @@ export default Application.configure({
53
58
  - `Application`, `AppConfig`
54
59
  - `ConfigureOptions`, `RoutingOptions`
55
60
  - `MiddlewareConfigurator`, `ExceptionConfigurator`
61
+ - `appendToGroup(group, handler)` — provider-facing helper to install middleware into the `web` or `api` group
56
62
  - `AppBuilder`, `RudderJS`
57
63
  - `app()`, `resolve()`
58
64
  - `defineConfig()`
@@ -74,6 +80,32 @@ export default Application.configure({
74
80
  - `ConfigureOptions`
75
81
  - `server`, `config?`, `providers?`
76
82
 
83
+ ## Middleware Groups
84
+
85
+ Routes loaded via `withRouting({ web })` are tagged `web`; via `withRouting({ api })` tagged `api`. The server adapter prepends the matching group's middleware stack before per-route middleware — Laravel-style.
86
+
87
+ ```ts
88
+ .withMiddleware((m) => {
89
+ m.use(RateLimit.perMinute(60)) // global — every request
90
+ m.web(CsrfMiddleware()) // only on web routes
91
+ m.api(RateLimit.perMinute(120)) // only on api routes
92
+ })
93
+ ```
94
+
95
+ **Execution order:** `m.use(...)` → group (`m.web` / `m.api`) → per-route middleware → handler.
96
+
97
+ Framework packages install into a group during `boot()` via `appendToGroup('web', handler)` from `@rudderjs/core` — this is how `@rudderjs/session` and `@rudderjs/auth` keep session + user resolution on web routes only, leaving api routes stateless by default.
98
+
99
+ ```ts
100
+ import { ServiceProvider, appendToGroup } from '@rudderjs/core'
101
+
102
+ export class MyPackageProvider extends ServiceProvider {
103
+ async boot() {
104
+ appendToGroup('web', myWebOnlyMiddleware)
105
+ }
106
+ }
107
+ ```
108
+
77
109
  ## Dynamic Provider Registration
78
110
 
79
111
  Providers can register other providers at runtime — useful for modules, conditional features, and package composition:
@@ -1 +1 @@
1
- {"version":3,"file":"providers-discover.d.ts","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,yBAAyB,CAAA;AAU9E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAI1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAYlF"}
1
+ {"version":3,"file":"providers-discover.d.ts","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,yBAAyB,CAAA;AAW9E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAI1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAYlF"}
@@ -63,6 +63,8 @@ function scanNodeModules(nodeModules) {
63
63
  entry.depends = field.depends;
64
64
  if (field.optional)
65
65
  entry.optional = field.optional;
66
+ if (field.providerSubpath)
67
+ entry.providerSubpath = field.providerSubpath;
66
68
  out.push(entry);
67
69
  }
68
70
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"providers-discover.js","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers-discover.js","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"default-providers.d.ts","sourceRoot":"","sources":["../src/default-providers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,wBAAwB,CAAA;AAI7E,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,EAAE,WAAW,KAAK,eAAe,CAAA;AAErE,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAKD,4FAA4F;AAC5F,wBAAgB,4BAA4B,IAAI,aAAa,EAAE,CAE9D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA0DtG"}
1
+ {"version":3,"file":"default-providers.d.ts","sourceRoot":"","sources":["../src/default-providers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,wBAAwB,CAAA;AAI7E,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,EAAE,WAAW,KAAK,eAAe,CAAA;AAErE,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AASD,4FAA4F;AAC5F,wBAAgB,4BAA4B,IAAI,aAAa,EAAE,CAE9D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA8DtG"}
@@ -5,11 +5,14 @@
5
5
  import { resolveOptionalPeer, config } from '@rudderjs/support';
6
6
  import { BUILTIN_REGISTRY } from './provider-registry.js';
7
7
  import { sortByStageAndDepends } from './provider-sort.js';
8
- /** Cached list of the entries that were loaded most recently used by the dev-mode boot log. */
9
- let _lastLoadedEntries = [];
8
+ // Cached on globalThis (not a module-level let) because Vite SSR can isolate the
9
+ // writer (bootstrap/providers.ts) and the reader (Application._bootstrapProviders())
10
+ // into different module instances — the read would see [] and the boot log would
11
+ // silently not print. Same pattern as __rudderjs_app__, __rudderjs_telescope_recording__.
12
+ const LAST_LOADED_KEY = '__rudderjs_last_loaded_providers__';
10
13
  /** @internal — read by Application._bootstrapProviders() to print the dev-mode boot log. */
11
14
  export function getLastLoadedProviderEntries() {
12
- return _lastLoadedEntries;
15
+ return globalThis[LAST_LOADED_KEY] ?? [];
13
16
  }
14
17
  /**
15
18
  * Returns the framework's default provider classes, sorted by stage + depends.
@@ -72,9 +75,12 @@ export async function defaultProviders(options = {}) {
72
75
  for (const entry of entries) {
73
76
  if (skip.has(entry.package))
74
77
  continue;
78
+ const importSpecifier = entry.providerSubpath
79
+ ? `${entry.package}/${entry.providerSubpath.replace(/^\.\//, '')}`
80
+ : entry.package;
75
81
  let mod;
76
82
  try {
77
- mod = await resolveOptionalPeer(entry.package);
83
+ mod = await resolveOptionalPeer(importSpecifier);
78
84
  }
79
85
  catch {
80
86
  if (!entry.optional) {
@@ -91,7 +97,8 @@ export async function defaultProviders(options = {}) {
91
97
  providers.push(ProviderClass);
92
98
  loaded.push(entry);
93
99
  }
94
- _lastLoadedEntries = loaded;
100
+ ;
101
+ globalThis[LAST_LOADED_KEY] = loaded;
95
102
  return providers;
96
103
  }
97
104
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"default-providers.js","sourceRoot":"","sources":["../src/default-providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-providers.js","sourceRoot":"","sources":["../src/default-providers.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,13 @@ export interface ProviderEntry {
20
20
  * to force explicit registration. Default: true.
21
21
  */
22
22
  autoDiscover?: boolean;
23
+ /**
24
+ * Subpath to import the provider class from, e.g. `./server`. When set, the
25
+ * loader imports `<package>/<providerSubpath>` instead of the package's main
26
+ * entry. Used by packages that split their server-only code (e.g. `@rudderjs/ai`)
27
+ * away from a runtime-agnostic main entry.
28
+ */
29
+ providerSubpath?: string;
23
30
  }
24
31
  export interface ProviderManifest {
25
32
  version: 2;
@@ -1 +1 @@
1
- {"version":3,"file":"provider-registry.d.ts","sourceRoot":"","sources":["../src/provider-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAAG,SAAS,GAAG,YAAY,CAAA;AAEtF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAQ,MAAM,CAAA;IACrB,QAAQ,EAAO,MAAM,CAAA;IACrB,KAAK,EAAU,aAAa,CAAA;IAC5B,OAAO,CAAC,EAAO,MAAM,EAAE,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,EAAM,OAAO,CAAA;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAI,CAAC,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,aAAa,EAAE,CAAA;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAS3C,CAAA"}
1
+ {"version":3,"file":"provider-registry.d.ts","sourceRoot":"","sources":["../src/provider-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAAG,SAAS,GAAG,YAAY,CAAA;AAEtF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAQ,MAAM,CAAA;IACrB,QAAQ,EAAO,MAAM,CAAA;IACrB,KAAK,EAAU,aAAa,CAAA;IAC5B,OAAO,CAAC,EAAO,MAAM,EAAE,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,EAAM,OAAO,CAAA;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAI,CAAC,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,aAAa,EAAE,CAAA;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAS3C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-registry.js","sourceRoot":"","sources":["../src/provider-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwBH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,OAAO,EAAE,eAAe,EAAS,QAAQ,EAAE,aAAa,EAAO,KAAK,EAAE,YAAY,EAAM,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,mBAAmB,EAAK,QAAQ,EAAE,iBAAiB,EAAG,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,gBAAgB,EAAQ,QAAQ,EAAE,cAAc,EAAM,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,iBAAiB,EAAO,QAAQ,EAAE,eAAe,EAAK,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI;QACtG,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE;IAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAQ,QAAQ,EAAE,cAAc,EAAM,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI;QACtG,OAAO,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EAAE;CACrD,CAAA"}
1
+ {"version":3,"file":"provider-registry.js","sourceRoot":"","sources":["../src/provider-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+BH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,OAAO,EAAE,eAAe,EAAS,QAAQ,EAAE,aAAa,EAAO,KAAK,EAAE,YAAY,EAAM,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,mBAAmB,EAAK,QAAQ,EAAE,iBAAiB,EAAG,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,gBAAgB,EAAQ,QAAQ,EAAE,cAAc,EAAM,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1G,EAAE,OAAO,EAAE,iBAAiB,EAAO,QAAQ,EAAE,eAAe,EAAK,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI;QACtG,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE;IAC9B,EAAE,OAAO,EAAE,gBAAgB,EAAQ,QAAQ,EAAE,cAAc,EAAM,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI;QACtG,OAAO,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EAAE;CACrD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/core",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,10 +31,10 @@
31
31
  "dependencies": {
32
32
  "reflect-metadata": "^0.2.2",
33
33
  "zod": "^4.0.0",
34
- "@rudderjs/rudder": "0.0.3",
35
- "@rudderjs/router": "0.3.0",
36
- "@rudderjs/contracts": "0.1.0",
37
- "@rudderjs/support": "0.0.4"
34
+ "@rudderjs/rudder": "^0.0.3",
35
+ "@rudderjs/contracts": "^0.2.0",
36
+ "@rudderjs/router": "^0.3.1",
37
+ "@rudderjs/support": "^0.0.4"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^20.0.0",