diff --git a/.gitignore b/.gitignore index 39939b782..00839d997 100644 --- a/.gitignore +++ b/.gitignore @@ -24,8 +24,11 @@ lib/ .vercel src/**/*.mjs +src/**/*.jsx scripts/gendocs.mjs scripts/generate_*.mjs +scripts/gendocs.jsx +scripts/generate_*.jsx # Generated via generate-llms script public/llms/manual/**/llm*.txt @@ -42,7 +45,9 @@ build mdx-manifest.json app/**/*.mjs +app/**/*.jsx !_shims.mjs +!_shims.jsx # Yarn .yarn/* @@ -51,3 +56,6 @@ app/**/*.mjs !.yarn/releases !.yarn/sdks !.yarn/versions + +# Scripts generated from rolldown to convert them from .jsx files to .mjs files +_scripts \ No newline at end of file diff --git a/app/routes.res b/app/routes.res index 90f3e8210..fd039b386 100644 --- a/app/routes.res +++ b/app/routes.res @@ -23,25 +23,25 @@ let beltPaths = { } let stdlibRoutes = - stdlibPaths->Array.map(path => route(path, "./routes/ApiRoute.mjs", ~options={id: path})) + stdlibPaths->Array.map(path => route(path, "./routes/ApiRoute.jsx", ~options={id: path})) let beltRoutes = - beltPaths->Array.map(path => route(path, "./routes/ApiRoute.mjs", ~options={id: path})) + beltPaths->Array.map(path => route(path, "./routes/ApiRoute.jsx", ~options={id: path})) let default = [ - index("./routes/LandingPageRoute.mjs"), - route("packages", "./routes/PackagesRoute.mjs"), - route("try", "./routes/TryRoute.mjs"), - route("syntax-lookup", "./routes/SyntaxLookupRoute.mjs", ~options={id: "syntax-lookup"}), - route("blog", "./routes/BlogRoute.mjs", ~options={id: "blog-index"}), - route("blog/archived", "./routes/BlogRoute.mjs", ~options={id: "blog-archived"}), - route("docs", "./routes/DocsOverview.mjs", ~options={id: "docs-overview"}), - route("docs/manual/api/stdlib", "./routes/ApiRoute.mjs", ~options={id: "api-stdlib"}), - route("docs/manual/api/introduction", "./routes/ApiRoute.mjs", ~options={id: "api-intro"}), - route("docs/manual/api/belt", "./routes/ApiRoute.mjs", ~options={id: "api-belt"}), - route("docs/manual/api/dom", "./routes/ApiRoute.mjs", ~options={id: "api-dom"}), + index("./routes/LandingPageRoute.jsx"), + route("packages", "./routes/PackagesRoute.jsx"), + route("try", "./routes/TryRoute.jsx"), + route("syntax-lookup", "./routes/SyntaxLookupRoute.jsx", ~options={id: "syntax-lookup"}), + route("blog", "./routes/BlogRoute.jsx", ~options={id: "blog-index"}), + route("blog/archived", "./routes/BlogRoute.jsx", ~options={id: "blog-archived"}), + route("docs", "./routes/DocsOverview.jsx", ~options={id: "docs-overview"}), + route("docs/manual/api/stdlib", "./routes/ApiRoute.jsx", ~options={id: "api-stdlib"}), + route("docs/manual/api/introduction", "./routes/ApiRoute.jsx", ~options={id: "api-intro"}), + route("docs/manual/api/belt", "./routes/ApiRoute.jsx", ~options={id: "api-belt"}), + route("docs/manual/api/dom", "./routes/ApiRoute.jsx", ~options={id: "api-dom"}), ...stdlibRoutes, ...beltRoutes, - ...mdxRoutes("./routes/MdxRoute.mjs"), - route("*", "./routes/NotFoundRoute.mjs"), + ...mdxRoutes("./routes/MdxRoute.jsx"), + route("*", "./routes/NotFoundRoute.jsx"), ] diff --git a/package.json b/package.json index 27f448064..eb74f1281 100644 --- a/package.json +++ b/package.json @@ -14,16 +14,17 @@ "res:watch": "rescript watch", "res:clean": "rescript clean", "res:build": "rescript build", - "build": "rescript build && yarn update-index && react-router build", + "build": "rescript build && yarn build-scripts && yarn update-index && react-router build", "test": "node scripts/test-examples.mjs && node scripts/test-hrefs.mjs", + "update-index": "yarn generate-llms && node _scripts/generate_feed.mjs > public/blog/feed.xml", "reanalyze": "rescript-tools reanalyze -all-cmt .", - "update-index": "yarn generate-llms && node scripts/generate_feed.mjs > public/blog/feed.xml", "sync-bundles": "node scripts/sync-playground-bundles.mjs", - "generate-llms": "node scripts/generate_llms.mjs", + "generate-llms": "node _scripts/generate_llms.mjs", "format": "prettier . --write --experimental-cli && rescript format", "ci:format": "prettier . --check --experimental-cli", "preview": "yarn build && static-server build/client", - "convert-images": "auto-convert-images" + "convert-images": "auto-convert-images", + "build-scripts": "yarn dlx tsdown scripts/*.jsx -d _scripts --no-clean --ext .mjs" }, "dependencies": { "@babel/generator": "^7.24.7", @@ -94,4 +95,4 @@ "vite-plugin-env-compatible": "^2.0.1", "vite-plugin-page-reload": "^0.2.2" } -} +} \ No newline at end of file diff --git a/react-router.config.mjs b/react-router.config.mjs index 57a106ca7..ddb22da04 100644 --- a/react-router.config.mjs +++ b/react-router.config.mjs @@ -11,7 +11,7 @@ const mdx = init({ aliases: ["blog", "docs", "community", "syntax-lookup"], }); -const { stdlibPaths } = await import("./app/routes.mjs"); +const { stdlibPaths } = await import("./app/routes.jsx"); export default { ssr: false, diff --git a/rescript.json b/rescript.json index 22d606f01..ccf035499 100644 --- a/rescript.json +++ b/rescript.json @@ -2,6 +2,7 @@ "name": "rescript-lang.org", "namespace": false, "jsx": { + "preserve": true, "version": 4 }, "dependencies": ["@rescript/react", "@rescript/webapi"], @@ -27,7 +28,7 @@ "warnings": { "error": "+8" }, - "suffix": ".mjs", + "suffix": ".jsx", "gentypeconfig": { "language": "untyped", "shims": [],