@rudderjs/core 1.8.0 → 1.10.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/README.md CHANGED
@@ -12,14 +12,11 @@ pnpm add @rudderjs/core
12
12
 
13
13
  ```ts
14
14
  import { Application } from '@rudderjs/core'
15
- import { hono } from '@rudderjs/server-hono'
16
15
  import { RateLimit } from '@rudderjs/middleware'
17
16
 
18
- export default Application.configure({
19
- server: hono(configs.server),
20
- config: configs,
21
- providers,
22
- })
17
+ // The HTTP adapter is auto-resolved (@rudderjs/server-hono + config('server')).
18
+ // Pass `server: hono(config.server)` explicitly to override.
19
+ export default Application.configure({ config, providers })
23
20
  .withRouting({
24
21
  web: () => import('../routes/web.js'),
25
22
  api: () => import('../routes/api.js'),
@@ -14,13 +14,10 @@ Every RudderJS app is wired in `bootstrap/app.ts` using the builder pattern:
14
14
  import 'reflect-metadata'
15
15
  import 'dotenv/config'
16
16
  import { Application } from '@rudderjs/core'
17
- import { hono } from '@rudderjs/server-hono'
18
- import configs from '../config/index.ts'
17
+ import config from '../config/index.ts'
19
18
  import providers from './providers.ts'
20
19
 
21
- export default Application.configure({
22
- server: hono(configs.server), config: configs, providers,
23
- })
20
+ export default Application.configure({ config, providers })
24
21
  .withRouting({
25
22
  web: () => import('../routes/web.ts'),
26
23
  api: () => import('../routes/api.ts'),
@@ -31,7 +28,7 @@ export default Application.configure({
31
28
  .create()
32
29
  ```
33
30
 
34
- There is no `rudderjs.config.ts` -- `bootstrap/app.ts` is the framework wiring file.
31
+ There is no `rudderjs.config.ts` -- `bootstrap/app.ts` is the framework wiring file. The `server:` option is optional: omitted, the framework auto-resolves `@rudderjs/server-hono` and constructs it with `config('server')`. Pass `server: hono(config.server)` explicitly to override the adapter (or when bundling to a single file).
35
32
 
36
33
  ### Service Providers
37
34
 
@@ -63,7 +60,7 @@ export default [
63
60
  ]
64
61
  ```
65
62
 
66
- To register manually, list each `*Provider` class explicitly (`CacheProvider`, `QueueProvider`, etc.) and read config from a `config: configs` object passed to `Application.configure()` — the providers resolve their config keys via the DI container.
63
+ To register manually, list each `*Provider` class explicitly (`CacheProvider`, `QueueProvider`, etc.) and read config from the `config` object passed to `Application.configure()` — the providers resolve their config keys via the DI container.
67
64
 
68
65
  Providers can also be registered dynamically at runtime via `app().register(ProviderClass)`. Duplicates are silently skipped (guarded by class reference and class name).
69
66
 
@@ -1,7 +1,14 @@
1
1
  import type { AppRequest, MiddlewareHandler, ServerAdapterProvider } from '@rudderjs/contracts';
2
2
  import { Application, type ProviderClass } from './application.js';
3
3
  export interface ConfigureOptions {
4
- server: ServerAdapterProvider;
4
+ /**
5
+ * HTTP server adapter. Omit to auto-resolve `@rudderjs/server-hono`,
6
+ * constructed with `config('server')` — equivalent to passing
7
+ * `hono(config.server)` explicitly. Pass an explicit adapter to use a
8
+ * different server, or when bundling to a single file (the auto-resolve
9
+ * is a runtime lookup that bundlers can't see).
10
+ */
11
+ server?: ServerAdapterProvider;
5
12
  config?: Record<string, unknown>;
6
13
  providers?: ProviderClass[];
7
14
  }
@@ -75,7 +82,16 @@ export declare class RudderJS {
75
82
  /** Phase 2: provider boot + HTTP handler — created lazily on first handleRequest call */
76
83
  private _boot;
77
84
  private _handler;
78
- constructor(_app: Application, _server: ServerAdapterProvider, _loaders: Array<() => Promise<unknown>>, _mwFn?: ((m: MiddlewareConfigurator) => void) | undefined, _excFn?: ((e: ExceptionConfigurator) => void) | undefined);
85
+ /** Memoized auto-resolved server adapter (when no explicit `server:` was configured). */
86
+ private _autoServer;
87
+ constructor(_app: Application, _server: ServerAdapterProvider | undefined, _loaders: Array<() => Promise<unknown>>, _mwFn?: ((m: MiddlewareConfigurator) => void) | undefined, _excFn?: ((e: ExceptionConfigurator) => void) | undefined);
88
+ /**
89
+ * Resolve the server adapter: the explicit `server:` from
90
+ * `Application.configure()` when given, otherwise auto-resolve
91
+ * `@rudderjs/server-hono` (the default adapter) and construct it with
92
+ * `config('server')`. Memoized — resolution runs once per instance.
93
+ */
94
+ private _resolveServer;
79
95
  /**
80
96
  * Single-flight the provider re-boot across concurrent dev HMR reloads.
81
97
  *
@@ -1 +1 @@
1
- {"version":3,"file":"app-builder.d.ts","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-builder.d.ts","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EAEV,iBAAiB,EAEjB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,WAAW,EAGX,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAA;AA4DzB,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,MAAM,CAAC,EAAK,qBAAqB,CAAA;IACjC,MAAM,CAAC,EAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAO,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,GAAG,CAAC,EAAO,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAClC;AAID,KAAK,cAAc,GAAG,KAAK,GAAG,KAAK,CAAA;AAEnC,qBAAa,sBAAsB;IACjC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,cAAc,CAAoE;IAE1F,4EAA4E;IAC5E,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAKrC,2FAA2F;IAC3F,GAAG,CAAC,GAAG,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAK3C,2FAA2F;IAC3F,GAAG,CAAC,GAAG,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAK3C,WAAW,IAAI,iBAAiB,EAAE;IAElC,qFAAqF;IACrF,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,iBAAiB,EAAE;CAG7D;AAID,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE3F,qBAAa,qBAAqB;IAEhC,OAAO,CAAC,QAAQ,CAA0E;IAE1F,OAAO,CAAC,QAAQ,CAAkD;IAElE;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,SAAS,KAAK,EAEpB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAC/B,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAC5D,IAAI;IAKP;;OAEG;IAEH,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,GAAG,IAAI;IAKnD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;CAuE9C;AAID,qBAAa,UAAU;IAKT,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,KAAK,CAAC,CAAsC;IACpD,OAAO,CAAC,MAAM,CAAC,CAAoC;gBAEtB,QAAQ,EAAE,gBAAgB;IAEvD,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAQzC,kFAAkF;IAClF,OAAO,CAAC,aAAa;IAOrB,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,sBAAsB,KAAK,IAAI,GAAG,IAAI;IAK7D,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI;IAK5D,MAAM,IAAI,QAAQ;CAyBnB;AAID,qBAAa,QAAQ;IAUjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAb1B,+EAA+E;IAC/E,OAAO,CAAC,aAAa,CAAe;IACpC,yFAAyF;IACzF,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAA4B;IAC5C,yFAAyF;IACzF,OAAO,CAAC,WAAW,CAA8C;gBAG9C,IAAI,EAAM,WAAW,EACrB,OAAO,EAAG,qBAAqB,GAAG,SAAS,EAC3C,QAAQ,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,EACvC,KAAK,CAAC,GAAI,CAAC,CAAC,EAAE,sBAAsB,KAAK,IAAI,aAAA,EAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,aAAA;IAW/D;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,kBAAkB;IAe1B,6EAA6E;YAC/D,mBAAmB;IA8DjC;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAoFxB,sFAAsF;YACxE,cAAc;IAmB5B,uEAAuE;IACjE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;;;;;;OASG;IACH,kBAAkB,IAAI;QACpB,MAAM,EAAE,iBAAiB,EAAE,CAAA;QAC3B,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,EAAE,CAAC,CAAA;KACpD;IAYK,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2BtF,QAAQ,CAAC,KAAK,GAAI,SAAS,OAAO,EAAE,MAAM,OAAO,EAAE,MAAM,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAC7C;CACxC"}
@@ -1,4 +1,5 @@
1
1
  import { rudder } from '@rudderjs/console';
2
+ import { config, resolveOptionalPeer } from '@rudderjs/support';
2
3
  import { Application, groupMiddlewareStore, resetGroupMiddleware, } from './application.js';
3
4
  import { getLastLoadedProviderEntries } from './default-providers.js';
4
5
  import { drainBootNotices, formatBootNotices } from './boot-notices.js';
@@ -236,6 +237,8 @@ export class RudderJS {
236
237
  /** Phase 2: provider boot + HTTP handler — created lazily on first handleRequest call */
237
238
  _boot = null;
238
239
  _handler = null;
240
+ /** Memoized auto-resolved server adapter (when no explicit `server:` was configured). */
241
+ _autoServer = null;
239
242
  constructor(_app, _server, _loaders, _mwFn, _excFn) {
240
243
  this._app = _app;
241
244
  this._server = _server;
@@ -243,6 +246,39 @@ export class RudderJS {
243
246
  this._mwFn = _mwFn;
244
247
  this._excFn = _excFn;
245
248
  this._providerBoot = this._singleFlightBootstrap();
249
+ // Kick off the auto-resolution eagerly (fire-and-forget) so server-hono's
250
+ // module-load side effects — notably the vike/server prewarm — fire at the
251
+ // same t≈0 point in the cold-boot timeline that the static
252
+ // `import { hono }` in bootstrap/app.ts used to provide. Errors are
253
+ // swallowed here; the awaited path in `_createHandler()` surfaces them.
254
+ if (!this._server)
255
+ void this._resolveServer().catch(() => { });
256
+ }
257
+ /**
258
+ * Resolve the server adapter: the explicit `server:` from
259
+ * `Application.configure()` when given, otherwise auto-resolve
260
+ * `@rudderjs/server-hono` (the default adapter) and construct it with
261
+ * `config('server')`. Memoized — resolution runs once per instance.
262
+ */
263
+ _resolveServer() {
264
+ if (this._server)
265
+ return Promise.resolve(this._server);
266
+ if (!this._autoServer) {
267
+ this._autoServer = (async () => {
268
+ let mod;
269
+ try {
270
+ mod = await resolveOptionalPeer('@rudderjs/server-hono');
271
+ }
272
+ catch { /* not installed — handled below */ }
273
+ if (typeof mod?.hono !== 'function') {
274
+ throw new Error('[RudderJS] No server adapter configured and @rudderjs/server-hono is not installed. ' +
275
+ 'Install @rudderjs/server-hono, or pass an explicit adapter: ' +
276
+ 'Application.configure({ server: hono(config.server), ... }).');
277
+ }
278
+ return mod.hono(config('server', {}));
279
+ })();
280
+ }
281
+ return this._autoServer;
246
282
  }
247
283
  /**
248
284
  * Single-flight the provider re-boot across concurrent dev HMR reloads.
@@ -465,7 +501,8 @@ export class RudderJS {
465
501
  this._excFn?.(exc);
466
502
  const errorHandler = exc.buildHandler();
467
503
  const { router } = await import('@rudderjs/router');
468
- this._handler = await this._server.createFetchHandler((adapter) => {
504
+ const server = await this._resolveServer();
505
+ this._handler = await server.createFetchHandler((adapter) => {
469
506
  for (const h of mw.getHandlers())
470
507
  adapter.applyMiddleware(h);
471
508
  if (adapter.applyGroupMiddleware) {
@@ -1 +1 @@
1
- {"version":3,"file":"app-builder.js","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-builder.js","sourceRoot":"","sources":["../src/app-builder.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,24 @@
1
- import type { ProviderEntry } from '../provider-registry.js';
1
+ import type { ManifestFingerprint, ProviderEntry } from '../provider-registry.js';
2
2
  /**
3
3
  * Scan node_modules for packages that declare a `rudderjs` field in their
4
4
  * package.json and return sorted provider entries.
5
5
  */
6
6
  export declare function scanProviders(cwd: string): ProviderEntry[];
7
+ /**
8
+ * Fingerprint the dependency state the scan ran against, so the boot path can
9
+ * detect a stale manifest. `depsHash` catches package.json edits (add/remove);
10
+ * the lockfile stat (size/mtime only — the multi-MB file is never read)
11
+ * catches in-range updates that swap an installed package's `rudderjs` field.
12
+ * Absent inputs are omitted; the staleness check skips missing fields.
13
+ */
14
+ export declare function computeFingerprint(cwd: string): ManifestFingerprint;
15
+ /** A manifest is stale when any fingerprint field that exists on both sides differs. */
16
+ export declare function isFingerprintStale(stored: ManifestFingerprint | undefined, current: ManifestFingerprint): boolean;
7
17
  /**
8
18
  * Write the provider manifest to bootstrap/cache/providers.json.
19
+ *
20
+ * Atomic (tmp + rename) so a concurrently booting process never reads a
21
+ * half-written manifest — the boot path may now write this file too.
9
22
  */
10
23
  export declare function writeProviderManifest(cwd: string, sorted: ProviderEntry[]): string;
11
24
  //# sourceMappingURL=providers-discover.d.ts.map
@@ -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;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"}
1
+ {"version":3,"file":"providers-discover.d.ts","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAoB,MAAM,yBAAyB,CAAA;AAWnG;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAI1D;AAKD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CA0BnE;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAQjH;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAelF"}
@@ -1,4 +1,5 @@
1
- import { readFileSync, readdirSync, writeFileSync, mkdirSync } from 'node:fs';
1
+ import { readFileSync, readdirSync, writeFileSync, mkdirSync, renameSync, statSync } from 'node:fs';
2
+ import { createHash, randomUUID } from 'node:crypto';
2
3
  import path from 'node:path';
3
4
  import { sortByStageAndDepends } from '../provider-sort.js';
4
5
  /**
@@ -10,19 +11,70 @@ export function scanProviders(cwd) {
10
11
  const entries = scanNodeModules(nodeModules);
11
12
  return sortByStageAndDepends(entries);
12
13
  }
14
+ /** Lockfiles checked (in order) when fingerprinting the dependency state. */
15
+ const LOCKFILES = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock', 'bun.lock', 'bun.lockb'];
16
+ /**
17
+ * Fingerprint the dependency state the scan ran against, so the boot path can
18
+ * detect a stale manifest. `depsHash` catches package.json edits (add/remove);
19
+ * the lockfile stat (size/mtime only — the multi-MB file is never read)
20
+ * catches in-range updates that swap an installed package's `rudderjs` field.
21
+ * Absent inputs are omitted; the staleness check skips missing fields.
22
+ */
23
+ export function computeFingerprint(cwd) {
24
+ const fingerprint = {};
25
+ try {
26
+ const pkg = JSON.parse(readFileSync(path.join(cwd, 'package.json'), 'utf-8'));
27
+ fingerprint.depsHash = createHash('sha256')
28
+ .update(JSON.stringify({ dependencies: pkg.dependencies ?? {}, devDependencies: pkg.devDependencies ?? {} }))
29
+ .digest('hex');
30
+ }
31
+ catch {
32
+ // No readable package.json — fingerprint stays partial.
33
+ }
34
+ for (const name of LOCKFILES) {
35
+ try {
36
+ const stat = statSync(path.join(cwd, name));
37
+ fingerprint.lockfile = { name, size: stat.size, mtimeMs: stat.mtimeMs };
38
+ break;
39
+ }
40
+ catch {
41
+ // try the next lockfile
42
+ }
43
+ }
44
+ return fingerprint;
45
+ }
46
+ /** A manifest is stale when any fingerprint field that exists on both sides differs. */
47
+ export function isFingerprintStale(stored, current) {
48
+ if (!stored)
49
+ return true; // legacy v2 manifest — no fingerprint to trust
50
+ if (stored.depsHash && current.depsHash && stored.depsHash !== current.depsHash)
51
+ return true;
52
+ if (stored.lockfile && current.lockfile) {
53
+ const a = stored.lockfile, b = current.lockfile;
54
+ if (a.name !== b.name || a.size !== b.size || a.mtimeMs !== b.mtimeMs)
55
+ return true;
56
+ }
57
+ return false;
58
+ }
13
59
  /**
14
60
  * Write the provider manifest to bootstrap/cache/providers.json.
61
+ *
62
+ * Atomic (tmp + rename) so a concurrently booting process never reads a
63
+ * half-written manifest — the boot path may now write this file too.
15
64
  */
16
65
  export function writeProviderManifest(cwd, sorted) {
17
66
  const manifest = {
18
- version: 2,
67
+ version: 3,
19
68
  generated: new Date().toISOString(),
69
+ fingerprint: computeFingerprint(cwd),
20
70
  providers: sorted,
21
71
  };
22
72
  const cacheDir = path.join(cwd, 'bootstrap/cache');
23
73
  mkdirSync(cacheDir, { recursive: true });
24
74
  const manifestPath = path.join(cacheDir, 'providers.json');
25
- writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
75
+ const tmpPath = path.join(cacheDir, `.providers.json.${randomUUID()}.tmp`);
76
+ writeFileSync(tmpPath, JSON.stringify(manifest, null, 2) + '\n');
77
+ renameSync(tmpPath, manifestPath);
26
78
  return manifestPath;
27
79
  }
28
80
  function scanNodeModules(nodeModules) {
@@ -1 +1 @@
1
- {"version":3,"file":"providers-discover.js","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAY3D;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IAC5C,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAA;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW,EAAE,MAAuB;IACxE,MAAM,QAAQ,GAAqB;QACjC,OAAO,EAAI,CAAC;QACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS,EAAE,MAAM;KAClB,CAAA;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;IAClD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IAC1D,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IACrE,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB;IAC1C,MAAM,GAAG,GAAoB,EAAE,CAAA;IAC/B,IAAI,MAAgB,CAAA;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QAEpC,IAAI,IAAc,CAAA;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,CAAA;YACtE,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAG5D,CAAA;gBACD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI;oBAAE,SAAQ;gBAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAA;gBAE9B,qDAAqD;gBACrD,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK;oBAAE,SAAQ;gBAE1C,MAAM,KAAK,GAAkB;oBAC3B,OAAO,EAAG,OAAO,CAAC,IAAI;oBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAK,KAAK,CAAC,KAAK;iBACtB,CAAA;gBACD,IAAI,KAAK,CAAC,OAAO;oBAAU,KAAK,CAAC,OAAO,GAAW,KAAK,CAAC,OAAO,CAAA;gBAChE,IAAI,KAAK,CAAC,QAAQ;oBAAS,KAAK,CAAC,QAAQ,GAAU,KAAK,CAAC,QAAQ,CAAA;gBACjE,IAAI,KAAK,CAAC,eAAe;oBAAE,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAA;gBAExE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"providers-discover.js","sourceRoot":"","sources":["../../src/commands/providers-discover.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,15 @@ export interface DefaultProvidersOptions {
8
8
  /**
9
9
  * Returns the framework's default provider classes, sorted by stage + depends.
10
10
  *
11
- * Resolution order:
12
- * 1. `bootstrap/cache/providers.json` manifest if it exists (run `pnpm rudder providers:discover`).
13
- * 2. Built-in minimal registry as fallback (so cold dev clones boot).
11
+ * Resolution order (self-healing — no manual `providers:discover` needed):
12
+ * 1. `bootstrap/cache/providers.json` manifest, when its fingerprint matches the
13
+ * current dependency state.
14
+ * 2. Manifest missing or stale → scan node_modules at boot. In development the
15
+ * manifest is rewritten; in production a stale manifest is still honored
16
+ * (deterministic boots) with a warning, and a missing one is scanned in
17
+ * memory with a warning — bake the manifest via `rudder providers:discover`
18
+ * in your build step for bundled/serverless deploys.
19
+ * 3. Built-in minimal registry as a last resort (no node_modules to scan).
14
20
  *
15
21
  * Each entry's `package` is dynamically imported via `resolveOptionalPeer`.
16
22
  * Missing non-optional packages log a warning and are skipped; missing optional
@@ -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;AAK5D,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;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA8DtG"}
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;AAK5D,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;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAwHtG"}
@@ -2,7 +2,7 @@
2
2
  // module stays safe to include in browser bundles. Vite externalizes node:* in
3
3
  // client builds, and a top-level import would crash the browser the moment any
4
4
  // client code transitively touches @rudderjs/core's barrel export.
5
- import { resolveOptionalPeer, config } from '@rudderjs/support';
5
+ import { resolveOptionalPeer, config, Env } from '@rudderjs/support';
6
6
  import { BUILTIN_REGISTRY } from './provider-registry.js';
7
7
  import { sortByStageAndDepends } from './provider-sort.js';
8
8
  // Cached on globalThis (not a module-level let) because Vite SSR can isolate the
@@ -17,9 +17,15 @@ export function getLastLoadedProviderEntries() {
17
17
  /**
18
18
  * Returns the framework's default provider classes, sorted by stage + depends.
19
19
  *
20
- * Resolution order:
21
- * 1. `bootstrap/cache/providers.json` manifest if it exists (run `pnpm rudder providers:discover`).
22
- * 2. Built-in minimal registry as fallback (so cold dev clones boot).
20
+ * Resolution order (self-healing — no manual `providers:discover` needed):
21
+ * 1. `bootstrap/cache/providers.json` manifest, when its fingerprint matches the
22
+ * current dependency state.
23
+ * 2. Manifest missing or stale → scan node_modules at boot. In development the
24
+ * manifest is rewritten; in production a stale manifest is still honored
25
+ * (deterministic boots) with a warning, and a missing one is scanned in
26
+ * memory with a warning — bake the manifest via `rudder providers:discover`
27
+ * in your build step for bundled/serverless deploys.
28
+ * 3. Built-in minimal registry as a last resort (no node_modules to scan).
23
29
  *
24
30
  * Each entry's `package` is dynamically imported via `resolveOptionalPeer`.
25
31
  * Missing non-optional packages log a warning and are skipped; missing optional
@@ -54,22 +60,82 @@ export async function defaultProviders(options = {}) {
54
60
  // Lazy-load node:* so this module stays browser-safe at the top level.
55
61
  const { readFileSync } = await import('node:fs');
56
62
  const path = await import('node:path');
57
- // 1. Try the build-time manifest first
58
- let entries;
63
+ const cwd = process.cwd();
64
+ // Same env derivation as Application (APP_ENV, defaulting to production —
65
+ // the safe side: production never auto-rewrites the manifest).
66
+ const isProduction = Env.get('APP_ENV', 'production') === 'production';
67
+ // 1. Read the manifest (cached fast path)
68
+ let manifest;
59
69
  try {
60
- const manifestPath = path.join(process.cwd(), 'bootstrap/cache/providers.json');
61
- const manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));
62
- entries = manifest.providers;
70
+ manifest = JSON.parse(readFileSync(path.join(cwd, 'bootstrap/cache/providers.json'), 'utf-8'));
63
71
  }
64
72
  catch {
65
- // 2. Fall back to the built-in minimal registry, sort it ourselves
66
- entries = sortByStageAndDepends(BUILTIN_REGISTRY);
73
+ // missing or unreadable handled below
67
74
  }
68
- // 3. Drop entries explicitly opted out of auto-discovery
75
+ // 2. Self-heal: scan node_modules when the manifest is missing or stale.
76
+ // commands/providers-discover.js has top-level node:* imports, so it is
77
+ // lazy-loaded here to keep this module browser-safe at eval time.
78
+ let entries = manifest?.providers;
79
+ if (manifest) {
80
+ try {
81
+ const { computeFingerprint, isFingerprintStale, scanProviders, writeProviderManifest } = await import('./commands/providers-discover.js');
82
+ if (isFingerprintStale(manifest.fingerprint, computeFingerprint(cwd))) {
83
+ if (isProduction) {
84
+ // Honor the manifest — deterministic boots win in production. Legacy
85
+ // v2 manifests (no fingerprint) are used silently; a genuinely stale
86
+ // v3 fingerprint warns.
87
+ if (manifest.version >= 3) {
88
+ console.warn('[RudderJS] provider manifest is stale (dependencies changed since it was generated). ' +
89
+ 'Using it anyway — run `rudder providers:discover` in your build step to refresh.');
90
+ }
91
+ }
92
+ else {
93
+ const scanned = scanProviders(cwd);
94
+ if (scanned.length > 0) {
95
+ entries = scanned;
96
+ try {
97
+ writeProviderManifest(cwd, scanned);
98
+ }
99
+ catch { /* read-only fs — in-memory result still used */ }
100
+ console.log('[RudderJS] provider manifest regenerated (dependencies changed)');
101
+ }
102
+ }
103
+ }
104
+ }
105
+ catch {
106
+ // Fingerprint check failed — use the manifest as-is.
107
+ }
108
+ }
109
+ else {
110
+ try {
111
+ const { scanProviders, writeProviderManifest } = await import('./commands/providers-discover.js');
112
+ const scanned = scanProviders(cwd);
113
+ if (scanned.length > 0) {
114
+ entries = scanned;
115
+ try {
116
+ writeProviderManifest(cwd, scanned);
117
+ }
118
+ catch { /* read-only fs — in-memory result still used */ }
119
+ if (isProduction) {
120
+ console.warn('[RudderJS] no provider manifest found — scanned node_modules at boot. ' +
121
+ 'Run `rudder providers:discover` in your build step to bake bootstrap/cache/providers.json.');
122
+ }
123
+ else {
124
+ console.log('[RudderJS] provider manifest generated (bootstrap/cache/providers.json)');
125
+ }
126
+ }
127
+ }
128
+ catch {
129
+ // Scan failed — fall through to the built-in registry.
130
+ }
131
+ }
132
+ // 3. Last resort: built-in minimal registry (no manifest, nothing to scan)
133
+ entries ??= sortByStageAndDepends(BUILTIN_REGISTRY);
134
+ // 4. Drop entries explicitly opted out of auto-discovery
69
135
  entries = entries.filter(e => e.autoDiscover !== false);
70
- // 4. Resolve multi-driver collisions (e.g. orm-prisma vs orm-drizzle)
136
+ // 5. Resolve multi-driver collisions (e.g. orm-prisma vs orm-drizzle)
71
137
  entries = resolveMultiDriver(entries, '@rudderjs/orm-', 'database.driver');
72
- // 5. Filter installed + skipped, then resolve each class
138
+ // 6. Filter installed + skipped, then resolve each class
73
139
  const providers = [];
74
140
  const loaded = [];
75
141
  for (const entry of entries) {
@@ -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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"}
@@ -28,9 +28,26 @@ export interface ProviderEntry {
28
28
  */
29
29
  providerSubpath?: string;
30
30
  }
31
+ /**
32
+ * Fingerprint of the dependency state a manifest was scanned from. Lets
33
+ * `defaultProviders()` detect a stale manifest (raw `pnpm add/remove/update`
34
+ * without a `providers:discover` run) and self-heal at boot.
35
+ */
36
+ export interface ManifestFingerprint {
37
+ /** sha256 of JSON({ dependencies, devDependencies }) from the app package.json. */
38
+ depsHash?: string;
39
+ /** Stat of the first lockfile found — size/mtime only, the file is never read. */
40
+ lockfile?: {
41
+ name: string;
42
+ size: number;
43
+ mtimeMs: number;
44
+ };
45
+ }
31
46
  export interface ProviderManifest {
32
- version: 2;
47
+ /** v2 = legacy (no fingerprint); v3 adds `fingerprint`. */
48
+ version: 2 | 3;
33
49
  generated: string;
50
+ fingerprint?: ManifestFingerprint;
34
51
  providers: ProviderEntry[];
35
52
  }
36
53
  /**
@@ -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;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
+ {"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;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kFAAkF;IAClF,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,EAAO,CAAC,GAAG,CAAC,CAAA;IACnB,SAAS,EAAK,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,SAAS,EAAK,aAAa,EAAE,CAAA;CAC9B;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;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"}
1
+ {"version":3,"file":"provider-registry.js","sourceRoot":"","sources":["../src/provider-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6CH;;;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": "1.8.0",
3
+ "version": "1.10.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -47,8 +47,8 @@
47
47
  "reflect-metadata": "^0.2.2",
48
48
  "zod": "^4.0.0",
49
49
  "@rudderjs/console": "^1.4.0",
50
- "@rudderjs/contracts": "^1.13.0",
51
50
  "@rudderjs/router": "^1.8.0",
51
+ "@rudderjs/contracts": "^1.14.0",
52
52
  "@rudderjs/support": "^1.6.0"
53
53
  },
54
54
  "devDependencies": {