@jjlmoya/utils-cooking 1.15.0 → 1.19.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.
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@jjlmoya/utils-cooking",
3
- "version": "1.15.0",
3
+ "version": "1.19.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
7
7
  "exports": {
8
8
  ".": "./src/index.ts",
9
- "./data": "./src/data.ts"
9
+ "./data": "./src/data.ts",
10
+ "./entries": "./src/entries.ts"
10
11
  },
11
12
  "files": [
12
13
  "src"
@@ -1,16 +1,16 @@
1
1
  import type { CookingCategoryEntry } from '../types';
2
- import { americanKitchenConverter } from '../tool/american-kitchen-converter';
3
- import { meringuePeak } from '../tool/meringue-peak';
4
- import { bananaCare } from '../tool/banana-ripeness';
5
- import { eggTimer } from '../tool/egg-timer';
6
- import { kitchenTimer } from '../tool/kitchen-timer';
7
- import { pizza } from '../tool/pizza';
8
- import { brine } from '../tool/brine';
9
- import { moldScaler } from '../tool/mold-scaler';
10
- import { ingredientRescaler } from '../tool/ingredient-rescaler';
11
- import { sourdoughCalculator } from '../tool/sourdough-calculator';
12
- import { rouxGuide } from '../tool/roux-guide';
13
- import { cookwareGuide } from '../tool/cookware-guide';
2
+ import { americanKitchenConverter } from '../tool/american-kitchen-converter/entry';
3
+ import { meringuePeak } from '../tool/meringue-peak/entry';
4
+ import { bananaCare } from '../tool/banana-ripeness/entry';
5
+ import { eggTimer } from '../tool/egg-timer/entry';
6
+ import { kitchenTimer } from '../tool/kitchen-timer/entry';
7
+ import { pizza } from '../tool/pizza/entry';
8
+ import { brine } from '../tool/brine/entry';
9
+ import { moldScaler } from '../tool/mold-scaler/entry';
10
+ import { ingredientRescaler } from '../tool/ingredient-rescaler/entry';
11
+ import { sourdoughCalculator } from '../tool/sourdough-calculator/entry';
12
+ import { rouxGuide } from '../tool/roux-guide/entry';
13
+ import { cookwareGuide } from '../tool/cookware-guide/entry';
14
14
 
15
15
  export const cookingCategory: CookingCategoryEntry = {
16
16
  icon: 'mdi:chef-hat',
package/src/entries.ts ADDED
@@ -0,0 +1,26 @@
1
+ export { americanKitchenConverter } from './tool/american-kitchen-converter/entry';
2
+ export { bananaCare } from './tool/banana-ripeness/entry';
3
+ export { brine } from './tool/brine/entry';
4
+ export { cookwareGuide } from './tool/cookware-guide/entry';
5
+ export { eggTimer } from './tool/egg-timer/entry';
6
+ export { ingredientRescaler } from './tool/ingredient-rescaler/entry';
7
+ export { kitchenTimer } from './tool/kitchen-timer/entry';
8
+ export { meringuePeak } from './tool/meringue-peak/entry';
9
+ export { moldScaler } from './tool/mold-scaler/entry';
10
+ export { pizza } from './tool/pizza/entry';
11
+ export { rouxGuide } from './tool/roux-guide/entry';
12
+ export { sourdoughCalculator } from './tool/sourdough-calculator/entry';
13
+ export { cookingCategory } from './category';
14
+ import { americanKitchenConverter } from './tool/american-kitchen-converter/entry';
15
+ import { bananaCare } from './tool/banana-ripeness/entry';
16
+ import { brine } from './tool/brine/entry';
17
+ import { cookwareGuide } from './tool/cookware-guide/entry';
18
+ import { eggTimer } from './tool/egg-timer/entry';
19
+ import { ingredientRescaler } from './tool/ingredient-rescaler/entry';
20
+ import { kitchenTimer } from './tool/kitchen-timer/entry';
21
+ import { meringuePeak } from './tool/meringue-peak/entry';
22
+ import { moldScaler } from './tool/mold-scaler/entry';
23
+ import { pizza } from './tool/pizza/entry';
24
+ import { rouxGuide } from './tool/roux-guide/entry';
25
+ import { sourdoughCalculator } from './tool/sourdough-calculator/entry';
26
+ export const ALL_ENTRIES = [americanKitchenConverter, bananaCare, brine, cookwareGuide, eggTimer, ingredientRescaler, kitchenTimer, meringuePeak, moldScaler, pizza, rouxGuide, sourdoughCalculator];
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { cookingCategory, cookingCategory as templateCategory } from './category';
2
- export { default as CookingCategorySEO } from './category/seo.astro';
2
+ export const CookingCategorySEO = () => import('./category/seo.astro').then((m) => m.default);
3
3
 
4
4
  export { AMERICAN_KITCHEN_CONVERTER_TOOL } from './tool/american-kitchen-converter';
5
5
  export { MERENGUE_CALCULATOR_TOOL } from './tool/meringue-peak';
@@ -14,7 +14,8 @@ import type { UtilitySEOContent } from "@jjlmoya/utils-shared";
14
14
  export async function getStaticPaths() {
15
15
  const paths = [];
16
16
 
17
- for (const { entry, Component } of ALL_TOOLS) {
17
+ for (const { entry, Component: lazyComp } of ALL_TOOLS) {
18
+ const { default: Component } = await lazyComp();
18
19
  const localeEntries = Object.entries(entry.i18n) as [
19
20
  KnownLocale,
20
21
  () => Promise<ToolLocaleContent>,
@@ -52,8 +53,6 @@ export async function getStaticPaths() {
52
53
  return paths;
53
54
  }
54
55
 
55
- type ToolComponent = (props: { ui: Record<string, string> }) => unknown;
56
-
57
56
  interface NavItem {
58
57
  id: string;
59
58
  title: string;
@@ -62,7 +61,7 @@ interface NavItem {
62
61
  }
63
62
 
64
63
  interface Props {
65
- Component: ToolComponent;
64
+ Component: unknown;
66
65
  locale: KnownLocale;
67
66
  content: ToolLocaleContent;
68
67
  localeUrls: Partial<Record<KnownLocale, string>>;
@@ -0,0 +1,26 @@
1
+ import type { CookingToolEntry } from '../../types';
2
+
3
+ export const americanKitchenConverter: CookingToolEntry = {
4
+ id: 'american-kitchen-converter',
5
+ icons: {
6
+ bg: 'mdi:cup-outline',
7
+ fg: 'mdi:fire',
8
+ },
9
+ i18n: {
10
+ es: () => import('./i18n/es').then((m) => m.content),
11
+ en: () => import('./i18n/en').then((m) => m.content),
12
+ fr: () => import('./i18n/fr').then((m) => m.content),
13
+ de: () => import('./i18n/de').then((m) => m.content),
14
+ it: () => import('./i18n/it').then((m) => m.content),
15
+ pt: () => import('./i18n/pt').then((m) => m.content),
16
+ nl: () => import('./i18n/nl').then((m) => m.content),
17
+ sv: () => import('./i18n/sv').then((m) => m.content),
18
+ ru: () => import('./i18n/ru').then((m) => m.content),
19
+ tr: () => import('./i18n/tr').then((m) => m.content),
20
+ pl: () => import('./i18n/pl').then((m) => m.content),
21
+ id: () => import('./i18n/id').then((m) => m.content),
22
+ ja: () => import('./i18n/ja').then((m) => m.content),
23
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
+ ko: () => import('./i18n/ko').then((m) => m.content),
25
+ },
26
+ };
@@ -1,36 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from '../../types';
2
- import AmericanKitchenConverterComponent from './component.astro';
3
- import AmericanKitchenConverterSEO from './seo.astro';
4
- import AmericanKitchenConverterBibliography from './bibliography.astro';
5
-
6
- export const americanKitchenConverter: CookingToolEntry = {
7
- id: 'american-kitchen-converter',
8
- icons: {
9
- bg: 'mdi:cup-outline',
10
- fg: 'mdi:fire',
11
- },
12
- i18n: {
13
- es: () => import('./i18n/es').then((m) => m.content),
14
- en: () => import('./i18n/en').then((m) => m.content),
15
- fr: () => import('./i18n/fr').then((m) => m.content),
16
- de: () => import('./i18n/de').then((m) => m.content),
17
- it: () => import('./i18n/it').then((m) => m.content),
18
- pt: () => import('./i18n/pt').then((m) => m.content),
19
- nl: () => import('./i18n/nl').then((m) => m.content),
20
- sv: () => import('./i18n/sv').then((m) => m.content),
21
- ru: () => import('./i18n/ru').then((m) => m.content),
22
- tr: () => import('./i18n/tr').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- id: () => import('./i18n/id').then((m) => m.content),
25
- ja: () => import('./i18n/ja').then((m) => m.content),
26
- zh: () => import('./i18n/zh').then((m) => m.content),
27
- ko: () => import('./i18n/ko').then((m) => m.content),
28
- },
29
- };
30
-
1
+ import { americanKitchenConverter } from './entry';
2
+ export * from './entry';
31
3
  export const AMERICAN_KITCHEN_CONVERTER_TOOL: ToolDefinition = {
32
4
  entry: americanKitchenConverter,
33
- Component: AmericanKitchenConverterComponent,
34
- SEOComponent: AmericanKitchenConverterSEO,
35
- BibliographyComponent: AmericanKitchenConverterBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
36
8
  };
@@ -0,0 +1,26 @@
1
+ import type { CookingToolEntry } from '../../types';
2
+
3
+ export const bananaCare: CookingToolEntry = {
4
+ id: 'banana-ripeness',
5
+ icons: {
6
+ bg: 'mdi:fruit-watermelon',
7
+ fg: 'mdi:leaf',
8
+ },
9
+ i18n: {
10
+ es: () => import('./i18n/es').then((m) => m.content),
11
+ en: () => import('./i18n/en').then((m) => m.content),
12
+ fr: () => import('./i18n/fr').then((m) => m.content),
13
+ de: () => import('./i18n/de').then((m) => m.content),
14
+ it: () => import('./i18n/it').then((m) => m.content),
15
+ pt: () => import('./i18n/pt').then((m) => m.content),
16
+ nl: () => import('./i18n/nl').then((m) => m.content),
17
+ sv: () => import('./i18n/sv').then((m) => m.content),
18
+ ru: () => import('./i18n/ru').then((m) => m.content),
19
+ tr: () => import('./i18n/tr').then((m) => m.content),
20
+ pl: () => import('./i18n/pl').then((m) => m.content),
21
+ id: () => import('./i18n/id').then((m) => m.content),
22
+ ja: () => import('./i18n/ja').then((m) => m.content),
23
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
+ ko: () => import('./i18n/ko').then((m) => m.content),
25
+ },
26
+ };
@@ -1,36 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from '../../types';
2
- import BananaComponent from './component.astro';
3
- import BananaComponentSEO from './seo.astro';
4
- import BananaComponentBibliography from './bibliography.astro';
5
-
6
- export const bananaCare: CookingToolEntry = {
7
- id: 'banana-ripeness',
8
- icons: {
9
- bg: 'mdi:fruit-watermelon',
10
- fg: 'mdi:leaf',
11
- },
12
- i18n: {
13
- es: () => import('./i18n/es').then((m) => m.content),
14
- en: () => import('./i18n/en').then((m) => m.content),
15
- fr: () => import('./i18n/fr').then((m) => m.content),
16
- de: () => import('./i18n/de').then((m) => m.content),
17
- it: () => import('./i18n/it').then((m) => m.content),
18
- pt: () => import('./i18n/pt').then((m) => m.content),
19
- nl: () => import('./i18n/nl').then((m) => m.content),
20
- sv: () => import('./i18n/sv').then((m) => m.content),
21
- ru: () => import('./i18n/ru').then((m) => m.content),
22
- tr: () => import('./i18n/tr').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- id: () => import('./i18n/id').then((m) => m.content),
25
- ja: () => import('./i18n/ja').then((m) => m.content),
26
- zh: () => import('./i18n/zh').then((m) => m.content),
27
- ko: () => import('./i18n/ko').then((m) => m.content),
28
- },
29
- };
30
-
1
+ import { bananaCare } from './entry';
2
+ export * from './entry';
31
3
  export const BANANA_CARE_TOOL: ToolDefinition = {
32
4
  entry: bananaCare,
33
- Component: BananaComponent,
34
- SEOComponent: BananaComponentSEO,
35
- BibliographyComponent: BananaComponentBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
36
8
  };
@@ -0,0 +1,29 @@
1
+ import type { CookingToolEntry } from "../../types";
2
+
3
+
4
+
5
+
6
+ export const brine: CookingToolEntry = {
7
+ id: "brine-calculator",
8
+ icons: {
9
+ bg: "mdi:water",
10
+ fg: "mdi:salt",
11
+ },
12
+ i18n: {
13
+ es: () => import("./i18n/es").then((m) => m.content),
14
+ en: () => import("./i18n/en").then((m) => m.content),
15
+ fr: () => import("./i18n/fr").then((m) => m.content),
16
+ de: () => import("./i18n/de").then((m) => m.content),
17
+ it: () => import("./i18n/it").then((m) => m.content),
18
+ pt: () => import("./i18n/pt").then((m) => m.content),
19
+ nl: () => import("./i18n/nl").then((m) => m.content),
20
+ sv: () => import("./i18n/sv").then((m) => m.content),
21
+ ru: () => import("./i18n/ru").then((m) => m.content),
22
+ tr: () => import("./i18n/tr").then((m) => m.content),
23
+ pl: () => import("./i18n/pl").then((m) => m.content),
24
+ id: () => import("./i18n/id").then((m) => m.content),
25
+ ja: () => import("./i18n/ja").then((m) => m.content),
26
+ zh: () => import("./i18n/zh").then((m) => m.content),
27
+ ko: () => import("./i18n/ko").then((m) => m.content),
28
+ },
29
+ };
@@ -1,38 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from "../../types";
2
- import BrineComponent from "./component.astro";
3
- import BrineSEO from "./seo.astro";
4
- import BrineBibliography from "./bibliography.astro";
5
-
6
- export const brine: CookingToolEntry = {
7
- id: "brine-calculator",
8
- icons: {
9
- bg: "mdi:water",
10
- fg: "mdi:salt",
11
- },
12
- i18n: {
13
- es: () => import("./i18n/es").then((m) => m.content),
14
- en: () => import("./i18n/en").then((m) => m.content),
15
- fr: () => import("./i18n/fr").then((m) => m.content),
16
- de: () => import("./i18n/de").then((m) => m.content),
17
- it: () => import("./i18n/it").then((m) => m.content),
18
- pt: () => import("./i18n/pt").then((m) => m.content),
19
- nl: () => import("./i18n/nl").then((m) => m.content),
20
- sv: () => import("./i18n/sv").then((m) => m.content),
21
- ru: () => import("./i18n/ru").then((m) => m.content),
22
- tr: () => import("./i18n/tr").then((m) => m.content),
23
- pl: () => import("./i18n/pl").then((m) => m.content),
24
- id: () => import("./i18n/id").then((m) => m.content),
25
- ja: () => import("./i18n/ja").then((m) => m.content),
26
- zh: () => import("./i18n/zh").then((m) => m.content),
27
- ko: () => import("./i18n/ko").then((m) => m.content),
28
- },
29
- };
30
-
31
- export { BrineComponent, BrineSEO, BrineBibliography };
32
-
1
+ import { brine } from './entry';
2
+ export * from './entry';
33
3
  export const BRINE_TOOL: ToolDefinition = {
34
4
  entry: brine,
35
- Component: BrineComponent,
36
- SEOComponent: BrineSEO,
37
- BibliographyComponent: BrineBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
38
8
  };
@@ -0,0 +1,26 @@
1
+ import type { CookingToolEntry } from '../../types';
2
+
3
+ export const cookwareGuide: CookingToolEntry = {
4
+ id: 'cookware-guide',
5
+ icons: {
6
+ bg: 'mdi:chef-hat',
7
+ fg: 'mdi:pot-mix',
8
+ },
9
+ i18n: {
10
+ es: () => import('./i18n/es').then((m) => m.content),
11
+ en: () => import('./i18n/en').then((m) => m.content),
12
+ fr: () => import('./i18n/fr').then((m) => m.content),
13
+ de: () => import('./i18n/de').then((m) => m.content),
14
+ it: () => import('./i18n/it').then((m) => m.content),
15
+ pt: () => import('./i18n/pt').then((m) => m.content),
16
+ nl: () => import('./i18n/nl').then((m) => m.content),
17
+ sv: () => import('./i18n/sv').then((m) => m.content),
18
+ ru: () => import('./i18n/ru').then((m) => m.content),
19
+ tr: () => import('./i18n/tr').then((m) => m.content),
20
+ pl: () => import('./i18n/pl').then((m) => m.content),
21
+ id: () => import('./i18n/id').then((m) => m.content),
22
+ ja: () => import('./i18n/ja').then((m) => m.content),
23
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
+ ko: () => import('./i18n/ko').then((m) => m.content),
25
+ },
26
+ };
@@ -1,36 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from '../../types';
2
- import CookwareGuideComponent from './component.astro';
3
- import CookwareGuideSEO from './seo.astro';
4
- import CookwareGuideBibliography from './bibliography.astro';
5
-
6
- export const cookwareGuide: CookingToolEntry = {
7
- id: 'cookware-guide',
8
- icons: {
9
- bg: 'mdi:chef-hat',
10
- fg: 'mdi:pot-mix',
11
- },
12
- i18n: {
13
- es: () => import('./i18n/es').then((m) => m.content),
14
- en: () => import('./i18n/en').then((m) => m.content),
15
- fr: () => import('./i18n/fr').then((m) => m.content),
16
- de: () => import('./i18n/de').then((m) => m.content),
17
- it: () => import('./i18n/it').then((m) => m.content),
18
- pt: () => import('./i18n/pt').then((m) => m.content),
19
- nl: () => import('./i18n/nl').then((m) => m.content),
20
- sv: () => import('./i18n/sv').then((m) => m.content),
21
- ru: () => import('./i18n/ru').then((m) => m.content),
22
- tr: () => import('./i18n/tr').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- id: () => import('./i18n/id').then((m) => m.content),
25
- ja: () => import('./i18n/ja').then((m) => m.content),
26
- zh: () => import('./i18n/zh').then((m) => m.content),
27
- ko: () => import('./i18n/ko').then((m) => m.content),
28
- },
29
- };
30
-
1
+ import { cookwareGuide } from './entry';
2
+ export * from './entry';
31
3
  export const COOKWARE_GUIDE_TOOL: ToolDefinition = {
32
4
  entry: cookwareGuide,
33
- Component: CookwareGuideComponent,
34
- SEOComponent: CookwareGuideSEO,
35
- BibliographyComponent: CookwareGuideBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
36
8
  };
@@ -0,0 +1,30 @@
1
+ import type { CookingToolEntry } from "../../types";
2
+
3
+
4
+
5
+
6
+ export const eggTimer: CookingToolEntry = {
7
+ id: "egg-timer",
8
+ icons: {
9
+ bg: "mdi:chef-hat",
10
+ fg: "mdi:egg",
11
+ },
12
+ appSlug: "egg-timer",
13
+ i18n: {
14
+ es: () => import("./i18n/es").then((m) => m.content),
15
+ en: () => import("./i18n/en").then((m) => m.content),
16
+ fr: () => import("./i18n/fr").then((m) => m.content),
17
+ de: () => import("./i18n/de").then((m) => m.content),
18
+ it: () => import("./i18n/it").then((m) => m.content),
19
+ pt: () => import("./i18n/pt").then((m) => m.content),
20
+ nl: () => import("./i18n/nl").then((m) => m.content),
21
+ sv: () => import("./i18n/sv").then((m) => m.content),
22
+ ru: () => import("./i18n/ru").then((m) => m.content),
23
+ tr: () => import("./i18n/tr").then((m) => m.content),
24
+ pl: () => import("./i18n/pl").then((m) => m.content),
25
+ id: () => import("./i18n/id").then((m) => m.content),
26
+ ja: () => import("./i18n/ja").then((m) => m.content),
27
+ zh: () => import("./i18n/zh").then((m) => m.content),
28
+ ko: () => import("./i18n/ko").then((m) => m.content),
29
+ },
30
+ };
@@ -1,39 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from "../../types";
2
- import EggTimerComponent from "./component.astro";
3
- import EggTimerSEO from "./seo.astro";
4
- import EggTimerBibliography from "./bibliography.astro";
5
-
6
- export const eggTimer: CookingToolEntry = {
7
- id: "egg-timer",
8
- icons: {
9
- bg: "mdi:chef-hat",
10
- fg: "mdi:egg",
11
- },
12
- appSlug: "egg-timer",
13
- i18n: {
14
- es: () => import("./i18n/es").then((m) => m.content),
15
- en: () => import("./i18n/en").then((m) => m.content),
16
- fr: () => import("./i18n/fr").then((m) => m.content),
17
- de: () => import("./i18n/de").then((m) => m.content),
18
- it: () => import("./i18n/it").then((m) => m.content),
19
- pt: () => import("./i18n/pt").then((m) => m.content),
20
- nl: () => import("./i18n/nl").then((m) => m.content),
21
- sv: () => import("./i18n/sv").then((m) => m.content),
22
- ru: () => import("./i18n/ru").then((m) => m.content),
23
- tr: () => import("./i18n/tr").then((m) => m.content),
24
- pl: () => import("./i18n/pl").then((m) => m.content),
25
- id: () => import("./i18n/id").then((m) => m.content),
26
- ja: () => import("./i18n/ja").then((m) => m.content),
27
- zh: () => import("./i18n/zh").then((m) => m.content),
28
- ko: () => import("./i18n/ko").then((m) => m.content),
29
- },
30
- };
31
-
32
- export { EggTimerComponent, EggTimerSEO, EggTimerBibliography };
33
-
1
+ import { eggTimer } from './entry';
2
+ export * from './entry';
34
3
  export const EGG_TIMER_TOOL: ToolDefinition = {
35
4
  entry: eggTimer,
36
- Component: EggTimerComponent,
37
- SEOComponent: EggTimerSEO,
38
- BibliographyComponent: EggTimerBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
39
8
  };
@@ -0,0 +1,26 @@
1
+ import type { CookingToolEntry } from '../../types';
2
+
3
+ export const ingredientRescaler: CookingToolEntry = {
4
+ id: 'ingredient-rescaler',
5
+ icons: {
6
+ bg: 'mdi:pot-steam',
7
+ fg: 'mdi:chef-hat',
8
+ },
9
+ i18n: {
10
+ es: () => import('./i18n/es').then((m) => m.content),
11
+ en: () => import('./i18n/en').then((m) => m.content),
12
+ fr: () => import('./i18n/fr').then((m) => m.content),
13
+ de: () => import('./i18n/de').then((m) => m.content),
14
+ it: () => import('./i18n/it').then((m) => m.content),
15
+ pt: () => import('./i18n/pt').then((m) => m.content),
16
+ nl: () => import('./i18n/nl').then((m) => m.content),
17
+ sv: () => import('./i18n/sv').then((m) => m.content),
18
+ ru: () => import('./i18n/ru').then((m) => m.content),
19
+ tr: () => import('./i18n/tr').then((m) => m.content),
20
+ pl: () => import('./i18n/pl').then((m) => m.content),
21
+ id: () => import('./i18n/id').then((m) => m.content),
22
+ ja: () => import('./i18n/ja').then((m) => m.content),
23
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
+ ko: () => import('./i18n/ko').then((m) => m.content),
25
+ },
26
+ };
@@ -1,36 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from '../../types';
2
- import IngredientRescalerComponent from './component.astro';
3
- import IngredientRescalerSEO from './seo.astro';
4
- import IngredientRescalerBibliography from './bibliography.astro';
5
-
6
- export const ingredientRescaler: CookingToolEntry = {
7
- id: 'ingredient-rescaler',
8
- icons: {
9
- bg: 'mdi:pot-steam',
10
- fg: 'mdi:chef-hat',
11
- },
12
- i18n: {
13
- es: () => import('./i18n/es').then((m) => m.content),
14
- en: () => import('./i18n/en').then((m) => m.content),
15
- fr: () => import('./i18n/fr').then((m) => m.content),
16
- de: () => import('./i18n/de').then((m) => m.content),
17
- it: () => import('./i18n/it').then((m) => m.content),
18
- pt: () => import('./i18n/pt').then((m) => m.content),
19
- nl: () => import('./i18n/nl').then((m) => m.content),
20
- sv: () => import('./i18n/sv').then((m) => m.content),
21
- ru: () => import('./i18n/ru').then((m) => m.content),
22
- tr: () => import('./i18n/tr').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- id: () => import('./i18n/id').then((m) => m.content),
25
- ja: () => import('./i18n/ja').then((m) => m.content),
26
- zh: () => import('./i18n/zh').then((m) => m.content),
27
- ko: () => import('./i18n/ko').then((m) => m.content),
28
- },
29
- };
30
-
1
+ import { ingredientRescaler } from './entry';
2
+ export * from './entry';
31
3
  export const INGREDIENT_RESCALER_TOOL: ToolDefinition = {
32
4
  entry: ingredientRescaler,
33
- Component: IngredientRescalerComponent,
34
- SEOComponent: IngredientRescalerSEO,
35
- BibliographyComponent: IngredientRescalerBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
36
8
  };
@@ -0,0 +1,26 @@
1
+ import type { CookingToolEntry } from '../../types';
2
+
3
+ export const kitchenTimer: CookingToolEntry = {
4
+ id: 'kitchen-timer',
5
+ icons: {
6
+ bg: 'mdi:clock-outline',
7
+ fg: 'mdi:fire',
8
+ },
9
+ i18n: {
10
+ es: () => import('./i18n/es').then((m) => m.content),
11
+ en: () => import('./i18n/en').then((m) => m.content),
12
+ fr: () => import('./i18n/fr').then((m) => m.content),
13
+ de: () => import('./i18n/de').then((m) => m.content),
14
+ it: () => import('./i18n/it').then((m) => m.content),
15
+ pt: () => import('./i18n/pt').then((m) => m.content),
16
+ nl: () => import('./i18n/nl').then((m) => m.content),
17
+ sv: () => import('./i18n/sv').then((m) => m.content),
18
+ ru: () => import('./i18n/ru').then((m) => m.content),
19
+ tr: () => import('./i18n/tr').then((m) => m.content),
20
+ pl: () => import('./i18n/pl').then((m) => m.content),
21
+ id: () => import('./i18n/id').then((m) => m.content),
22
+ ja: () => import('./i18n/ja').then((m) => m.content),
23
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
+ ko: () => import('./i18n/ko').then((m) => m.content),
25
+ },
26
+ };
@@ -1,38 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from '../../types';
2
- import KitchenTimerComponent from './component.astro';
3
- import KitchenTimerSEO from './seo.astro';
4
- import KitchenTimerBibliography from './bibliography.astro';
5
-
6
- export const kitchenTimer: CookingToolEntry = {
7
- id: 'kitchen-timer',
8
- icons: {
9
- bg: 'mdi:clock-outline',
10
- fg: 'mdi:fire',
11
- },
12
- i18n: {
13
- es: () => import('./i18n/es').then((m) => m.content),
14
- en: () => import('./i18n/en').then((m) => m.content),
15
- fr: () => import('./i18n/fr').then((m) => m.content),
16
- de: () => import('./i18n/de').then((m) => m.content),
17
- it: () => import('./i18n/it').then((m) => m.content),
18
- pt: () => import('./i18n/pt').then((m) => m.content),
19
- nl: () => import('./i18n/nl').then((m) => m.content),
20
- sv: () => import('./i18n/sv').then((m) => m.content),
21
- ru: () => import('./i18n/ru').then((m) => m.content),
22
- tr: () => import('./i18n/tr').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- id: () => import('./i18n/id').then((m) => m.content),
25
- ja: () => import('./i18n/ja').then((m) => m.content),
26
- zh: () => import('./i18n/zh').then((m) => m.content),
27
- ko: () => import('./i18n/ko').then((m) => m.content),
28
- },
29
- };
30
-
31
- export { KitchenTimerComponent, KitchenTimerSEO, KitchenTimerBibliography };
32
-
1
+ import { kitchenTimer } from './entry';
2
+ export * from './entry';
33
3
  export const KITCHEN_TIMER_TOOL: ToolDefinition = {
34
4
  entry: kitchenTimer,
35
- Component: KitchenTimerComponent,
36
- SEOComponent: KitchenTimerSEO,
37
- BibliographyComponent: KitchenTimerBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
38
8
  };
@@ -0,0 +1,26 @@
1
+ import type { CookingToolEntry } from '../../types';
2
+
3
+ export const meringuePeak: CookingToolEntry = {
4
+ id: 'meringue-peak',
5
+ icons: {
6
+ bg: 'mdi:egg',
7
+ fg: 'mdi:fire',
8
+ },
9
+ i18n: {
10
+ es: () => import('./i18n/es').then((m) => m.content),
11
+ en: () => import('./i18n/en').then((m) => m.content),
12
+ fr: () => import('./i18n/fr').then((m) => m.content),
13
+ de: () => import('./i18n/de').then((m) => m.content),
14
+ it: () => import('./i18n/it').then((m) => m.content),
15
+ pt: () => import('./i18n/pt').then((m) => m.content),
16
+ nl: () => import('./i18n/nl').then((m) => m.content),
17
+ sv: () => import('./i18n/sv').then((m) => m.content),
18
+ ru: () => import('./i18n/ru').then((m) => m.content),
19
+ tr: () => import('./i18n/tr').then((m) => m.content),
20
+ pl: () => import('./i18n/pl').then((m) => m.content),
21
+ id: () => import('./i18n/id').then((m) => m.content),
22
+ ja: () => import('./i18n/ja').then((m) => m.content),
23
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
+ ko: () => import('./i18n/ko').then((m) => m.content),
25
+ },
26
+ };
@@ -1,36 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from '../../types';
2
- import MeringueComponent from './component.astro';
3
- import MeringueComponentSEO from './seo.astro';
4
- import MeringueComponentBibliography from './bibliography.astro';
5
-
6
- export const meringuePeak: CookingToolEntry = {
7
- id: 'meringue-peak',
8
- icons: {
9
- bg: 'mdi:egg',
10
- fg: 'mdi:fire',
11
- },
12
- i18n: {
13
- es: () => import('./i18n/es').then((m) => m.content),
14
- en: () => import('./i18n/en').then((m) => m.content),
15
- fr: () => import('./i18n/fr').then((m) => m.content),
16
- de: () => import('./i18n/de').then((m) => m.content),
17
- it: () => import('./i18n/it').then((m) => m.content),
18
- pt: () => import('./i18n/pt').then((m) => m.content),
19
- nl: () => import('./i18n/nl').then((m) => m.content),
20
- sv: () => import('./i18n/sv').then((m) => m.content),
21
- ru: () => import('./i18n/ru').then((m) => m.content),
22
- tr: () => import('./i18n/tr').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- id: () => import('./i18n/id').then((m) => m.content),
25
- ja: () => import('./i18n/ja').then((m) => m.content),
26
- zh: () => import('./i18n/zh').then((m) => m.content),
27
- ko: () => import('./i18n/ko').then((m) => m.content),
28
- },
29
- };
30
-
1
+ import { meringuePeak } from './entry';
2
+ export * from './entry';
31
3
  export const MERENGUE_CALCULATOR_TOOL: ToolDefinition = {
32
4
  entry: meringuePeak,
33
- Component: MeringueComponent,
34
- SEOComponent: MeringueComponentSEO,
35
- BibliographyComponent: MeringueComponentBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
36
8
  };
@@ -0,0 +1,26 @@
1
+ import type { CookingToolEntry } from '../../types';
2
+
3
+ export const moldScaler: CookingToolEntry = {
4
+ id: 'mold-scaler',
5
+ icons: {
6
+ bg: 'mdi:cake',
7
+ fg: 'mdi:resize',
8
+ },
9
+ i18n: {
10
+ es: () => import('./i18n/es').then((m) => m.content),
11
+ en: () => import('./i18n/en').then((m) => m.content),
12
+ fr: () => import('./i18n/fr').then((m) => m.content),
13
+ de: () => import('./i18n/de').then((m) => m.content),
14
+ it: () => import('./i18n/it').then((m) => m.content),
15
+ pt: () => import('./i18n/pt').then((m) => m.content),
16
+ nl: () => import('./i18n/nl').then((m) => m.content),
17
+ sv: () => import('./i18n/sv').then((m) => m.content),
18
+ ru: () => import('./i18n/ru').then((m) => m.content),
19
+ tr: () => import('./i18n/tr').then((m) => m.content),
20
+ pl: () => import('./i18n/pl').then((m) => m.content),
21
+ id: () => import('./i18n/id').then((m) => m.content),
22
+ ja: () => import('./i18n/ja').then((m) => m.content),
23
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
+ ko: () => import('./i18n/ko').then((m) => m.content),
25
+ },
26
+ };
@@ -1,38 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from '../../types';
2
- import MoldScalerComponent from './component.astro';
3
- import MoldScalerSEO from './seo.astro';
4
- import MoldScalerBibliography from './bibliography.astro';
5
-
6
- export const moldScaler: CookingToolEntry = {
7
- id: 'mold-scaler',
8
- icons: {
9
- bg: 'mdi:cake',
10
- fg: 'mdi:resize',
11
- },
12
- i18n: {
13
- es: () => import('./i18n/es').then((m) => m.content),
14
- en: () => import('./i18n/en').then((m) => m.content),
15
- fr: () => import('./i18n/fr').then((m) => m.content),
16
- de: () => import('./i18n/de').then((m) => m.content),
17
- it: () => import('./i18n/it').then((m) => m.content),
18
- pt: () => import('./i18n/pt').then((m) => m.content),
19
- nl: () => import('./i18n/nl').then((m) => m.content),
20
- sv: () => import('./i18n/sv').then((m) => m.content),
21
- ru: () => import('./i18n/ru').then((m) => m.content),
22
- tr: () => import('./i18n/tr').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- id: () => import('./i18n/id').then((m) => m.content),
25
- ja: () => import('./i18n/ja').then((m) => m.content),
26
- zh: () => import('./i18n/zh').then((m) => m.content),
27
- ko: () => import('./i18n/ko').then((m) => m.content),
28
- },
29
- };
30
-
31
- export { MoldScalerComponent, MoldScalerSEO, MoldScalerBibliography };
32
-
1
+ import { moldScaler } from './entry';
2
+ export * from './entry';
33
3
  export const MOLD_SCALER_TOOL: ToolDefinition = {
34
4
  entry: moldScaler,
35
- Component: MoldScalerComponent,
36
- SEOComponent: MoldScalerSEO,
37
- BibliographyComponent: MoldScalerBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
38
8
  };
@@ -0,0 +1,30 @@
1
+ import type { CookingToolEntry } from "../../types";
2
+
3
+
4
+
5
+
6
+ export const pizza: CookingToolEntry = {
7
+ id: "pizza",
8
+ icons: {
9
+ bg: "mdi:chef-hat",
10
+ fg: "mdi:pizza",
11
+ },
12
+ appSlug: "pizzametrics",
13
+ i18n: {
14
+ es: () => import("./i18n/es").then((m) => m.content),
15
+ en: () => import("./i18n/en").then((m) => m.content),
16
+ fr: () => import("./i18n/fr").then((m) => m.content),
17
+ de: () => import("./i18n/de").then((m) => m.content),
18
+ it: () => import("./i18n/it").then((m) => m.content),
19
+ pt: () => import("./i18n/pt").then((m) => m.content),
20
+ nl: () => import("./i18n/nl").then((m) => m.content),
21
+ sv: () => import("./i18n/sv").then((m) => m.content),
22
+ ru: () => import("./i18n/ru").then((m) => m.content),
23
+ tr: () => import("./i18n/tr").then((m) => m.content),
24
+ pl: () => import("./i18n/pl").then((m) => m.content),
25
+ id: () => import("./i18n/id").then((m) => m.content),
26
+ ja: () => import("./i18n/ja").then((m) => m.content),
27
+ zh: () => import("./i18n/zh").then((m) => m.content),
28
+ ko: () => import("./i18n/ko").then((m) => m.content),
29
+ },
30
+ };
@@ -1,39 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from "../../types";
2
- import PizzaComponent from "./component.astro";
3
- import PizzaSEO from "./seo.astro";
4
- import PizzaBibliography from "./bibliography.astro";
5
-
6
- export const pizza: CookingToolEntry = {
7
- id: "pizza",
8
- icons: {
9
- bg: "mdi:chef-hat",
10
- fg: "mdi:pizza",
11
- },
12
- appSlug: "pizzametrics",
13
- i18n: {
14
- es: () => import("./i18n/es").then((m) => m.content),
15
- en: () => import("./i18n/en").then((m) => m.content),
16
- fr: () => import("./i18n/fr").then((m) => m.content),
17
- de: () => import("./i18n/de").then((m) => m.content),
18
- it: () => import("./i18n/it").then((m) => m.content),
19
- pt: () => import("./i18n/pt").then((m) => m.content),
20
- nl: () => import("./i18n/nl").then((m) => m.content),
21
- sv: () => import("./i18n/sv").then((m) => m.content),
22
- ru: () => import("./i18n/ru").then((m) => m.content),
23
- tr: () => import("./i18n/tr").then((m) => m.content),
24
- pl: () => import("./i18n/pl").then((m) => m.content),
25
- id: () => import("./i18n/id").then((m) => m.content),
26
- ja: () => import("./i18n/ja").then((m) => m.content),
27
- zh: () => import("./i18n/zh").then((m) => m.content),
28
- ko: () => import("./i18n/ko").then((m) => m.content),
29
- },
30
- };
31
-
32
- export { PizzaComponent, PizzaSEO, PizzaBibliography };
33
-
1
+ import { pizza } from './entry';
2
+ export * from './entry';
34
3
  export const PIZZA_TOOL: ToolDefinition = {
35
4
  entry: pizza,
36
- Component: PizzaComponent,
37
- SEOComponent: PizzaSEO,
38
- BibliographyComponent: PizzaBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
39
8
  };
@@ -0,0 +1,26 @@
1
+ import type { CookingToolEntry } from '../../types';
2
+
3
+ export const rouxGuide: CookingToolEntry = {
4
+ id: 'roux-guide',
5
+ icons: {
6
+ bg: 'mdi:chef-hat',
7
+ fg: 'mdi:pot-mix',
8
+ },
9
+ i18n: {
10
+ es: () => import('./i18n/es').then((m) => m.content),
11
+ en: () => import('./i18n/en').then((m) => m.content),
12
+ fr: () => import('./i18n/fr').then((m) => m.content),
13
+ de: () => import('./i18n/de').then((m) => m.content),
14
+ it: () => import('./i18n/it').then((m) => m.content),
15
+ pt: () => import('./i18n/pt').then((m) => m.content),
16
+ nl: () => import('./i18n/nl').then((m) => m.content),
17
+ sv: () => import('./i18n/sv').then((m) => m.content),
18
+ ru: () => import('./i18n/ru').then((m) => m.content),
19
+ tr: () => import('./i18n/tr').then((m) => m.content),
20
+ pl: () => import('./i18n/pl').then((m) => m.content),
21
+ id: () => import('./i18n/id').then((m) => m.content),
22
+ ja: () => import('./i18n/ja').then((m) => m.content),
23
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
+ ko: () => import('./i18n/ko').then((m) => m.content),
25
+ },
26
+ };
@@ -1,36 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from '../../types';
2
- import RouxGuideComponent from './component.astro';
3
- import RouxGuideSEO from './seo.astro';
4
- import RouxGuideBibliography from './bibliography.astro';
5
-
6
- export const rouxGuide: CookingToolEntry = {
7
- id: 'roux-guide',
8
- icons: {
9
- bg: 'mdi:chef-hat',
10
- fg: 'mdi:pot-mix',
11
- },
12
- i18n: {
13
- es: () => import('./i18n/es').then((m) => m.content),
14
- en: () => import('./i18n/en').then((m) => m.content),
15
- fr: () => import('./i18n/fr').then((m) => m.content),
16
- de: () => import('./i18n/de').then((m) => m.content),
17
- it: () => import('./i18n/it').then((m) => m.content),
18
- pt: () => import('./i18n/pt').then((m) => m.content),
19
- nl: () => import('./i18n/nl').then((m) => m.content),
20
- sv: () => import('./i18n/sv').then((m) => m.content),
21
- ru: () => import('./i18n/ru').then((m) => m.content),
22
- tr: () => import('./i18n/tr').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- id: () => import('./i18n/id').then((m) => m.content),
25
- ja: () => import('./i18n/ja').then((m) => m.content),
26
- zh: () => import('./i18n/zh').then((m) => m.content),
27
- ko: () => import('./i18n/ko').then((m) => m.content),
28
- },
29
- };
30
-
1
+ import { rouxGuide } from './entry';
2
+ export * from './entry';
31
3
  export const ROUX_GUIDE_TOOL: ToolDefinition = {
32
4
  entry: rouxGuide,
33
- Component: RouxGuideComponent,
34
- SEOComponent: RouxGuideSEO,
35
- BibliographyComponent: RouxGuideBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
36
8
  };
@@ -0,0 +1,26 @@
1
+ import type { CookingToolEntry } from '../../types';
2
+
3
+ export const sourdoughCalculator: CookingToolEntry = {
4
+ id: 'sourdough-calculator',
5
+ icons: {
6
+ bg: 'mdi:bacteria',
7
+ fg: 'mdi:scale-balance',
8
+ },
9
+ i18n: {
10
+ es: () => import('./i18n/es').then((m) => m.content),
11
+ en: () => import('./i18n/en').then((m) => m.content),
12
+ fr: () => import('./i18n/fr').then((m) => m.content),
13
+ de: () => import('./i18n/de').then((m) => m.content),
14
+ it: () => import('./i18n/it').then((m) => m.content),
15
+ pt: () => import('./i18n/pt').then((m) => m.content),
16
+ nl: () => import('./i18n/nl').then((m) => m.content),
17
+ sv: () => import('./i18n/sv').then((m) => m.content),
18
+ ru: () => import('./i18n/ru').then((m) => m.content),
19
+ tr: () => import('./i18n/tr').then((m) => m.content),
20
+ pl: () => import('./i18n/pl').then((m) => m.content),
21
+ id: () => import('./i18n/id').then((m) => m.content),
22
+ ja: () => import('./i18n/ja').then((m) => m.content),
23
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
+ ko: () => import('./i18n/ko').then((m) => m.content),
25
+ },
26
+ };
@@ -1,36 +1,8 @@
1
- import type { CookingToolEntry, ToolDefinition } from '../../types';
2
- import SourdoughCalculatorComponent from './component.astro';
3
- import SourdoughCalculatorSEO from './seo.astro';
4
- import SourdoughCalculatorBibliography from './bibliography.astro';
5
-
6
- export const sourdoughCalculator: CookingToolEntry = {
7
- id: 'sourdough-calculator',
8
- icons: {
9
- bg: 'mdi:bacteria',
10
- fg: 'mdi:scale-balance',
11
- },
12
- i18n: {
13
- es: () => import('./i18n/es').then((m) => m.content),
14
- en: () => import('./i18n/en').then((m) => m.content),
15
- fr: () => import('./i18n/fr').then((m) => m.content),
16
- de: () => import('./i18n/de').then((m) => m.content),
17
- it: () => import('./i18n/it').then((m) => m.content),
18
- pt: () => import('./i18n/pt').then((m) => m.content),
19
- nl: () => import('./i18n/nl').then((m) => m.content),
20
- sv: () => import('./i18n/sv').then((m) => m.content),
21
- ru: () => import('./i18n/ru').then((m) => m.content),
22
- tr: () => import('./i18n/tr').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- id: () => import('./i18n/id').then((m) => m.content),
25
- ja: () => import('./i18n/ja').then((m) => m.content),
26
- zh: () => import('./i18n/zh').then((m) => m.content),
27
- ko: () => import('./i18n/ko').then((m) => m.content),
28
- },
29
- };
30
-
1
+ import { sourdoughCalculator } from './entry';
2
+ export * from './entry';
31
3
  export const SOURDOUGH_CALCULATOR_TOOL: ToolDefinition = {
32
4
  entry: sourdoughCalculator,
33
- Component: SourdoughCalculatorComponent,
34
- SEOComponent: SourdoughCalculatorSEO,
35
- BibliographyComponent: SourdoughCalculatorBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
36
8
  };
package/src/tools.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { ALL_ENTRIES } from './entries';
1
2
  import type { ToolDefinition } from './types';
2
3
  import { AMERICAN_KITCHEN_CONVERTER_TOOL } from './tool/american-kitchen-converter';
3
4
  import { MERENGUE_CALCULATOR_TOOL } from './tool/meringue-peak';
@@ -28,4 +29,3 @@ export const ALL_TOOLS: ToolDefinition[] = [
28
29
  ];
29
30
 
30
31
 
31
- export const ALL_ENTRIES = ALL_TOOLS.map(t => t.entry);