rimelight-components 2.0.72 → 2.0.74

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.72",
3
+ "version": "2.0.74",
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.72";
7
+ const version = "2.0.74";
8
8
  const homepage = "https://rimelight.com/tools/rimelight-components";
9
9
 
10
10
  const defaultOptions = {
@@ -56,7 +56,7 @@ function addBlockMapTemplates(blockNames) {
56
56
  let content = "export const BLOCK_RENDERER_COMPONENT_MAP = {\n";
57
57
  blockNames.forEach((name) => {
58
58
  const fullComponentName = `${name}Renderer`;
59
- const componentPath = `rimelight-components/components/blocks/renderer/${fullComponentName}.vue`;
59
+ const componentPath = `rimelight-components/runtime/components/blocks/renderer/${fullComponentName}.vue`;
60
60
  content += ` '${name}': () => import('${componentPath}'),
61
61
  `;
62
62
  });
@@ -68,32 +68,22 @@ function addBlockMapTemplates(blockNames) {
68
68
  addTemplate({
69
69
  filename: "rimelight-block-renderer-map.d.ts",
70
70
  getContents: () => {
71
- const componentImporterType = '() => Promise<{ default: import("vue").Component }>';
72
- let content = `// Generated by rimelight-components Nuxt Module
73
- `;
74
- content += `import { Component } from 'vue'
75
- `;
76
- content += `export declare const BLOCK_RENDERER_COMPONENT_MAP: { [key: string]: ${componentImporterType} | undefined }
77
- `;
78
- blockNames.forEach((name) => {
79
- content += `export declare const ${name}: ${componentImporterType}
80
- `;
81
- });
82
- return content;
71
+ const importerType = '() => Promise<{ default: import("vue").Component }>';
72
+ return `import { Component } from 'vue'
73
+ export declare const BLOCK_RENDERER_COMPONENT_MAP: Record<string, ${importerType}>`;
83
74
  },
84
75
  write: true
85
76
  });
86
77
  return template;
87
78
  }
88
79
  function addEditorBlockMapTemplates(blockNames) {
89
- const componentImporterType = '() => Promise<{ default: import("vue").Component }>';
90
80
  const template = addTemplate({
91
81
  filename: "rimelight-block-editor-map.mjs",
92
82
  getContents: () => {
93
83
  let content = "export const BLOCK_EDITOR_COMPONENT_MAP = {\n";
94
84
  blockNames.forEach((name) => {
95
85
  const fullComponentName = `${name}Editor`;
96
- const componentPath = `rimelight-components/components/blocks/editor/${fullComponentName}.vue`;
86
+ const componentPath = `rimelight-components/runtime/components/blocks/editor/${fullComponentName}.vue`;
97
87
  content += ` '${name}': () => import('${componentPath}'),
98
88
  `;
99
89
  });
@@ -105,17 +95,9 @@ function addEditorBlockMapTemplates(blockNames) {
105
95
  addTemplate({
106
96
  filename: "rimelight-block-editor-map.d.ts",
107
97
  getContents: () => {
108
- let content = `// Generated by rimelight-components Nuxt Module
109
- `;
110
- content += `import { Component } from 'vue'
111
- `;
112
- content += `export declare const BLOCK_EDITOR_COMPONENT_MAP: { [key: string]: ${componentImporterType} | undefined }
113
- `;
114
- blockNames.forEach((name) => {
115
- content += `export declare const ${name}: ${componentImporterType}
116
- `;
117
- });
118
- return content;
98
+ const importerType = '() => Promise<{ default: import("vue").Component }>';
99
+ return `import { Component } from 'vue'
100
+ export declare const BLOCK_EDITOR_COMPONENT_MAP: Record<string, ${importerType}>`;
119
101
  },
120
102
  write: true
121
103
  });
@@ -193,47 +175,40 @@ const module$1 = defineNuxtModule().with({
193
175
  },
194
176
  setup(options, nuxt) {
195
177
  const { resolve } = createResolver(import.meta.url);
178
+ const runtimePath = resolve("./runtime");
196
179
  nuxt.options.appConfig.rimelightComponents = defu(
197
180
  nuxt.options.appConfig.rimelightComponents || {},
198
181
  options
199
182
  );
200
- nuxt.options.build.transpile.push(resolve("./runtime"));
201
- nuxt.options.alias["#rimelight-components"] = resolve("./runtime");
183
+ nuxt.options.build.transpile.push(runtimePath);
184
+ nuxt.options.build.transpile.push("rimelight-components");
185
+ nuxt.options.alias["#rimelight-components"] = runtimePath;
202
186
  addComponentsDir({
203
187
  path: resolve("./runtime/components/"),
204
188
  pathPrefix: false,
205
- //TODO Figure out if this can be typed better
206
189
  prefix: options.prefix ?? void 0,
207
190
  global: true
208
191
  });
209
192
  addImportsDir(resolve("./runtime/composables"));
210
193
  addImportsDir(resolve("./runtime/utils"));
211
- const blockRendererFiles = readdirSync(
212
- resolve("./runtime/components/blocks/renderer")
213
- ).filter((name2) => name2.endsWith(".vue"));
214
- const blockRendererNames = blockRendererFiles.map((file) => {
215
- const baseName = basename(file, ".vue");
216
- return baseName.replace(/Renderer$/, "");
217
- });
218
- const blockRendererTemplate = addBlockMapTemplates(blockRendererNames);
219
- nuxt.options.alias["#rimelight-block-renderer-map"] = blockRendererTemplate.dst;
220
- const blockEditorFiles = readdirSync(
221
- resolve("./runtime/components/blocks/editor")
222
- ).filter((name2) => name2.endsWith(".vue"));
223
- const blockEditorNames = blockEditorFiles.map((file) => {
224
- const baseName = basename(file, ".vue");
225
- return baseName.replace(/Editor$/, "");
226
- });
227
- const blockEditorTemplate = addEditorBlockMapTemplates(blockEditorNames);
228
- nuxt.options.alias["#rimelight-block-editor-map"] = blockEditorTemplate.dst;
194
+ const getBlockNames = (dir, suffix) => readdirSync(resolve(dir)).filter((f) => f.endsWith(".vue")).map((f) => basename(f, ".vue").replace(new RegExp(`${suffix}$`), ""));
195
+ const rendererNames = getBlockNames("./runtime/components/blocks/renderer", "Renderer");
196
+ const editorNames = getBlockNames("./runtime/components/blocks/editor", "Editor");
197
+ const blockRendererTemplate = addBlockMapTemplates(rendererNames);
198
+ const blockEditorTemplate = addEditorBlockMapTemplates(editorNames);
199
+ const rendererAlias = "#rimelight-block-renderer-map";
200
+ const editorAlias = "#rimelight-block-editor-map";
201
+ nuxt.options.build.transpile.push(resolve("./runtime"));
202
+ nuxt.options.build.transpile.push("rimelight-components");
229
203
  nuxt.hook("nitro:config", (nitroConfig) => {
204
+ nitroConfig.externals = nitroConfig.externals || {};
205
+ nitroConfig.externals.external = nitroConfig.externals.external || [];
206
+ nitroConfig.externals.external.push(resolve("./runtime"));
207
+ nitroConfig.externals.external.push("rimelight-components");
230
208
  nitroConfig.alias = nitroConfig.alias || {};
231
- nitroConfig.alias["#rimelight-block-renderer-map"] = blockRendererTemplate.dst;
232
- nitroConfig.alias["#rimelight-block-editor-map"] = blockEditorTemplate.dst;
233
- });
234
- nuxt.hook("prepare:types", ({ references }) => {
235
- references.push({ path: blockRendererTemplate.dst });
236
- references.push({ path: blockEditorTemplate.dst });
209
+ nitroConfig.alias[rendererAlias] = blockRendererTemplate.dst;
210
+ nitroConfig.virtual = nitroConfig.virtual || {};
211
+ nitroConfig.virtual[editorAlias] = blockEditorTemplate.dst;
237
212
  });
238
213
  }
239
214
  });
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.72",
4
+ "version": "2.0.74",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",