rimelight-components 2.0.79 → 2.0.81

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/dist/module.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rimelight-components",
3
- "version": "2.0.79",
3
+ "version": "2.0.81",
4
4
  "docs": "https://rimelight.com/tools/rimelight-components",
5
5
  "configKey": "rimelightComponents",
6
6
  "compatibility": {
package/dist/module.mjs CHANGED
@@ -4,7 +4,7 @@ import { readdirSync } from 'node:fs';
4
4
  import { basename } from 'node:path';
5
5
 
6
6
  const name = "rimelight-components";
7
- const version = "2.0.79";
7
+ const version = "2.0.81";
8
8
  const homepage = "https://rimelight.com/tools/rimelight-components";
9
9
 
10
10
  const defaultOptions = {
@@ -49,13 +49,14 @@ const defaultOptions = {
49
49
  }
50
50
  };
51
51
 
52
- function addBlockMapTemplates(blockNames) {
53
- const template = addTemplate({
52
+ function addBlockMapTemplates(blockNames, resolve) {
53
+ return addTemplate({
54
54
  filename: "rimelight-block-renderer-map.mjs",
55
55
  getContents: () => {
56
56
  let content = "export const BLOCK_RENDERER_COMPONENT_MAP = {\n";
57
57
  blockNames.forEach((name) => {
58
- content += ` '${name}': '${name}Renderer',
58
+ const path = resolve(`./runtime/components/blocks/renderer/${name}Renderer.vue`);
59
+ content += ` '${name}': () => import('${path}'),
59
60
  `;
60
61
  });
61
62
  content += "}\n";
@@ -63,26 +64,15 @@ function addBlockMapTemplates(blockNames) {
63
64
  },
64
65
  write: true
65
66
  });
66
- addTemplate({
67
- filename: "rimelight-block-renderer-map.d.ts",
68
- getContents: () => {
69
- let content = `// Generated by rimelight-components
70
- `;
71
- content += `export declare const BLOCK_RENDERER_COMPONENT_MAP: Record<string, string>
72
- `;
73
- return content;
74
- },
75
- write: true
76
- });
77
- return template;
78
67
  }
79
- function addEditorBlockMapTemplates(blockNames) {
80
- const template = addTemplate({
68
+ function addEditorBlockMapTemplates(blockNames, resolve) {
69
+ return addTemplate({
81
70
  filename: "rimelight-block-editor-map.mjs",
82
71
  getContents: () => {
83
72
  let content = "export const BLOCK_EDITOR_COMPONENT_MAP = {\n";
84
73
  blockNames.forEach((name) => {
85
- content += ` '${name}': '${name}Editor',
74
+ const path = resolve(`./runtime/components/blocks/editor/${name}Editor.vue`);
75
+ content += ` '${name}': () => import('${path}'),
86
76
  `;
87
77
  });
88
78
  content += "}\n";
@@ -90,18 +80,6 @@ function addEditorBlockMapTemplates(blockNames) {
90
80
  },
91
81
  write: true
92
82
  });
93
- addTemplate({
94
- filename: "rimelight-block-editor-map.d.ts",
95
- getContents: () => {
96
- let content = `// Generated by rimelight-components
97
- `;
98
- content += `export declare const BLOCK_EDITOR_COMPONENT_MAP: Record<string, string>
99
- `;
100
- return content;
101
- },
102
- write: true
103
- });
104
- return template;
105
83
  }
106
84
 
107
85
  const module$1 = defineNuxtModule().with({
@@ -179,7 +157,14 @@ const module$1 = defineNuxtModule().with({
179
157
  nuxt.options.appConfig.rimelightComponents || {},
180
158
  options
181
159
  );
182
- nuxt.options.alias["#rimelight-components"] = resolve("./runtime");
160
+ const runtimeDir = resolve("./runtime");
161
+ nuxt.options.alias["#rimelight-components"] = runtimeDir;
162
+ nuxt.options.alias["#rimelight-components/utils"] = resolve(runtimeDir, "utils/index");
163
+ nuxt.hook("nitro:config", (nitroConfig) => {
164
+ nitroConfig.alias = nitroConfig.alias || {};
165
+ nitroConfig.alias["#rimelight-components"] = runtimeDir;
166
+ nitroConfig.alias["#rimelight-components/utils"] = resolve(runtimeDir, "utils/index");
167
+ });
183
168
  addComponentsDir({
184
169
  path: resolve("./runtime/components/"),
185
170
  pathPrefix: false,
@@ -189,23 +174,15 @@ const module$1 = defineNuxtModule().with({
189
174
  });
190
175
  addImportsDir(resolve("./runtime/composables"));
191
176
  addImportsDir(resolve("./runtime/utils"));
192
- const blockRendererFiles = readdirSync(
193
- resolve("./runtime/components/blocks/renderer")
194
- ).filter((name2) => name2.endsWith(".vue"));
195
- const blockRendererNames = blockRendererFiles.map((file) => {
196
- const baseName = basename(file, ".vue");
197
- return baseName.replace(/Renderer$/, "");
198
- });
199
- const blockRendererTemplate = addBlockMapTemplates(blockRendererNames);
177
+ const rendererPath = resolve("./runtime/components/blocks/renderer");
178
+ const blockRendererFiles = readdirSync(rendererPath).filter((f) => f.endsWith(".vue"));
179
+ const blockRendererNames = blockRendererFiles.map((f) => basename(f, ".vue").replace(/Renderer$/, ""));
180
+ const blockRendererTemplate = addBlockMapTemplates(blockRendererNames, resolve);
200
181
  nuxt.options.alias["#rimelight-internal/block-renderer-map"] = blockRendererTemplate.dst;
201
- const blockEditorFiles = readdirSync(
202
- resolve("./runtime/components/blocks/editor")
203
- ).filter((name2) => name2.endsWith(".vue"));
204
- const blockEditorNames = blockEditorFiles.map((file) => {
205
- const baseName = basename(file, ".vue");
206
- return baseName.replace(/Editor$/, "");
207
- });
208
- const blockEditorTemplate = addEditorBlockMapTemplates(blockEditorNames);
182
+ const editorPath = resolve("./runtime/components/blocks/editor");
183
+ const blockEditorFiles = readdirSync(editorPath).filter((f) => f.endsWith(".vue"));
184
+ const blockEditorNames = blockEditorFiles.map((f) => basename(f, ".vue").replace(/Editor$/, ""));
185
+ const blockEditorTemplate = addEditorBlockMapTemplates(blockEditorNames, resolve);
209
186
  nuxt.options.alias["#rimelight-internal/block-editor-map"] = blockEditorTemplate.dst;
210
187
  nuxt.hook("nitro:config", (nitroConfig) => {
211
188
  nitroConfig.alias = nitroConfig.alias || {};
@@ -1,28 +1,19 @@
1
- import { defineAsyncComponent, resolveComponent } from "vue";
1
+ import { defineAsyncComponent } from "vue";
2
2
  import { BLOCK_RENDERER_COMPONENT_MAP } from "#rimelight-internal/block-renderer-map";
3
3
  import { BLOCK_EDITOR_COMPONENT_MAP } from "#rimelight-internal/block-editor-map";
4
- const createLazyComponent = (componentName) => {
5
- return defineAsyncComponent(async () => {
6
- const component = resolveComponent(componentName);
7
- if (typeof component === "string") {
8
- throw new Error(`[BlockMapper] Could not resolve component: ${componentName}`);
9
- }
10
- return component;
11
- });
12
- };
13
4
  export const getBlockRendererComponent = (type) => {
14
- const componentName = BLOCK_RENDERER_COMPONENT_MAP[type];
15
- if (!componentName) {
5
+ const loader = BLOCK_RENDERER_COMPONENT_MAP[type];
6
+ if (!loader) {
16
7
  console.warn(`[BlockMapper] No renderer found for type: ${type}`);
17
8
  return void 0;
18
9
  }
19
- return createLazyComponent(componentName);
10
+ return defineAsyncComponent(loader);
20
11
  };
21
12
  export const getBlockEditorComponent = (type) => {
22
- const componentName = BLOCK_EDITOR_COMPONENT_MAP[type];
23
- if (!componentName) {
13
+ const loader = BLOCK_EDITOR_COMPONENT_MAP[type];
14
+ if (!loader) {
24
15
  console.warn(`[EditorBlockMapper] No editor found for type: ${type}`);
25
16
  return void 0;
26
17
  }
27
- return createLazyComponent(componentName);
18
+ return defineAsyncComponent(loader);
28
19
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rimelight-components",
3
3
  "description": "A component library by Rimelight Entertainment.",
4
- "version": "2.0.79",
4
+ "version": "2.0.81",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",