fontdue-js 3.0.0-alpha1 → 3.0.0-alpha3

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 (58) hide show
  1. package/dist/__generated__/FontdueProviderQuery.graphql.d.ts +19 -0
  2. package/dist/__generated__/FontdueProviderQuery.graphql.js +140 -0
  3. package/dist/__generated__/ServerConfigProvider_viewer.graphql.d.ts +23 -0
  4. package/dist/__generated__/ServerConfigProvider_viewer.graphql.js +57 -0
  5. package/dist/__generated__/TestModeBanner_viewer.graphql.d.ts +19 -0
  6. package/dist/__generated__/TestModeBanner_viewer.graphql.js +36 -0
  7. package/dist/__generated__/ThemeConfig_viewer.graphql.d.ts +19 -0
  8. package/dist/__generated__/ThemeConfig_viewer.graphql.js +36 -0
  9. package/dist/components/BuyButton/index.d.ts +24 -4
  10. package/dist/components/BuyButton/index.js +58 -15
  11. package/dist/components/BuyButton/index.server.d.ts +4 -1
  12. package/dist/components/BuyButton/index.server.js +5 -0
  13. package/dist/components/CartButton/index.d.ts +9 -6
  14. package/dist/components/CartButton/index.js +19 -16
  15. package/dist/components/CartButton/index.server.js +5 -0
  16. package/dist/components/CharacterViewer/index.d.ts +26 -6
  17. package/dist/components/CharacterViewer/index.js +63 -13
  18. package/dist/components/CharacterViewer/index.server.d.ts +4 -1
  19. package/dist/components/CharacterViewer/index.server.js +6 -0
  20. package/dist/components/FontdueContextProvider/index.d.ts +17 -0
  21. package/dist/components/FontdueContextProvider/index.js +108 -0
  22. package/dist/components/FontdueContextProvider/index.server.d.ts +4 -0
  23. package/dist/components/FontdueContextProvider/index.server.js +7 -0
  24. package/dist/components/FontdueProvider/index.d.ts +9 -3
  25. package/dist/components/FontdueProvider/index.js +61 -23
  26. package/dist/components/FontdueProvider/index.server.d.ts +3 -3
  27. package/dist/components/FontdueProvider/index.server.js +14 -24
  28. package/dist/components/NewsletterSignup/index.d.ts +9 -6
  29. package/dist/components/NewsletterSignup/index.js +16 -1
  30. package/dist/components/NewsletterSignup/index.server.js +5 -0
  31. package/dist/components/ServerConfigProvider/index.d.ts +3 -1
  32. package/dist/components/ServerConfigProvider/index.js +7 -6
  33. package/dist/components/StoreModal/index.js +9 -2
  34. package/dist/components/TestFontsForm/index.d.ts +8 -3
  35. package/dist/components/TestFontsForm/index.js +16 -1
  36. package/dist/components/TestFontsForm/index.server.js +5 -0
  37. package/dist/components/TestModeBanner/index.d.ts +4 -1
  38. package/dist/components/TestModeBanner/index.js +9 -17
  39. package/dist/components/ThemeConfig/index.d.ts +3 -5
  40. package/dist/components/ThemeConfig/index.js +10 -28
  41. package/dist/components/TypeTester/TypeTesterStandalone.d.ts +19 -5
  42. package/dist/components/TypeTester/TypeTesterStandalone.js +21 -2
  43. package/dist/components/TypeTester/TypeTesterStandalone.preload.js +7 -6
  44. package/dist/components/TypeTester/TypeTesterStandalone.server.d.ts +4 -2
  45. package/dist/components/TypeTester/TypeTesterStandalone.server.js +11 -4
  46. package/dist/components/TypeTesters/index.d.ts +18 -2
  47. package/dist/components/TypeTesters/index.js +58 -8
  48. package/dist/components/TypeTesters/index.server.js +5 -0
  49. package/dist/config.d.ts +2 -1
  50. package/dist/config.js +17 -6
  51. package/dist/index.d.ts +2 -2
  52. package/dist/index.js +1 -1
  53. package/dist/loadFontdueProviderQuery.d.ts +4 -0
  54. package/dist/loadFontdueProviderQuery.js +10 -0
  55. package/dist/relay/environment.js +4 -5
  56. package/dist/vite.d.ts +2 -1
  57. package/dist/vite.js +37 -12
  58. package/package.json +3 -2
package/dist/vite.js CHANGED
@@ -21,9 +21,8 @@
21
21
  // Returned shape is structurally a Vite Plugin (or array of plugins).
22
22
  //
23
23
  // @ts-ignore — vite-plugin-cjs-interop has no bundled types but exports
24
- // cjsInterop at runtime; we don't take a build-time `vite` dep on the user.
24
+ // cjsInterop at runtime.
25
25
  import { cjsInterop } from 'vite-plugin-cjs-interop';
26
-
27
26
  // Packages whose imports cjsInterop should rewrite to default-import +
28
27
  // destructure shape. Limit this to packages that genuinely ship as CJS-only
29
28
  // with `module.exports = require('./lib')` shapes that defeat named-import
@@ -36,7 +35,16 @@ const CJS_DEPS = ['react-relay', 'relay-runtime', 'draft-js', 'fbjs'];
36
35
  // the cjs-module-lexer trap when an ESM package (react-redux) imports a CJS
37
36
  // transitive (use-sync-external-store). Without this, the browser dev path
38
37
  // fails with "does not provide an export named useSyncExternalStoreWithSelector".
39
- const CLIENT_OPTIMIZE = [...CJS_DEPS, 'react-redux'];
38
+ //
39
+ // `react-google-recaptcha` and `@stripe/react-stripe-js` are pulled into the
40
+ // StoreModal subtree (checkout flow). Both transitively import `prop-types`,
41
+ // whose `module.exports = require('./factoryWithTypeCheckers')(...)` shape
42
+ // hides exports behind a runtime call — cjs-module-lexer can't see them, so
43
+ // the optimizer's auto-generated wrapper omits a `default` export. Including
44
+ // the consumers + setting `needsInterop` on `prop-types` forces Vite to
45
+ // synthesize a default export so `import PropTypes from 'prop-types'` resolves.
46
+ const CLIENT_OPTIMIZE = [...CJS_DEPS, 'react-redux', 'react-google-recaptcha', '@stripe/react-stripe-js', 'prop-types'];
47
+ const NEEDS_INTEROP = ['prop-types'];
40
48
  export default function fontdueJs() {
41
49
  return [cjsInterop({
42
50
  dependencies: CJS_DEPS
@@ -50,7 +58,8 @@ export default function fontdueJs() {
50
58
  // its `module.exports = require('./lib/index.js')` shape can't
51
59
  // be statically analyzed for named exports.
52
60
  optimizeDeps: {
53
- include: [...CLIENT_OPTIMIZE]
61
+ include: [...CLIENT_OPTIMIZE],
62
+ needsInterop: [...NEEDS_INTEROP]
54
63
  },
55
64
  // fbjs (transitive via draft-js) references Node's `global` at
56
65
  // module init. Browsers don't define it, so the pre-bundled chunk
@@ -59,16 +68,32 @@ export default function fontdueJs() {
59
68
  // and SSR paths.
60
69
  define: {
61
70
  global: 'globalThis'
62
- },
63
- ssr: {
64
- // Run fontdue-js source through Vite's transform pipeline so
65
- // cjsInterop sees its imports of CJS-shaped Relay/draft-js/fbjs
66
- // and rewrites them. Otherwise Node externalizes fontdue-js and
67
- // its `import { graphql } from 'react-relay'` fails — cjs-module-
68
- // lexer can't extract names from `module.exports = require('./lib')`.
69
- noExternal: ['fontdue-js']
70
71
  }
71
72
  };
73
+ },
74
+ // Apply `noExternal` to every server-side Vite environment so
75
+ // fontdue-js source flows through Vite's transform pipeline and
76
+ // cjsInterop can rewrite its imports of CJS-shaped Relay/draft-js/
77
+ // fbjs. The legacy `ssr.noExternal` only covered the default `ssr`
78
+ // environment, so Astro 6's separate `prerender` build externalized
79
+ // fontdue-js and `import { graphql } from 'react-relay'` ran against
80
+ // unrewritten CJS at prerender time.
81
+ //
82
+ // `config.consumer` would be the principled check, but at
83
+ // `configEnvironment` time Vite hasn't populated it yet (undefined
84
+ // for ssr/prerender/client alike). Match by name instead:
85
+ // - 'ssr': default Vite SSR env (plain Vite SSR, RR7)
86
+ // - 'prerender': Astro 6's static-prerender env
87
+ // The `consumer` fallback is kept as future-proofing if a framework
88
+ // ever names its server env something else but does populate consumer.
89
+ configEnvironment(name, config) {
90
+ if (name === 'ssr' || name === 'prerender' || config.consumer === 'server') {
91
+ return {
92
+ resolve: {
93
+ noExternal: ['fontdue-js']
94
+ }
95
+ };
96
+ }
72
97
  }
73
98
  }];
74
99
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fontdue-js",
3
- "version": "3.0.0-alpha1",
3
+ "version": "3.0.0-alpha3",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "npm run relay && run-p build-js build-css build-ts",
@@ -63,6 +63,7 @@
63
63
  "relay-compiler": "^18.0.0",
64
64
  "sass": "^1.62",
65
65
  "typescript": "^5.9",
66
+ "vite": "^8.0.10",
66
67
  "vitest": "^4.1.1"
67
68
  },
68
69
  "relay": {
@@ -99,6 +100,7 @@
99
100
  "react-server": "./dist/components/FontdueProvider/index.server.js",
100
101
  "default": "./dist/components/FontdueProvider/index.js"
101
102
  },
103
+ "./loadFontdueProviderQuery": "./dist/loadFontdueProviderQuery.js",
102
104
  "./NewsletterSignup": {
103
105
  "react-server": "./dist/components/NewsletterSignup/index.server.js",
104
106
  "default": "./dist/components/NewsletterSignup/index.js"
@@ -112,7 +114,6 @@
112
114
  "react-server": "./dist/components/TypeTester/TypeTesterStandalone.server.js",
113
115
  "default": "./dist/components/TypeTester/TypeTesterStandalone.js"
114
116
  },
115
- "./TypeTester/preload": "./dist/components/TypeTester/TypeTesterStandalone.preload.js",
116
117
  "./vite": "./dist/vite.js",
117
118
  "./TypeTesters": {
118
119
  "react-server": "./dist/components/TypeTesters/index.server.js",