@sandboxsonny/ace-kit 0.4.0 → 0.6.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 (73) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +1 -1
  3. package/dist/astro-integration.d.ts +3 -3
  4. package/dist/astro-integration.js +7 -4
  5. package/dist/chunk-7M26C36M.js +35 -0
  6. package/dist/{chunk-O3NAJNUN.js → chunk-G5FGBOFT.js} +7 -7
  7. package/dist/chunk-N5DIMG3X.js +16 -0
  8. package/dist/cli.js +14 -1169
  9. package/dist/environment-T5K5ZJ2M.js +222 -0
  10. package/dist/main-YRQQWLHX.js +1454 -0
  11. package/dist/react-router-server.js +3 -2
  12. package/dist/vite.js +2 -1
  13. package/docs/astro.md +12 -6
  14. package/docs/command-line.md +34 -5
  15. package/docs/dev-sites.md +2 -2
  16. package/docs/getting-started.md +8 -0
  17. package/docs/react-router.md +7 -5
  18. package/docs/sections.md +1 -1
  19. package/docs/typed-content.md +3 -3
  20. package/package.json +5 -2
  21. package/templates/astro/.dockerignore +7 -0
  22. package/templates/astro/.github/dependabot.yml +19 -0
  23. package/templates/astro/.github/workflows/ci.yml +23 -0
  24. package/templates/astro/.prettierignore +6 -0
  25. package/templates/astro/.prettierrc.json +20 -0
  26. package/templates/astro/.vscode/extensions.json +4 -0
  27. package/templates/astro/.vscode/launch.json +11 -0
  28. package/templates/astro/AGENTS.md +22 -0
  29. package/templates/astro/Dockerfile +17 -0
  30. package/templates/astro/_gitignore +26 -0
  31. package/templates/astro/astro.config.mjs +18 -0
  32. package/templates/astro/eslint.config.js +56 -0
  33. package/templates/astro/package.json +41 -0
  34. package/templates/astro/public/favicon.ico +0 -0
  35. package/templates/astro/public/favicon.svg +9 -0
  36. package/templates/astro/src/ace-kit.generated.d.ts +24 -0
  37. package/templates/astro/src/components/PageContent.astro +113 -0
  38. package/templates/astro/src/components/SiteFooter.astro +19 -0
  39. package/templates/astro/src/components/SiteHeader.astro +121 -0
  40. package/templates/astro/src/components/sections/Faq.astro +54 -0
  41. package/templates/astro/src/components/sections/Faq.schema.ts +17 -0
  42. package/templates/astro/src/components/sections/Gallery.astro +74 -0
  43. package/templates/astro/src/components/sections/Gallery.schema.ts +20 -0
  44. package/templates/astro/src/components/sections/Hero.astro +58 -0
  45. package/templates/astro/src/components/sections/Hero.schema.ts +14 -0
  46. package/templates/astro/src/layouts/BaseLayout.astro +36 -0
  47. package/templates/astro/src/pages/[...slug].astro +31 -0
  48. package/templates/astro/src/styles/global.css +56 -0
  49. package/templates/astro/src/types/page.d.ts +4 -0
  50. package/templates/astro/tsconfig.json +11 -0
  51. package/templates/astro/vitest.config.ts +4 -0
  52. package/templates/astro.section-types.json +109 -0
  53. package/templates/react-router/.prettierignore +5 -0
  54. package/templates/react-router/.prettierrc.json +11 -0
  55. package/templates/react-router/_gitignore +7 -0
  56. package/templates/react-router/app/ace-kit.generated.d.ts +18 -0
  57. package/templates/react-router/app/app.css +172 -0
  58. package/templates/react-router/app/components/page-content.tsx +32 -0
  59. package/templates/react-router/app/components/site-footer.tsx +9 -0
  60. package/templates/react-router/app/components/site-header.tsx +49 -0
  61. package/templates/react-router/app/entry.server.tsx +1 -0
  62. package/templates/react-router/app/root.tsx +75 -0
  63. package/templates/react-router/app/routes/page.test.tsx +64 -0
  64. package/templates/react-router/app/routes/page.tsx +22 -0
  65. package/templates/react-router/app/routes.ts +4 -0
  66. package/templates/react-router/app/types/page.d.ts +4 -0
  67. package/templates/react-router/eslint.config.js +76 -0
  68. package/templates/react-router/package.json +51 -0
  69. package/templates/react-router/public/favicon.svg +9 -0
  70. package/templates/react-router/react-router.config.ts +6 -0
  71. package/templates/react-router/tsconfig.json +22 -0
  72. package/templates/react-router/vite.config.ts +10 -0
  73. package/templates/react-router/vitest.config.ts +15 -0
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "example-react-router-site",
3
+ "private": true,
4
+ "type": "module",
5
+ "engines": {
6
+ "node": ">=22.12.0"
7
+ },
8
+ "scripts": {
9
+ "dev": "react-router dev --port 4322",
10
+ "build": "react-router build",
11
+ "start": "react-router-serve ./build/server/index.js",
12
+ "generate": "ace-kit generate --out app/ace-kit.generated.d.ts",
13
+ "lint": "eslint .",
14
+ "lint:fix": "eslint . --fix",
15
+ "format": "prettier --write .",
16
+ "format:check": "prettier --check .",
17
+ "typecheck": "react-router typegen && tsc",
18
+ "test": "vitest run",
19
+ "check": "npm run format:check && npm run lint && npm run typecheck && npm test && npm run build"
20
+ },
21
+ "dependencies": {
22
+ "@sandboxsonny/ace-kit": "file:../ace-kit",
23
+ "@react-router/node": "^7.18.4",
24
+ "@react-router/serve": "^7.18.4",
25
+ "isbot": "^5.2.2",
26
+ "react": "^19.3.0",
27
+ "react-dom": "^19.3.0",
28
+ "react-router": "^7.18.4"
29
+ },
30
+ "devDependencies": {
31
+ "@eslint/js": "^9.39.5",
32
+ "@react-router/dev": "^7.18.4",
33
+ "@testing-library/dom": "^10.4.2",
34
+ "@testing-library/react": "^16.3.3",
35
+ "@types/node": "^22.20.5",
36
+ "@types/react": "^19.3.0",
37
+ "@types/react-dom": "^19.3.0",
38
+ "eslint": "^9.39.5",
39
+ "eslint-config-prettier": "^10.1.8",
40
+ "eslint-plugin-jsx-a11y": "^6.10.2",
41
+ "eslint-plugin-react": "^7.37.5",
42
+ "eslint-plugin-react-hooks": "^7.1.1",
43
+ "globals": "^17.13.0",
44
+ "jsdom": "^29.1.1",
45
+ "prettier": "^3.9.10",
46
+ "typescript": "^5.9.3",
47
+ "typescript-eslint": "^8.71.1",
48
+ "vite": "^8.3.4",
49
+ "vitest": "^5.0.4"
50
+ }
51
+ }
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
2
+ <path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
3
+ <style>
4
+ path { fill: #000; }
5
+ @media (prefers-color-scheme: dark) {
6
+ path { fill: #FFF; }
7
+ }
8
+ </style>
9
+ </svg>
@@ -0,0 +1,6 @@
1
+ import type { Config } from "@react-router/dev/config";
2
+
3
+ export default {
4
+ // Pages are rendered on the server for every request, so they always show the CMS's live content.
5
+ ssr: true,
6
+ } satisfies Config;
@@ -0,0 +1,22 @@
1
+ {
2
+ "include": ["**/*", "**/.server/**/*", "**/.client/**/*", ".react-router/types/**/*"],
3
+ "exclude": ["build", "node_modules"],
4
+ "compilerOptions": {
5
+ "lib": ["DOM", "DOM.Iterable", "ES2022"],
6
+ "types": ["node", "vite/client"],
7
+ "target": "ES2022",
8
+ "module": "ES2022",
9
+ "moduleResolution": "bundler",
10
+ "jsx": "react-jsx",
11
+ "rootDirs": [".", "./.react-router/types"],
12
+ "paths": {
13
+ "~/*": ["./app/*"]
14
+ },
15
+ "esModuleInterop": true,
16
+ "verbatimModuleSyntax": true,
17
+ "noEmit": true,
18
+ "resolveJsonModule": true,
19
+ "skipLibCheck": true,
20
+ "strict": true
21
+ }
22
+ }
@@ -0,0 +1,10 @@
1
+ import ace from "@sandboxsonny/ace-kit/vite";
2
+ import { reactRouter } from "@react-router/dev/vite";
3
+ import { defineConfig } from "vite";
4
+
5
+ export default defineConfig({
6
+ plugins: [ace(), reactRouter()],
7
+ resolve: {
8
+ tsconfigPaths: true,
9
+ },
10
+ });
@@ -0,0 +1,15 @@
1
+ import ace from "@sandboxsonny/ace-kit/vite";
2
+ import { defineConfig } from "vitest/config";
3
+
4
+ // The React Router Vite plugin is left out on purpose: tests render route modules directly. Ace Kit's plugin makes the
5
+ // tests and the kit share one copy of React Router, which route modules that use the kit's components need.
6
+ export default defineConfig({
7
+ plugins: [ace()],
8
+ resolve: {
9
+ tsconfigPaths: true,
10
+ },
11
+ test: {
12
+ environment: "jsdom",
13
+ include: ["app/**/*.test.{ts,tsx}"],
14
+ },
15
+ });