@fluxfast/next 0.1.0 → 0.3.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.
Files changed (51) hide show
  1. package/bin/fluxfast.js +2 -11
  2. package/dist/cli/apply.d.ts +11 -0
  3. package/dist/cli/apply.d.ts.map +1 -0
  4. package/dist/cli/apply.js +189 -0
  5. package/dist/cli/apply.js.map +1 -0
  6. package/dist/cli/diagnostics.d.ts +22 -0
  7. package/dist/cli/diagnostics.d.ts.map +1 -0
  8. package/dist/cli/diagnostics.js +180 -0
  9. package/dist/cli/diagnostics.js.map +1 -0
  10. package/dist/cli/files.d.ts +14 -0
  11. package/dist/cli/files.d.ts.map +1 -0
  12. package/dist/cli/files.js +60 -0
  13. package/dist/cli/files.js.map +1 -0
  14. package/dist/cli/index.d.ts +7 -0
  15. package/dist/cli/index.d.ts.map +1 -0
  16. package/dist/cli/index.js +251 -0
  17. package/dist/cli/index.js.map +1 -0
  18. package/dist/cli/init.d.ts +42 -0
  19. package/dist/cli/init.d.ts.map +1 -0
  20. package/dist/cli/init.js +158 -0
  21. package/dist/cli/init.js.map +1 -0
  22. package/dist/cli/migration.d.ts +11 -0
  23. package/dist/cli/migration.d.ts.map +1 -0
  24. package/dist/cli/migration.js +73 -0
  25. package/dist/cli/migration.js.map +1 -0
  26. package/dist/cli/next-config.d.ts +16 -0
  27. package/dist/cli/next-config.d.ts.map +1 -0
  28. package/dist/cli/next-config.js +258 -0
  29. package/dist/cli/next-config.js.map +1 -0
  30. package/dist/cli/project.d.ts +12 -0
  31. package/dist/cli/project.d.ts.map +1 -0
  32. package/dist/cli/project.js +320 -0
  33. package/dist/cli/project.js.map +1 -0
  34. package/dist/cli/types.d.ts +41 -0
  35. package/dist/cli/types.d.ts.map +1 -0
  36. package/dist/cli/types.js +3 -0
  37. package/dist/cli/types.js.map +1 -0
  38. package/dist/generate.d.ts +10 -0
  39. package/dist/generate.d.ts.map +1 -1
  40. package/dist/generate.js +29 -8
  41. package/dist/generate.js.map +1 -1
  42. package/dist/hooks.d.ts +12 -1
  43. package/dist/hooks.d.ts.map +1 -1
  44. package/dist/hooks.js +30 -0
  45. package/dist/hooks.js.map +1 -1
  46. package/dist/provider.js +3 -3
  47. package/dist/provider.js.map +1 -1
  48. package/dist/server.d.ts.map +1 -1
  49. package/dist/server.js +1 -0
  50. package/dist/server.js.map +1 -1
  51. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,YAAY,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,oBAAoB,GACpB,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,OAAO,GACP,WAAW,GACX,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,EAAE,eAAe,CAAC;IAC9B,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,mBAAmB,CAAC;CAC/B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":""}
@@ -1,6 +1,16 @@
1
1
  export interface GenerateOptions {
2
2
  pagesDir?: string;
3
3
  outputFile?: string;
4
+ log?: boolean;
4
5
  }
6
+ export interface PagesRegistrySnapshot {
7
+ content: string;
8
+ files: string[];
9
+ identifiers: string[];
10
+ outputFile: string;
11
+ pagesDir: string;
12
+ }
13
+ /** Render the deterministic registry in memory without modifying the project. */
14
+ export declare function createPagesRegistrySnapshot(options?: GenerateOptions): PagesRegistrySnapshot;
5
15
  export declare function generatePagesRegistry(options?: GenerateOptions): void;
6
16
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkBD,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,eAAoB,GAAG,IAAI,CAoDzE"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkBD,iFAAiF;AACjF,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,eAAoB,GAC5B,qBAAqB,CA8DvB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,eAAoB,GAAG,IAAI,CAWzE"}
package/dist/generate.js CHANGED
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createPagesRegistrySnapshot = createPagesRegistrySnapshot;
6
7
  exports.generatePagesRegistry = generatePagesRegistry;
7
8
  const node_fs_1 = __importDefault(require("node:fs"));
8
9
  const node_path_1 = __importDefault(require("node:path"));
@@ -17,12 +18,11 @@ function assertSafePageFile(file) {
17
18
  throw new TypeError(`[fluxfast] Page path contains unsupported characters: ${JSON.stringify(file)}`);
18
19
  }
19
20
  }
20
- function generatePagesRegistry(options = {}) {
21
+ /** Render the deterministic registry in memory without modifying the project. */
22
+ function createPagesRegistrySnapshot(options = {}) {
21
23
  const rootDir = process.cwd();
22
24
  const pagesDir = node_path_1.default.resolve(rootDir, options.pagesDir ?? "src/flux-pages");
23
25
  const outputFile = node_path_1.default.resolve(rootDir, options.outputFile ?? "src/.fluxfast/pages.generated.ts");
24
- node_fs_1.default.mkdirSync(pagesDir, { recursive: true });
25
- node_fs_1.default.mkdirSync(node_path_1.default.dirname(outputFile), { recursive: true });
26
26
  const foundFiles = [];
27
27
  const scanDir = (dir, base = "") => {
28
28
  for (const entry of node_fs_1.default.readdirSync(dir, { withFileTypes: true })) {
@@ -40,11 +40,24 @@ function generatePagesRegistry(options = {}) {
40
40
  }
41
41
  }
42
42
  };
43
- scanDir(pagesDir);
43
+ if (node_fs_1.default.existsSync(pagesDir)) {
44
+ scanDir(pagesDir);
45
+ }
44
46
  foundFiles.sort();
47
+ const identifiers = foundFiles.map(file => file.replace(PAGE_EXTENSION, ""));
48
+ const identifierFiles = new Map();
49
+ for (let index = 0; index < identifiers.length; index += 1) {
50
+ const identifier = identifiers[index];
51
+ const file = foundFiles[index];
52
+ const previous = identifierFiles.get(identifier);
53
+ if (previous) {
54
+ throw new TypeError(`[fluxfast] Duplicate FluxFast page identifier ${JSON.stringify(identifier)} from ${JSON.stringify(previous)} and ${JSON.stringify(file)}`);
55
+ }
56
+ identifierFiles.set(identifier, file);
57
+ }
45
58
  const outputDir = node_path_1.default.dirname(outputFile);
46
- const entries = foundFiles.map(file => {
47
- const identifier = file.replace(PAGE_EXTENSION, "");
59
+ const entries = foundFiles.map((file, index) => {
60
+ const identifier = identifiers[index];
48
61
  const relativeImport = node_path_1.default
49
62
  .relative(outputDir, node_path_1.default.join(pagesDir, file))
50
63
  .replace(PAGE_EXTENSION, "")
@@ -55,7 +68,15 @@ function generatePagesRegistry(options = {}) {
55
68
  return ` ${JSON.stringify(identifier)}: { load: () => import(${JSON.stringify(importPath)}) },`;
56
69
  });
57
70
  const content = `// AUTO-GENERATED BY FLUXFAST.\n// DO NOT EDIT MANUALLY.\n"use client";\n\nimport React from "react";\nimport { FluxRoot } from "@fluxfast/next";\nimport type { ComponentRegistry, FluxApplicationProps } from "@fluxfast/next";\n\nexport const fluxPages: ComponentRegistry = {\n${entries.join("\n")}\n};\n\nexport function FluxApplication(props: FluxApplicationProps) {\n return React.createElement(FluxRoot, { ...props, registry: fluxPages });\n}\n\nexport default fluxPages;\n`;
58
- node_fs_1.default.writeFileSync(outputFile, content, "utf8");
59
- console.log(`[fluxfast] Generated component registry with ${foundFiles.length} pages at ${outputFile}`);
71
+ return { content, files: foundFiles, identifiers, outputFile, pagesDir };
72
+ }
73
+ function generatePagesRegistry(options = {}) {
74
+ const snapshot = createPagesRegistrySnapshot(options);
75
+ node_fs_1.default.mkdirSync(snapshot.pagesDir, { recursive: true });
76
+ node_fs_1.default.mkdirSync(node_path_1.default.dirname(snapshot.outputFile), { recursive: true });
77
+ node_fs_1.default.writeFileSync(snapshot.outputFile, snapshot.content, "utf8");
78
+ if (options.log !== false) {
79
+ console.log(`[fluxfast] Generated component registry with ${snapshot.files.length} pages at ${snapshot.outputFile}`);
80
+ }
60
81
  }
61
82
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAO7B,MAAM,cAAc,GAAG,cAAc,CAAC;AACtC,MAAM,YAAY,GAAG,mCAAmC,CAAC;AACzD,MAAM,cAAc,GAClB,oEAAoE,CAAC;AAEvE,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,mBAAmB,GAAG,IAAI;SAC7B,KAAK,CAAC,GAAG,CAAC;SACV,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CACjB,yDAAyD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAChF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+BAAsC,OAAO,GAAoB,EAAE;IACjE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAC7B,OAAO,EACP,OAAO,CAAC,UAAU,IAAI,kCAAkC,CACzD,CAAC;IAEF,iBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,iBAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAI,GAAG,EAAE,EAAQ,EAAE;QAC/C,KAAK,MAAM,KAAK,IAAI,iBAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAC7D,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9B,CAAC;iBAAM,IACL,KAAK,CAAC,MAAM,EAAE;gBACd,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC/B,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC9B,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAC3B,CAAC;gBACD,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,UAAU,CAAC,IAAI,EAAE,CAAC;IAElB,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,mBAAI;aACxB,QAAQ,CAAC,SAAS,EAAE,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC9C,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvB,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC;YAC/C,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QAC1B,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,uRAAuR,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sLAAsL,CAAC;IAEhf,iBAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CACT,gDAAgD,UAAU,CAAC,MAAM,aAAa,UAAU,EAAE,CAC3F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
package/dist/hooks.d.ts CHANGED
@@ -1,6 +1,17 @@
1
- import { FluxRouter, PageState } from "@fluxfast/core";
1
+ import { FluxRouter, PageState, ResourceStateSnapshot } from "@fluxfast/core";
2
2
  export declare function useRouter(): FluxRouter;
3
3
  export declare function useFlux(): import("./provider").FluxContextValue;
4
4
  export declare function usePage(): PageState;
5
5
  export declare function useResource<T = unknown>(key: string): T;
6
+ /** Subscribe to stable status, error, data, and stale metadata for one resource. */
7
+ export declare function useResourceState<T = unknown>(key: string): ResourceStateSnapshot<T>;
8
+ export interface DeferredResourceResult<T = unknown> extends ResourceStateSnapshot<T> {
9
+ readonly retry: () => Promise<void>;
10
+ readonly isLoading: boolean;
11
+ readonly isError: boolean;
12
+ readonly isReady: boolean;
13
+ readonly isPending: boolean;
14
+ }
15
+ /** Read a deferred resource state and retry only that resource on demand. */
16
+ export declare function useDeferredResource<T = unknown>(key: string): DeferredResourceResult<T>;
6
17
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGvD,wBAAgB,SAAS,IAAI,UAAU,CAEtC;AAED,wBAAgB,OAAO,0CAEtB;AAED,wBAAgB,OAAO,IAAI,SAAS,CAkBnC;AAED,wBAAgB,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAyBvD"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACV,SAAS,EACT,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAGxB,wBAAgB,SAAS,IAAI,UAAU,CAEtC;AAED,wBAAgB,OAAO,0CAEtB;AAED,wBAAgB,OAAO,IAAI,SAAS,CAkBnC;AAED,wBAAgB,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAqCvD;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAC1C,GAAG,EAAE,MAAM,GACV,qBAAqB,CAAC,CAAC,CAAC,CAa1B;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,OAAO,CACjD,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAC7C,GAAG,EAAE,MAAM,GACV,sBAAsB,CAAC,CAAC,CAAC,CAmB3B"}
package/dist/hooks.js CHANGED
@@ -5,6 +5,8 @@ exports.useRouter = useRouter;
5
5
  exports.useFlux = useFlux;
6
6
  exports.usePage = usePage;
7
7
  exports.useResource = useResource;
8
+ exports.useResourceState = useResourceState;
9
+ exports.useDeferredResource = useDeferredResource;
8
10
  const react_1 = require("react");
9
11
  const provider_1 = require("./provider");
10
12
  function useRouter() {
@@ -21,10 +23,38 @@ function usePage() {
21
23
  }
22
24
  function useResource(key) {
23
25
  const router = useRouter();
26
+ if (typeof process !== "undefined" &&
27
+ process.env?.NODE_ENV !== "production") {
28
+ const status = router.resourceStore.getStateSnapshot(key).status;
29
+ if (status === "pending") {
30
+ console.warn(`[fluxfast] Resource "${key}" is deferred and has not resolved yet.\n\nUse useDeferredResource("${key}") for deferred resources.`);
31
+ }
32
+ }
24
33
  const subscribe = (0, react_1.useCallback)((callback) => router.resourceStore.subscribe(key, callback), [router, key]);
25
34
  const getSnapshot = (0, react_1.useCallback)(() => router.resourceStore.getSnapshot(key), [router, key]);
26
35
  const getServerSnapshot = (0, react_1.useCallback)(() => router.resourceStore.getServerSnapshot(key), [router, key]);
27
36
  const val = (0, react_1.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
28
37
  return val;
29
38
  }
39
+ /** Subscribe to stable status, error, data, and stale metadata for one resource. */
40
+ function useResourceState(key) {
41
+ const router = useRouter();
42
+ const subscribe = (0, react_1.useCallback)((callback) => router.resourceStore.subscribe(key, callback), [router, key]);
43
+ const getSnapshot = (0, react_1.useCallback)(() => router.resourceStore.getStateSnapshot(key), [router, key]);
44
+ return (0, react_1.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
45
+ }
46
+ /** Read a deferred resource state and retry only that resource on demand. */
47
+ function useDeferredResource(key) {
48
+ const router = useRouter();
49
+ const state = useResourceState(key);
50
+ const retry = (0, react_1.useCallback)(() => router.loadResources([key], { reason: "retry" }), [router, key]);
51
+ return (0, react_1.useMemo)(() => ({
52
+ ...state,
53
+ retry,
54
+ isLoading: state.status === "loading",
55
+ isError: state.status === "error",
56
+ isReady: state.status === "ready",
57
+ isPending: state.status === "pending",
58
+ }), [state, retry]);
59
+ }
30
60
  //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;AAEb,iCAA0D;AAE1D,yCAA4C;AAE5C;IACE,OAAO,OAAO,EAAE,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED;IACE,OAAO,IAAA,yBAAc,GAAE,CAAC;AAC1B,CAAC;AAED;IACE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,CAAC,QAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC9D,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EACpC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO,IAAA,4BAAoB,EACzB,SAAS,EACT,WAAW,EACX,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,qBAAyC,GAAW;IAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,CAAC,QAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,EACvE,CAAC,MAAM,EAAE,GAAG,CAAC,CACd,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAI,GAAG,CAAC,EAC9C,CAAC,MAAM,EAAE,GAAG,CAAC,CACd,CAAC;IAEF,MAAM,iBAAiB,GAAG,IAAA,mBAAW,EACnC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAI,GAAG,CAAC,EACpD,CAAC,MAAM,EAAE,GAAG,CAAC,CACd,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAC9B,SAAS,EACT,WAAW,EACX,iBAAiB,CAClB,CAAC;IAEF,OAAO,GAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/provider.js CHANGED
@@ -14,19 +14,19 @@ function FluxProvider({ initialEnvelope, registry, router: customRouter, clientU
14
14
  return customRouter;
15
15
  }
16
16
  return new core_1.FluxRouter({
17
- initialPage: initialEnvelope?.page,
18
- initialResources: initialEnvelope?.resources,
17
+ initialEnvelope,
19
18
  transport: (0, core_1.createFetchTransport)(clientUrl),
20
19
  maxResources: cache?.maxResources,
21
20
  maxPages: cache?.maxPages,
22
21
  deferHistory: true,
23
22
  });
24
- }, [customRouter, clientUrl, cache?.maxPages, cache?.maxResources]);
23
+ }, [customRouter, initialEnvelope, clientUrl, cache?.maxPages, cache?.maxResources]);
25
24
  const value = (0, react_1.useMemo)(() => ({ router, registry: registry ?? {} }), [router, registry]);
26
25
  (0, react_1.useEffect)(() => {
27
26
  if (customRouter)
28
27
  return;
29
28
  router.startHistory();
29
+ void router.startInitialDeferred().catch(() => undefined);
30
30
  return () => router.stopHistory();
31
31
  }, [customRouter, router]);
32
32
  return ((0, jsx_runtime_1.jsx)(exports.FluxContext.Provider, { value: value, children: children }));
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;AAEb,iCAA6E;AAC7E,yCAAgF;AASnE,QAAA,WAAW,GAAG,IAAA,qBAAa,EAA0B,IAAI,CAAC,CAAC;AAWxE,sBAA6B,EAC3B,eAAe,EACf,QAAQ,EACR,MAAM,EAAE,YAAY,EACpB,SAAS,EACT,KAAK,EACL,QAAQ,GACU;IAClB,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC1B,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,iBAAU,CAAC;YACpB,WAAW,EAAE,eAAe,EAAE,IAAI;YAClC,gBAAgB,EAAE,eAAe,EAAE,SAAS;YAC5C,SAAS,EAAE,IAAA,2BAAoB,EAAC,SAAS,CAAC;YAC1C,YAAY,EAAE,KAAK,EAAE,YAAY;YACjC,QAAQ,EAAE,KAAK,EAAE,QAAQ;YACzB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAEpE,MAAM,KAAK,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,EAC5C,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,YAAY;YAAE,OAAO;QACzB,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAE3B,OAAO,CACL,uBAAC,QAAA,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC/B,QAAQ,GACY,CACxB,CAAC;AACJ,CAAC;AAED;IACE,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,QAAA,WAAW,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;AAEb,iCAA6E;AAC7E,yCAAgF;AASnE,QAAA,WAAW,GAAG,IAAA,qBAAa,EAA0B,IAAI,CAAC,CAAC;AAWxE,sBAA6B,EAC3B,eAAe,EACf,QAAQ,EACR,MAAM,EAAE,YAAY,EACpB,SAAS,EACT,KAAK,EACL,QAAQ,GACU;IAClB,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC1B,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,iBAAU,CAAC;YACpB,eAAe;YACf,SAAS,EAAE,IAAA,2BAAoB,EAAC,SAAS,CAAC;YAC1C,YAAY,EAAE,KAAK,EAAE,YAAY;YACjC,QAAQ,EAAE,KAAK,EAAE,QAAQ;YACzB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAErF,MAAM,KAAK,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,EAC5C,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,YAAY;YAAE,OAAO;QACzB,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAE3B,OAAO,CACL,uBAAC,QAAA,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC/B,QAAQ,GACY,CACxB,CAAC;AACJ,CAAC;AAED;IACE,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,QAAA,WAAW,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAEL,YAAY,EAGb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AAEjE,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,MAAM,EACN,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAC9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;CAC7D;AAsBD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAC9B,YAAY,GAAE,gBAAqB,GAClC,MAAM,CAcR;AAED,wBAAsB,oBAAoB,CAAC,EACzC,UAAU,EACV,IAAI,EACJ,OAAY,GACb,EAAE,2BAA2B,GAAG,OAAO,CAAC,YAAY,CAAC,CAyCrD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,+BAIpD,iBAAiB,qHA6BrB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAGL,YAAY,EAIb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AAEjE,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,MAAM,EACN,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAC9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;CAC7D;AAsBD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAC9B,YAAY,GAAE,gBAAqB,GAClC,MAAM,CAcR;AAED,wBAAsB,oBAAoB,CAAC,EACzC,UAAU,EACV,IAAI,EACJ,OAAY,GACb,EAAE,2BAA2B,GAAG,OAAO,CAAC,YAAY,CAAC,CA0CrD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,+BAIpD,iBAAiB,qHA6BrB"}
package/dist/server.js CHANGED
@@ -60,6 +60,7 @@ async function fetchInitialEnvelope({ backendUrl, path, headers = {}, }) {
60
60
  "X-FluxFast": "1",
61
61
  "X-FluxFast-Protocol": "1",
62
62
  "X-FluxFast-Visit": `ssr_${Date.now().toString(36)}`,
63
+ [core_1.HEADER_CAPABILITIES]: (0, core_1.serializeCapabilities)(),
63
64
  },
64
65
  cache: "no-store",
65
66
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluxfast/next",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "license": "MIT",
5
5
  "description": "Next.js App Router adapter for FluxFast",
6
6
  "repository": {
@@ -67,7 +67,7 @@
67
67
  "test": "vitest run"
68
68
  },
69
69
  "dependencies": {
70
- "@fluxfast/core": "^0.1.0"
70
+ "@fluxfast/core": "^0.3.0"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "next": ">=16.3.0 <17.0.0",