@grove-dev/astro 0.6.1 → 0.8.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 (111) hide show
  1. package/README.md +77 -5
  2. package/dist/index.d.ts +3 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +22 -33
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/display.d.ts +1 -1
  7. package/dist/lib/display.js +1 -1
  8. package/dist/lib/format.d.ts +1 -1
  9. package/dist/lib/format.js +1 -1
  10. package/dist/lib/icon-kinds.d.ts +1 -1
  11. package/dist/lib/icon-kinds.js +43 -43
  12. package/dist/lib/icon-registry.d.ts +2 -2
  13. package/dist/lib/icon-registry.js +23 -23
  14. package/dist/lib/index.d.ts +9 -9
  15. package/dist/lib/index.d.ts.map +1 -1
  16. package/dist/lib/index.js +9 -9
  17. package/dist/lib/index.js.map +1 -1
  18. package/dist/lib/lenses.d.ts +1 -1
  19. package/dist/lib/lenses.js +1 -1
  20. package/dist/lib/packaged-icons.d.ts +1 -1
  21. package/dist/lib/packaged-icons.js +4 -4
  22. package/dist/lib/repo.d.ts +1 -1
  23. package/dist/lib/repo.js +1 -1
  24. package/dist/lib/search.d.ts +1 -1
  25. package/dist/lib/search.js +1 -1
  26. package/dist/lib/taxonomy-counts.d.ts +1 -1
  27. package/dist/lib/taxonomy-counts.js +1 -1
  28. package/package.json +7 -17
  29. package/src/index.ts +23 -38
  30. package/src/lib/display.ts +1 -1
  31. package/src/lib/format.ts +1 -1
  32. package/src/lib/icon-kinds.ts +44 -44
  33. package/src/lib/icon-registry.ts +25 -25
  34. package/src/lib/index.ts +9 -9
  35. package/src/lib/lenses.ts +1 -1
  36. package/src/lib/packaged-icons.ts +8 -8
  37. package/src/lib/repo.ts +1 -1
  38. package/src/lib/search.ts +1 -1
  39. package/src/lib/taxonomy-counts.ts +1 -1
  40. package/src/server/collections.ts +53 -42
  41. package/src/server/contrast.ts +14 -9
  42. package/src/server/directory.ts +22 -17
  43. package/src/server/index.ts +3 -2
  44. package/src/server/models.ts +404 -213
  45. package/src/server/seo.ts +34 -31
  46. package/src/styles.css +235 -91
  47. package/dist/layouts/index.d.ts +0 -25
  48. package/dist/layouts/index.d.ts.map +0 -1
  49. package/dist/layouts/index.js +0 -25
  50. package/dist/layouts/index.js.map +0 -1
  51. package/dist/ui/button.d.ts +0 -53
  52. package/dist/ui/button.d.ts.map +0 -1
  53. package/dist/ui/button.js +0 -90
  54. package/dist/ui/button.js.map +0 -1
  55. package/src/components/CardGrid.astro +0 -41
  56. package/src/components/CardIcon.astro +0 -67
  57. package/src/components/CategoryGrid.astro +0 -114
  58. package/src/components/CollectionCard.astro +0 -56
  59. package/src/components/CollectionIndex.astro +0 -102
  60. package/src/components/CollectionPage.astro +0 -128
  61. package/src/components/CollectionRow.astro +0 -81
  62. package/src/components/CollectionTeaser.astro +0 -47
  63. package/src/components/ContributorsGrid.astro +0 -143
  64. package/src/components/DirectoryIndexClient.astro +0 -510
  65. package/src/components/EditorialSummary.astro +0 -58
  66. package/src/components/FilterGroupMenu.astro +0 -69
  67. package/src/components/FilterOptions.astro +0 -49
  68. package/src/components/FinalCta.astro +0 -43
  69. package/src/components/Hero.astro +0 -243
  70. package/src/components/Icon.astro +0 -191
  71. package/src/components/IndexRow.astro +0 -37
  72. package/src/components/LanguageBreakdown.astro +0 -67
  73. package/src/components/MarkdownBody.astro +0 -37
  74. package/src/components/OriginalCollection.astro +0 -117
  75. package/src/components/Pagination.astro +0 -50
  76. package/src/components/PoweredBy.astro +0 -60
  77. package/src/components/ProjectCard.astro +0 -321
  78. package/src/components/RecordHeader.astro +0 -221
  79. package/src/components/RecordSection.astro +0 -128
  80. package/src/components/RecordSidebar.astro +0 -387
  81. package/src/components/RefinePanel.astro +0 -168
  82. package/src/components/SmartLensTabs.astro +0 -81
  83. package/src/components/StackGrid.astro +0 -151
  84. package/src/components/StackPlatformChips.astro +0 -73
  85. package/src/components/SubmissionClient.astro +0 -254
  86. package/src/components/TableOfContents.astro +0 -140
  87. package/src/components/WhyThisExists.astro +0 -116
  88. package/src/layouts/BaseLayout.astro +0 -415
  89. package/src/layouts/Container.astro +0 -18
  90. package/src/layouts/Footer.astro +0 -231
  91. package/src/layouts/Header.astro +0 -214
  92. package/src/layouts/SectionHeader.astro +0 -43
  93. package/src/layouts/Seo.astro +0 -171
  94. package/src/layouts/ThemeToggle.astro +0 -118
  95. package/src/layouts/astro-shim.d.ts +0 -29
  96. package/src/layouts/index.ts +0 -24
  97. package/src/server/collections.test.ts +0 -212
  98. package/src/server/contrast.test.ts +0 -82
  99. package/src/server/directory.test.ts +0 -177
  100. package/src/server/github-repo.test.ts +0 -88
  101. package/src/server/models-home.test.ts +0 -101
  102. package/src/server/models.test.ts +0 -135
  103. package/src/server/seo.test.ts +0 -123
  104. package/src/ui/Badge.astro +0 -38
  105. package/src/ui/Button.astro +0 -42
  106. package/src/ui/EmptyState.astro +0 -38
  107. package/src/ui/FilterDrawer.astro +0 -124
  108. package/src/ui/PageHeader.astro +0 -39
  109. package/src/ui/SearchField.astro +0 -106
  110. package/src/ui/button.test.ts +0 -54
  111. package/src/ui/button.ts +0 -107
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@grove-dev/astro",
3
- "version": "0.6.1",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
- "description": "Composable Astro UI, data adapters, and integration for Grove directories.",
5
+ "description": "Astro integration + server view-models for Grove directories. UI ships from @grove-dev/registry, not from this package.",
6
6
  "license": "MIT",
7
7
  "engines": {
8
8
  "node": ">=22.12.0"
@@ -10,9 +10,7 @@
10
10
  "keywords": [
11
11
  "grove",
12
12
  "astro",
13
- "ui",
14
13
  "directory",
15
- "components",
16
14
  "static-site"
17
15
  ],
18
16
  "homepage": "https://github.com/tortuvshin/grove#readme",
@@ -31,14 +29,12 @@
31
29
  "files": [
32
30
  "assets",
33
31
  "dist",
34
- "src/components",
35
- "src/layouts",
36
32
  "src/lib",
37
- "src/server",
38
- "src/ui",
39
33
  "src/index.ts",
40
34
  "src/styles.css",
41
- "README.md"
35
+ "README.md",
36
+ "src/server/**/*.ts",
37
+ "!src/server/**/*.test.ts"
42
38
  ],
43
39
  "exports": {
44
40
  ".": {
@@ -46,14 +42,8 @@
46
42
  "import": "./dist/index.js"
47
43
  },
48
44
  "./styles.css": "./src/styles.css",
49
- "./components/*.astro": "./src/components/*.astro",
50
- "./components/*": "./src/components/*.astro",
51
45
  "./server": "./src/server/index.ts",
52
- "./server/*": "./dist/server/*.js",
53
- "./ui/*.astro": "./src/ui/*.astro",
54
- "./ui/*": "./src/ui/*.ts",
55
- "./layouts/*.astro": "./src/layouts/*.astro",
56
- "./layouts/*": "./src/layouts/*.astro"
46
+ "./package.json": "./package.json"
57
47
  },
58
48
  "dependencies": {
59
49
  "astro": "^7.1.3",
@@ -61,7 +51,7 @@
61
51
  "sanitize-html": "^2.17.5",
62
52
  "shiki": "^1.29.2",
63
53
  "yaml": "^2.9.0",
64
- "@grove-dev/core": "0.6.1"
54
+ "@grove-dev/core": "0.8.0"
65
55
  },
66
56
  "peerDependencies": {
67
57
  "astro": "^6.0.0 || ^7.0.0"
package/src/index.ts CHANGED
@@ -24,49 +24,41 @@
24
24
  * which is the classic "I changed the brand color in global.css
25
25
  * and nothing happened" surprise.
26
26
  */
27
- import { existsSync } from "node:fs";
28
- import { fileURLToPath } from "node:url";
29
- import { dirname, resolve } from "node:path";
30
- import type { AstroIntegration } from "astro";
31
- import { loadConfig, prepareDirectory } from "@grove-dev/core";
32
- import { syncPackagedIcons } from "./lib/packaged-icons.js";
27
+ import { existsSync } from 'node:fs';
28
+ import { dirname, resolve } from 'node:path';
29
+ import { fileURLToPath } from 'node:url';
30
+ import { loadConfig, prepareDirectory } from '@grove-dev/core';
31
+ import type { AstroIntegration } from 'astro';
32
+ import { syncPackagedIcons } from './lib/packaged-icons.js';
33
33
 
34
- export * from "@grove-dev/core";
34
+ export * from '@grove-dev/core';
35
35
 
36
36
  // Generic lib helpers — repo URL parsing, formatting, search /
37
37
  // facet / sort / paginate, lens application, score tiers, taxonomy
38
38
  // counts, and pretty-print display maps. All dependency-free and
39
39
  // typed against `@grove-dev/core`.
40
- export * from "./lib/index.js";
40
+ export * from './lib/index.js';
41
41
 
42
42
  const here = dirname(fileURLToPath(import.meta.url));
43
- // `here` is the compiled `dist/` directory. The components and
44
- // layouts live in the source tree (the `dist/` is for the
45
- // integration helper only). Walk up one level to reach `src/`
46
- // before resolving the subpath roots.
47
- const srcRoot = resolve(here, "..", "src");
48
- const componentsDir = resolve(srcRoot, "components");
49
- const layoutsDir = resolve(srcRoot, "layouts");
50
43
 
51
44
  // Virtual module id used to inject the consumer's `src/styles/global.css`.
52
45
  // Resolved by the inline Vite plugin below to the absolute file path
53
46
  // when the file exists, or to an empty module when it doesn't.
54
- const CONSUMER_GLOBAL_CSS_VIRTUAL_ID = "virtual:grove-consumer-global-css";
55
- const CONSUMER_GLOBAL_CSS_EMPTY_ID =
56
- "\0virtual:grove-consumer-global-css:empty";
47
+ const CONSUMER_GLOBAL_CSS_VIRTUAL_ID = 'virtual:grove-consumer-global-css';
48
+ const CONSUMER_GLOBAL_CSS_EMPTY_ID = '\0virtual:grove-consumer-global-css:empty';
57
49
 
58
50
  export default function groveAstro(): AstroIntegration {
59
51
  return {
60
- name: "@grove-dev/astro",
52
+ name: '@grove-dev/astro',
61
53
  hooks: {
62
- "astro:config:setup": async ({ config, updateConfig, injectScript, logger }) => {
54
+ 'astro:config:setup': async ({ config, updateConfig, injectScript, logger }) => {
63
55
  // Alias the components/layouts source directories so
64
56
  // consumer builds can import from
65
57
  // @grove-dev/astro/components/ProjectCard.astro
66
58
  // without us shipping a glob-shaped `exports` map that
67
59
  // Vite/Rollup does not expand reliably.
68
60
  const consumerRoot = fileURLToPath(config.root);
69
- const groveConfigPath = resolve(consumerRoot, "grove.config.ts");
61
+ const groveConfigPath = resolve(consumerRoot, 'grove.config.ts');
70
62
  if (existsSync(groveConfigPath)) {
71
63
  await prepareDirectory(consumerRoot);
72
64
  // Data preparation and the icon sync below are the integration's
@@ -87,26 +79,24 @@ export default function groveAstro(): AstroIntegration {
87
79
  // control is what makes it recoverable.
88
80
  logger.info(
89
81
  `Adopted ${icons.written.length} icon(s) into public/icons/ and recorded them in ` +
90
- ".grove-icons.json. Review with `git diff public/icons` if you had edited any.",
82
+ '.grove-icons.json. Review with `git diff public/icons` if you had edited any.',
91
83
  );
92
84
  }
93
85
  if (icons.skipped.length > 0) {
94
86
  logger.warn(
95
- `Kept ${icons.skipped.length} locally modified icon(s): ${icons.skipped.join(", ")}. ` +
96
- "Run `grove icons sync --force` to restore the packaged versions.",
87
+ `Kept ${icons.skipped.length} locally modified icon(s): ${icons.skipped.join(', ')}. ` +
88
+ 'Run `grove icons sync --force` to restore the packaged versions.',
97
89
  );
98
90
  }
99
91
  }
100
- const globalCssPath = resolve(consumerRoot, "src/styles/global.css");
92
+ const globalCssPath = resolve(consumerRoot, 'src/styles/global.css');
101
93
  const globalCssExists = existsSync(globalCssPath);
102
94
 
103
95
  updateConfig({
104
96
  vite: {
105
97
  resolve: {
106
98
  alias: {
107
- "@grove-dev/astro/components": componentsDir,
108
- "@grove-dev/astro/layouts": layoutsDir,
109
- "@grove/generated": resolve(consumerRoot, "data/generated"),
99
+ '@grove/generated': resolve(consumerRoot, 'data/generated'),
110
100
  },
111
101
  },
112
102
  // The OG image pipeline (`@grove-dev/core`'s og-image.ts)
@@ -115,22 +105,20 @@ export default function groveAstro(): AstroIntegration {
115
105
  // time) — never in page code — so keep the bundler away
116
106
  // from the .node binary.
117
107
  ssr: {
118
- external: ["satori", "@resvg/resvg-js"],
108
+ external: ['satori', '@resvg/resvg-js'],
119
109
  },
120
110
  plugins: [
121
111
  {
122
- name: "grove:consumer-global-css-resolver",
112
+ name: 'grove:consumer-global-css-resolver',
123
113
  resolveId(id) {
124
114
  if (id === CONSUMER_GLOBAL_CSS_VIRTUAL_ID) {
125
- return globalCssExists
126
- ? globalCssPath
127
- : CONSUMER_GLOBAL_CSS_EMPTY_ID;
115
+ return globalCssExists ? globalCssPath : CONSUMER_GLOBAL_CSS_EMPTY_ID;
128
116
  }
129
117
  return null;
130
118
  },
131
119
  load(id) {
132
120
  if (id === CONSUMER_GLOBAL_CSS_EMPTY_ID) {
133
- return "";
121
+ return '';
134
122
  }
135
123
  return null;
136
124
  },
@@ -143,10 +131,7 @@ export default function groveAstro(): AstroIntegration {
143
131
  // regardless of whether the consumer has a global.css yet.
144
132
  // Vite's CSS pipeline (with @tailwindcss/vite) handles the
145
133
  // resulting import as a stylesheet — no JS bundle weight.
146
- injectScript(
147
- "page-ssr",
148
- `import "${CONSUMER_GLOBAL_CSS_VIRTUAL_ID}";`,
149
- );
134
+ injectScript('page-ssr', `import "${CONSUMER_GLOBAL_CSS_VIRTUAL_ID}";`);
150
135
  },
151
136
  },
152
137
  };
@@ -1 +1 @@
1
- export * from "@grove-dev/core";
1
+ export * from '@grove-dev/core';
package/src/lib/format.ts CHANGED
@@ -1 +1 @@
1
- export * from "@grove-dev/core";
1
+ export * from '@grove-dev/core';
@@ -10,50 +10,50 @@
10
10
  * Keyed by `${folder}/${resolvedName}` — the folder matters because
11
11
  * `apple` exists under both `stacks/` and `platforms/`.
12
12
  */
13
- export type IconKind = "color" | "mono";
13
+ export type IconKind = 'color' | 'mono';
14
14
 
15
15
  export const ICON_KINDS: Readonly<Record<string, IconKind>> = {
16
- "platforms/android": "color",
17
- "platforms/app": "mono",
18
- "platforms/chrome": "color",
19
- "platforms/desktop": "mono",
20
- "platforms/embedded": "mono",
21
- "platforms/ios": "mono",
22
- "platforms/linux": "color",
23
- "platforms/macos": "mono",
24
- "platforms/ubuntu": "color",
25
- "platforms/web": "mono",
26
- "platforms/windows": "color",
27
- "stacks/android": "color",
28
- "stacks/apple": "mono",
29
- "stacks/bun": "color",
30
- "stacks/capacitor": "color",
31
- "stacks/clojure": "color",
32
- "stacks/dart": "color",
33
- "stacks/deno": "mono",
34
- "stacks/django": "color",
35
- "stacks/docker": "color",
36
- "stacks/firebase": "color",
37
- "stacks/flutter": "color",
38
- "stacks/go": "color",
39
- "stacks/graphql": "color",
40
- "stacks/ionic": "color",
41
- "stacks/java": "color",
42
- "stacks/javascript": "color",
43
- "stacks/kotlin": "color",
44
- "stacks/llm": "mono",
45
- "stacks/mongodb": "color",
46
- "stacks/nodejs": "color",
47
- "stacks/python": "color",
48
- "stacks/rag": "mono",
49
- "stacks/react": "color",
50
- "stacks/react-native": "color",
51
- "stacks/rust": "mono",
52
- "stacks/solidity": "mono",
53
- "stacks/sveltekit": "color",
54
- "stacks/swift": "color",
55
- "stacks/tauri": "mono",
56
- "stacks/tensorflow": "color",
57
- "stacks/typescript": "color",
58
- "stacks/vue": "color",
16
+ 'platforms/android': 'color',
17
+ 'platforms/app': 'mono',
18
+ 'platforms/chrome': 'color',
19
+ 'platforms/desktop': 'mono',
20
+ 'platforms/embedded': 'mono',
21
+ 'platforms/ios': 'mono',
22
+ 'platforms/linux': 'color',
23
+ 'platforms/macos': 'mono',
24
+ 'platforms/ubuntu': 'color',
25
+ 'platforms/web': 'mono',
26
+ 'platforms/windows': 'color',
27
+ 'stacks/android': 'color',
28
+ 'stacks/apple': 'mono',
29
+ 'stacks/bun': 'color',
30
+ 'stacks/capacitor': 'color',
31
+ 'stacks/clojure': 'color',
32
+ 'stacks/dart': 'color',
33
+ 'stacks/deno': 'mono',
34
+ 'stacks/django': 'color',
35
+ 'stacks/docker': 'color',
36
+ 'stacks/firebase': 'color',
37
+ 'stacks/flutter': 'color',
38
+ 'stacks/go': 'color',
39
+ 'stacks/graphql': 'color',
40
+ 'stacks/ionic': 'color',
41
+ 'stacks/java': 'color',
42
+ 'stacks/javascript': 'color',
43
+ 'stacks/kotlin': 'color',
44
+ 'stacks/llm': 'mono',
45
+ 'stacks/mongodb': 'color',
46
+ 'stacks/nodejs': 'color',
47
+ 'stacks/python': 'color',
48
+ 'stacks/rag': 'mono',
49
+ 'stacks/react': 'color',
50
+ 'stacks/react-native': 'color',
51
+ 'stacks/rust': 'mono',
52
+ 'stacks/solidity': 'mono',
53
+ 'stacks/sveltekit': 'color',
54
+ 'stacks/swift': 'color',
55
+ 'stacks/tauri': 'mono',
56
+ 'stacks/tensorflow': 'color',
57
+ 'stacks/typescript': 'color',
58
+ 'stacks/vue': 'color',
59
59
  };
@@ -7,8 +7,8 @@
7
7
  * (and drifting from) the alias and folder rules.
8
8
  */
9
9
 
10
- export type IconCategory = "stack" | "platform" | "brand";
11
- export type IconFolder = "stacks" | "platforms" | "brands";
10
+ export type IconCategory = 'stack' | 'platform' | 'brand';
11
+ export type IconFolder = 'stacks' | 'platforms' | 'brands';
12
12
 
13
13
  /**
14
14
  * Normalize: lowercase + replace spaces/underscores with dashes.
@@ -21,7 +21,7 @@ export function slugifyIconName(s: string): string {
21
21
  return s
22
22
  .toLowerCase()
23
23
  .trim()
24
- .replace(/[\s_]+/g, "-");
24
+ .replace(/[\s_]+/g, '-');
25
25
  }
26
26
 
27
27
  /**
@@ -31,28 +31,28 @@ export function slugifyIconName(s: string): string {
31
31
  */
32
32
  const defaultAliases: Partial<Record<IconCategory, Record<string, string>>> = {
33
33
  stack: {
34
- ios: "apple",
35
- "native-ios": "apple",
36
- ipados: "apple",
37
- macos: "apple",
38
- "objective-c": "apple",
39
- spritekit: "apple",
40
- swiftui: "apple",
41
- kmp: "kotlin",
42
- "kotlin-multiplatform": "kotlin",
34
+ ios: 'apple',
35
+ 'native-ios': 'apple',
36
+ ipados: 'apple',
37
+ macos: 'apple',
38
+ 'objective-c': 'apple',
39
+ spritekit: 'apple',
40
+ swiftui: 'apple',
41
+ kmp: 'kotlin',
42
+ 'kotlin-multiplatform': 'kotlin',
43
43
  // Names the shipped set covers under a different file.
44
- "node.js": "nodejs",
45
- node: "nodejs",
46
- clojurescript: "clojure",
47
- svelte: "sveltekit",
44
+ 'node.js': 'nodejs',
45
+ node: 'nodejs',
46
+ clojurescript: 'clojure',
47
+ svelte: 'sveltekit',
48
48
  },
49
49
  };
50
50
 
51
51
  /** Stack marks that `category="platform"` should reuse rather than duplicate. */
52
- const platformStackIcons = new Set(["docker"]);
52
+ const platformStackIcons = new Set(['docker']);
53
53
 
54
54
  /** Platforms with no mark at all — always render the initials chip. */
55
- export const textOnlyPlatforms = new Set(["self-host", "self-hosted"]);
55
+ export const textOnlyPlatforms = new Set(['self-host', 'self-hosted']);
56
56
 
57
57
  export interface ResolvedIconAsset {
58
58
  /** Subfolder under the icon base path. */
@@ -80,17 +80,17 @@ export function resolveIconAsset(
80
80
  ): ResolvedIconAsset {
81
81
  const resolved = resolveName(name, category, aliases);
82
82
  const folder: IconFolder =
83
- category === "stack" || (category === "platform" && platformStackIcons.has(resolved))
84
- ? "stacks"
85
- : category === "platform"
86
- ? "platforms"
87
- : "brands";
83
+ category === 'stack' || (category === 'platform' && platformStackIcons.has(resolved))
84
+ ? 'stacks'
85
+ : category === 'platform'
86
+ ? 'platforms'
87
+ : 'brands';
88
88
 
89
89
  return {
90
90
  folder,
91
91
  name: resolved,
92
92
  key: `${folder}/${resolved}`,
93
- textOnly: category === "platform" && textOnlyPlatforms.has(resolved),
93
+ textOnly: category === 'platform' && textOnlyPlatforms.has(resolved),
94
94
  };
95
95
  }
96
96
 
@@ -99,7 +99,7 @@ function resolveName(
99
99
  category: IconCategory,
100
100
  aliases?: Record<string, string>,
101
101
  ): string {
102
- if (!raw) return "";
102
+ if (!raw) return '';
103
103
  for (const registry of [aliases, defaultAliases[category]]) {
104
104
  if (!registry) continue;
105
105
  const lower = raw.toLowerCase();
package/src/lib/index.ts CHANGED
@@ -17,12 +17,12 @@
17
17
  * payload and the `Score` / `HealthStatus` unions).
18
18
  */
19
19
 
20
- export * from "./repo.js";
21
- export * from "./format.js";
22
- export * from "./lenses.js";
23
- export * from "./search.js";
24
- export * from "./taxonomy-counts.js";
25
- export * from "./display.js";
26
- export * from "./icon-registry.js";
27
- export * from "./icon-kinds.js";
28
- export * from "./packaged-icons.js";
20
+ export * from './display.js';
21
+ export * from './format.js';
22
+ export * from './icon-kinds.js';
23
+ export * from './icon-registry.js';
24
+ export * from './lenses.js';
25
+ export * from './packaged-icons.js';
26
+ export * from './repo.js';
27
+ export * from './search.js';
28
+ export * from './taxonomy-counts.js';
package/src/lib/lenses.ts CHANGED
@@ -1 +1 @@
1
- export * from "@grove-dev/core";
1
+ export * from '@grove-dev/core';
@@ -6,10 +6,10 @@
6
6
  * carries the matching artwork with it, so a consumer can never end up
7
7
  * with a component asking for files their site does not have.
8
8
  */
9
- import { dirname, resolve } from "node:path";
10
- import { fileURLToPath } from "node:url";
11
- import type { IconSyncOptions, IconSyncResult } from "@grove-dev/core";
12
- import { syncIconAssets } from "@grove-dev/core";
9
+ import { dirname, resolve } from 'node:path';
10
+ import { fileURLToPath } from 'node:url';
11
+ import type { IconSyncOptions, IconSyncResult } from '@grove-dev/core';
12
+ import { syncIconAssets } from '@grove-dev/core';
13
13
 
14
14
  /**
15
15
  * `packages/astro/assets/icons` — two levels up, which holds for both
@@ -17,10 +17,10 @@ import { syncIconAssets } from "@grove-dev/core";
17
17
  */
18
18
  export const packagedIconsDir = resolve(
19
19
  dirname(fileURLToPath(import.meta.url)),
20
- "..",
21
- "..",
22
- "assets",
23
- "icons",
20
+ '..',
21
+ '..',
22
+ 'assets',
23
+ 'icons',
24
24
  );
25
25
 
26
26
  /** Copy the packaged icon set into a site's `public/`. */
package/src/lib/repo.ts CHANGED
@@ -1 +1 @@
1
- export * from "@grove-dev/core";
1
+ export * from '@grove-dev/core';
package/src/lib/search.ts CHANGED
@@ -1 +1 @@
1
- export * from "@grove-dev/core";
1
+ export * from '@grove-dev/core';
@@ -1 +1 @@
1
- export * from "@grove-dev/core";
1
+ export * from '@grove-dev/core';