@ui-doc/rollup 0.2.1 → 0.3.1

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/README.md CHANGED
@@ -43,6 +43,12 @@ export default [
43
43
  },
44
44
  },
45
45
  source: ['css/**/*.css'],
46
+ assets: {
47
+ example: {
48
+ name: 'app',
49
+ input: true,
50
+ },
51
+ },
46
52
  }),
47
53
  ],
48
54
  },
@@ -54,24 +60,38 @@ export default [
54
60
  | Name | Required | Type | Description |
55
61
  | --- | --- | --- | --- |
56
62
  | blockParser | no | BlockParser | Give a custom BlockParser instance to change the block parsing. |
57
- | highlightScript | no | false / string | With false prevent including highlight.js. With string change name of included script. |
58
- | highlightStyle | no | false / string | With false prevent including highlight.js style. With string change name of included style. |
59
- | highlightTheme | no | string | Change highlight.js style theme (default is `default`). |
60
- | renderer | no | Renderer | Instance of renderer. Per default a instance of `@ui-doc/html-renderer` will be created. |
61
- | settings | no | object | UI-Doc specific settings (generate and text). |
63
+ | renderer | no | Renderer | Instance of renderer. Per default a instance of [@ui-doc/html-renderer](../html-renderer/README.md) will be created. |
62
64
  | source | yes | string[] | List of glob patterns to find source files. Please see [picomatch](https://github.com/micromatch/picomatch) how to define patterns. |
63
- | styleAsset | no | false / string | With false prevent including the UI-Doc style. With string change the included style name. |
64
65
  | outputDir | no | string | Change output directory to create the UI-Doc in a subfolder of your application. |
65
- | templatePath | no | string | When using the default renderer you can change the path were to find the templates for generating. |
66
- | staticAssets | no | string | Give a static assets folder (path relativ to your working directory), files and sub folders will be copied to the ui-doc output folder |
67
- | outputBaseUri | no | string | Change the base uri if not provided and the `outputDir` is given the `outputDir` will be used as base uri. You can give `.` so relative urls will be used. |
68
- | customStyle | no | string | Register custom ui-doc style where you can add or manipulate ui-doc styles. The file will be pulled out of the current build process. |
66
+ | templatePath | no | string | When using the default renderer you can override default templates from the renderer or add custom templates for generation. |
67
+ | output | no | object | Change output settings |
68
+ | output.dir | no | string | path where you wan't to put the ui-doc. Will be relativ to rollup's output dir |
69
+ | output.baseUri | no | string | Change the base URI of you UI-Kit useful if you wan't to place the UI-Doc somewhere else then the output folder. If `output.dir` is given and no `output.baseUri` the dir will be used. You can give '.' so all URLs will be relative. |
70
+ | settings | no | object | UI-Doc specific settings. |
71
+ | settings.generate | no | object | UI-Doc core generate setting |
72
+ | settings.texts | no | object | UI-Doc core texts setting |
73
+ | assets | no | object | Change asset usage |
74
+ | assets.static | no | string | ive a static assets folder (path relativ to your working directory), files and sub folders will be copied to the UI-Doc output dir. |
75
+ | assets.styleAsset | no | false / string | With false prevent including the UI-Doc style. With string change the included style name. |
76
+ | assets.highlightStyle | no | false / string | With false prevent including highlight.js style. With string change name of included style. |
77
+ | assets.highlightTheme | no | string | Change highlight.js style theme (default is `default`). Please look into the [highlight.js repository](https://github.com/highlightjs/highlight.js/tree/main/src/styles) to see available themes. |
78
+ | assets.highlightScript | no | false / string | With false prevent including highlight.js. With string change name of included script. |
79
+ | assets.page | no | AssetOption[] | Include custom scripts and styles for UI-Doc pages |
80
+ | assets.example | no | AssetOption[] | Include custom scripts and styles for UI-Doc examples |
69
81
 
70
- # Upcoming Features
82
+ ```ts
83
+ export interface AssetOption {
84
+ name: string | (() => string) // name or relative file name of the asset
85
+ fromInput?: boolean | ((asset: AssetResolved) => boolean) // try to get asset information from rollup's input option. Eg. if you configure the input as object you can give the asset key as name and UI-Doc will try to resolve the asset file for you
86
+ file?: string | (() => string) // load asset from file
87
+ dependency?: string | (() => string) // load the asset from dependency
88
+ source?: string | Uint8Array | (() => string) // give the asset source directly
89
+ attrs?: Record<string, string> // give asset html attributes that should be rendered into the output
90
+ }
91
+ ```
71
92
 
72
- [] Better way of registering/changing style/script assets [] Register additional custom assets from previews build steps or npm dependencies
93
+ # Upcoming Features
73
94
 
74
95
  # Known Issues
75
96
 
76
- - `customStyle` setting is not always able to detect the style.
77
- - When using `customStyle` and `outputDir` setting the plugin is not able to change the output for the used style. Instead the custom style will be generated and then copied into the ui-doc outputDir.
97
+ - When creating assets over rollup input exclusive for UI-Doc the asset will be generated first to roleup's output directory and then be copied to the UI-Doc output.
package/dist/index.cjs CHANGED
@@ -2,89 +2,144 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var path = require('node:path');
5
6
  var core = require('@ui-doc/core');
6
7
  var node = require('@ui-doc/node');
7
8
 
8
- var version = "0.2.0";
9
+ var version = "0.3.1";
9
10
 
10
- const PLUGIN_NAME = 'ui-doc';
11
11
  const ASSETS = [
12
12
  {
13
- name: options => { var _a; return (_a = options.styleAsset) !== null && _a !== void 0 ? _a : 'ui-doc.css'; },
14
- source: () => '@ui-doc/html-renderer/ui-doc.min.css',
13
+ name: options => { var _a, _b; return (_b = (_a = options.assets) === null || _a === void 0 ? void 0 : _a.styleAsset) !== null && _b !== void 0 ? _b : 'ui-doc.css'; },
14
+ dependency: () => '@ui-doc/html-renderer/ui-doc.min.css',
15
15
  },
16
16
  {
17
17
  name: () => 'ui-doc.js',
18
- source: () => '@ui-doc/html-renderer/ui-doc.min.js',
18
+ dependency: () => '@ui-doc/html-renderer/ui-doc.min.js',
19
19
  },
20
20
  {
21
- name: options => { var _a; return (_a = options.highlightStyle) !== null && _a !== void 0 ? _a : 'highlight.css'; },
22
- source: options => { var _a; return `@highlightjs/cdn-assets/styles/${(_a = options.highlightTheme) !== null && _a !== void 0 ? _a : 'default'}.min.css`; },
21
+ name: options => { var _a, _b; return (_b = (_a = options.assets) === null || _a === void 0 ? void 0 : _a.highlightStyle) !== null && _b !== void 0 ? _b : 'highlight.css'; },
22
+ dependency: options => { var _a, _b; return `@highlightjs/cdn-assets/styles/${(_b = (_a = options.assets) === null || _a === void 0 ? void 0 : _a.highlightTheme) !== null && _b !== void 0 ? _b : 'default'}.min.css`; },
23
23
  },
24
24
  {
25
- name: options => { var _a; return (_a = options.highlightScript) !== null && _a !== void 0 ? _a : 'highlight.js'; },
26
- source: () => '@highlightjs/cdn-assets/highlight.min.js',
25
+ name: options => { var _a, _b; return (_b = (_a = options.assets) === null || _a === void 0 ? void 0 : _a.highlightScript) !== null && _b !== void 0 ? _b : 'highlight.js'; },
26
+ dependency: () => '@highlightjs/cdn-assets/highlight.min.js',
27
27
  },
28
28
  ];
29
+ function resolveAssetType(fileName) {
30
+ if (fileName.match(/\.(css|less|sass|scss)$/)) {
31
+ return 'style';
32
+ }
33
+ if (fileName.match(/\.(js|ts)$/)) {
34
+ return 'script';
35
+ }
36
+ return null;
37
+ }
38
+ async function resolveAssets(options, fileSystem) {
39
+ var _a, _b, _c, _d;
40
+ const assetLoader = fileSystem.assetLoader();
41
+ const resolveAssetOption = async (assetOption, context) => {
42
+ const name = typeof assetOption.name === 'function' ? assetOption.name() : assetOption.name;
43
+ const type = resolveAssetType(name);
44
+ const asset = {
45
+ name,
46
+ fileName: name,
47
+ type: type !== null && type !== void 0 ? type : undefined,
48
+ context,
49
+ attrs: assetOption.attrs,
50
+ };
51
+ if (assetOption.dependency) {
52
+ asset.originalFileName = await assetLoader.resolve(typeof assetOption.dependency === 'function'
53
+ ? assetOption.dependency()
54
+ : assetOption.dependency);
55
+ }
56
+ else if (assetOption.file) {
57
+ asset.originalFileName = fileSystem.resolve(typeof assetOption.file === 'function' ? assetOption.file() : assetOption.file);
58
+ }
59
+ if (assetOption.fromInput &&
60
+ (typeof assetOption.fromInput === 'function'
61
+ ? assetOption.fromInput(asset)
62
+ : assetOption.fromInput)) {
63
+ asset.fromInput = true;
64
+ }
65
+ else if (assetOption.source) {
66
+ asset.source =
67
+ typeof assetOption.source === 'function' ? assetOption.source() : assetOption.source;
68
+ }
69
+ else if (asset.originalFileName) {
70
+ asset.source = await fileSystem.fileRead(asset.originalFileName);
71
+ }
72
+ return asset;
73
+ };
74
+ return (await Promise.all([
75
+ ...ASSETS.map(async ({ name, dependency }) => {
76
+ const assetName = name(options);
77
+ const dependencyName = dependency(options);
78
+ if (dependencyName === false || assetName === false) {
79
+ return null;
80
+ }
81
+ const type = resolveAssetType(assetName);
82
+ const resolvedFile = await assetLoader.resolve(dependencyName);
83
+ if (!type || !resolvedFile) {
84
+ return null;
85
+ }
86
+ return {
87
+ name: assetName,
88
+ type,
89
+ fileName: assetName,
90
+ context: 'page',
91
+ originalFileName: resolvedFile,
92
+ source: await assetLoader.read(resolvedFile),
93
+ };
94
+ }),
95
+ ...((_b = (_a = options.assets) === null || _a === void 0 ? void 0 : _a.page) !== null && _b !== void 0 ? _b : []).map(asset => resolveAssetOption(asset, 'page')),
96
+ ...((_d = (_c = options.assets) === null || _c === void 0 ? void 0 : _c.example) !== null && _d !== void 0 ? _d : []).map(asset => resolveAssetOption(asset, 'example')),
97
+ ])).filter(asset => !!asset && (!!(asset === null || asset === void 0 ? void 0 : asset.source) || !!(asset === null || asset === void 0 ? void 0 : asset.fromInput)));
98
+ }
99
+
29
100
  async function createDefaultRenderer(templatePath, fileSystem) {
30
101
  const rendererImport = await import('@ui-doc/html-renderer');
31
102
  const renderer = new rendererImport.HtmlRenderer(rendererImport.NodeParser.init());
32
- await rendererImport.TemplateLoader.load({
33
- fileSystem,
34
- renderer,
35
- templateBasePath: templatePath,
36
- });
103
+ const packageTemplatePath = await fileSystem
104
+ .assetLoader()
105
+ .packagePath(rendererImport.TemplateLoader.TEMPLATES_PACKAGE);
106
+ if (packageTemplatePath) {
107
+ await rendererImport.TemplateLoader.load({
108
+ fileSystem,
109
+ renderer,
110
+ templatePath: packageTemplatePath,
111
+ });
112
+ }
113
+ if (templatePath) {
114
+ await rendererImport.TemplateLoader.load({
115
+ fileSystem,
116
+ renderer,
117
+ templatePath,
118
+ });
119
+ }
37
120
  return renderer;
38
121
  }
39
122
  function createOutputPrefix(options) {
40
- var _a, _b, _c, _d, _e, _f;
123
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
41
124
  const prefix = { path: '', uri: '' };
42
- const path = options.outputDir;
125
+ const path = (_a = options === null || options === void 0 ? void 0 : options.output) === null || _a === void 0 ? void 0 : _a.dir;
43
126
  if (!path) {
44
127
  return prefix;
45
128
  }
46
129
  prefix.path = path.endsWith('/') ? path : `${path}/`;
47
- if (options.outputBaseUri === '.') {
130
+ if (((_b = options === null || options === void 0 ? void 0 : options.output) === null || _b === void 0 ? void 0 : _b.baseUri) === '.') {
48
131
  return prefix;
49
132
  }
50
- prefix.uri = (_a = options.outputBaseUri) !== null && _a !== void 0 ? _a : prefix.path;
133
+ prefix.uri = (_d = (_c = options === null || options === void 0 ? void 0 : options.output) === null || _c === void 0 ? void 0 : _c.baseUri) !== null && _d !== void 0 ? _d : prefix.path;
51
134
  prefix.uri = prefix.uri.endsWith('/') ? prefix.uri : `${prefix.uri}/`;
52
- const prevResolveUrl = (_d = (_c = (_b = options.settings) === null || _b === void 0 ? void 0 : _b.generate) === null || _c === void 0 ? void 0 : _c.resolveUrl) !== null && _d !== void 0 ? _d : (uri => uri);
53
- options.settings = (_e = options.settings) !== null && _e !== void 0 ? _e : {};
54
- options.settings.generate = (_f = options.settings.generate) !== null && _f !== void 0 ? _f : {};
55
- options.settings.generate.resolveUrl = (uri, type) => prevResolveUrl(`/${prefix.uri}${uri}`, type);
135
+ const prevResolve = (_g = (_f = (_e = options.settings) === null || _e === void 0 ? void 0 : _e.generate) === null || _f === void 0 ? void 0 : _f.resolve) !== null && _g !== void 0 ? _g : (uri => uri);
136
+ options.settings = (_h = options.settings) !== null && _h !== void 0 ? _h : {};
137
+ options.settings.generate = (_j = options.settings.generate) !== null && _j !== void 0 ? _j : {};
138
+ options.settings.generate.resolve = (uri, type) => prevResolve(`/${prefix.uri}${uri}`, type);
56
139
  return prefix;
57
140
  }
58
- function uidocAssetType(fileName) {
59
- if (fileName.match(/\.(css|less|sass|scss)$/)) {
60
- return 'style';
61
- }
62
- if (fileName.match(/\.(js|ts)$/)) {
63
- return 'script';
64
- }
65
- return null;
66
- }
67
- async function resolveAssets(options, assetLoader) {
68
- return (await Promise.all(ASSETS.map(async ({ name, source }) => {
69
- const fileName = name(options);
70
- const sourceName = source(options);
71
- if (sourceName === false || fileName === false) {
72
- return null;
73
- }
74
- const sourceFile = await assetLoader.resolve(sourceName);
75
- if (!sourceFile) {
76
- return null;
77
- }
78
- return {
79
- code: await assetLoader.read(sourceFile),
80
- name: `${fileName}`,
81
- sourceFile,
82
- sourceName,
83
- };
84
- }))).filter(asset => asset !== null);
85
- }
86
141
  async function resolveOptions(options) {
87
- var _a, _b;
142
+ var _a, _b, _c;
88
143
  const prefix = createOutputPrefix(options);
89
144
  const fileSystem = node.NodeFileSystem.init();
90
145
  const finder = fileSystem.createFileFinder(options.source);
@@ -93,34 +148,44 @@ async function resolveOptions(options) {
93
148
  renderer: (_a = options.renderer) !== null && _a !== void 0 ? _a : (await createDefaultRenderer(options.templatePath, fileSystem)),
94
149
  ...((_b = options.settings) !== null && _b !== void 0 ? _b : {}),
95
150
  });
96
- const assetsForCopy = [];
97
- const uidocAsset = (src, as, copy = false) => {
98
- const type = uidocAssetType(src);
151
+ const assetsFromInput = [];
152
+ const isAssetFromInput = src => assetsFromInput.includes(src);
153
+ const addAssetFromInput = src => {
154
+ if (!assetsFromInput.includes(src)) {
155
+ assetsFromInput.push(src);
156
+ }
157
+ };
158
+ const uidocAsset = (src, context, { fromInput = false, type: assetType, attrs } = {}) => {
159
+ const type = assetType !== null && assetType !== void 0 ? assetType : resolveAssetType(src);
99
160
  if (!type) {
100
161
  return;
101
162
  }
102
- if (copy && !assetsForCopy.includes(src)) {
103
- assetsForCopy.push(src);
163
+ if (fromInput && !assetsFromInput.includes(src)) {
164
+ assetsFromInput.push(src);
104
165
  }
105
- const method = as === 'example' ? 'addExampleAsset' : 'addAsset';
166
+ const method = context === 'example' ? 'addExampleAsset' : 'addAsset';
106
167
  uidoc[method]({
107
168
  src,
108
169
  type,
170
+ attrs,
109
171
  });
110
172
  };
111
173
  return {
112
- assets: await resolveAssets(options, fileSystem.assetLoader()),
113
- assetsForCopy,
114
- customStyle: options.customStyle,
174
+ assets: await resolveAssets(options, fileSystem),
175
+ assetsFromInput,
115
176
  fileSystem,
116
177
  finder,
117
178
  prefix,
118
179
  source: options.source,
119
- staticAssets: options.staticAssets,
180
+ staticAssets: (_c = options.assets) === null || _c === void 0 ? void 0 : _c.static,
120
181
  uidoc,
121
182
  uidocAsset,
183
+ isAssetFromInput,
184
+ addAssetFromInput,
122
185
  };
123
186
  }
187
+
188
+ const PLUGIN_NAME = 'ui-doc';
124
189
  function handleBlockParseError(error) {
125
190
  if (!(error instanceof core.BlockParseError)) {
126
191
  throw error;
@@ -134,21 +199,19 @@ function handleBlockParseError(error) {
134
199
  }
135
200
  async function uidocPlugin(rawOptions) {
136
201
  const options = await resolveOptions(rawOptions);
137
- const { finder, fileSystem, uidoc, prefix, assetsForCopy, uidocAsset, staticAssets, customStyle, } = options;
202
+ const { finder, fileSystem, uidoc, prefix, assetsFromInput, isAssetFromInput, addAssetFromInput, uidocAsset, staticAssets, } = options;
138
203
  return {
139
204
  name: PLUGIN_NAME,
140
205
  version,
141
206
  // eslint-disable-next-line sort-keys
142
207
  api: {
208
+ version,
143
209
  get fileFinder() {
144
210
  return finder;
145
211
  },
146
212
  get fileSystem() {
147
213
  return fileSystem;
148
214
  },
149
- isCopiedAsset(src) {
150
- return assetsForCopy.includes(src);
151
- },
152
215
  get options() {
153
216
  return options;
154
217
  },
@@ -156,12 +219,21 @@ async function uidocPlugin(rawOptions) {
156
219
  return uidoc;
157
220
  },
158
221
  uidocAsset,
159
- version,
222
+ isAssetFromInput,
223
+ addAssetFromInput,
160
224
  },
161
- async buildStart() {
225
+ async buildStart(inputOptions) {
162
226
  const watchedFiles = this.getWatchFiles();
163
- options.assets.forEach(({ name }) => {
164
- uidocAsset(name, 'page');
227
+ options.assets.forEach(({ name, fromInput = false }, index) => {
228
+ var _a;
229
+ // if input is true, try to use inputOptions.input[name] as fileName
230
+ if (fromInput && !Array.isArray(inputOptions.input) && inputOptions.input[name]) {
231
+ options.assets[index].fileName = inputOptions.input[name]
232
+ .replace(path.resolve('.'), '')
233
+ .replace(/^\//g, '');
234
+ options.assets[index].originalFileName = inputOptions.input[name];
235
+ options.assets[index].type = (_a = resolveAssetType(inputOptions.input[name])) !== null && _a !== void 0 ? _a : undefined;
236
+ }
165
237
  });
166
238
  // TODO detect template updates when templates in workspace
167
239
  await finder.search(async (file) => {
@@ -178,22 +250,21 @@ async function uidocPlugin(rawOptions) {
178
250
  }
179
251
  });
180
252
  },
181
- async generateBundle(_outputOptions, bundle) {
182
- // find assets in bundle and register them to UI-Doc
183
- Object.keys(bundle).forEach(fileName => {
184
- if (bundle[fileName].type === 'asset') {
185
- uidocAsset(fileName,
186
- // if asset matches custom style include it as page asset
187
- fileName === customStyle || bundle[fileName].name === customStyle ? 'page' : 'example', true);
253
+ async generateBundle() {
254
+ options.assets.forEach(({ name, fileName, source, originalFileName, context, attrs, type, fromInput = false }) => {
255
+ if (source) {
256
+ this.emitFile({
257
+ name,
258
+ fileName: `${prefix.path}${fileName}`,
259
+ source,
260
+ type: 'asset',
261
+ });
262
+ this.info({
263
+ code: 'OUTPUT',
264
+ message: `${fileName} from ${originalFileName}`,
265
+ });
188
266
  }
189
- });
190
- options.assets.forEach(({ code, name, sourceName }) => {
191
- this.emitFile({
192
- fileName: `${prefix.path}${name}`,
193
- source: code,
194
- type: 'asset',
195
- });
196
- this.info({ code: 'OUTPUT', message: `${name} from ${sourceName}` });
267
+ uidocAsset(fileName, context, { attrs, fromInput, type });
197
268
  });
198
269
  await uidoc.output((file, content) => {
199
270
  const fileName = `${prefix.path}${file}`;
@@ -210,7 +281,7 @@ async function uidocPlugin(rawOptions) {
210
281
  // if ui-doc is created into subfolder we need to copy assets referenced in examples and are generated through other plugins
211
282
  if (prefix.path) {
212
283
  // TODO may copy map file if exists
213
- promises.push(...assetsForCopy.map(async (asset) => {
284
+ promises.push(...assetsFromInput.map(async (asset) => {
214
285
  const destFile = `${outputOptions.dir}/${prefix.path}${asset}`;
215
286
  const destDir = fileSystem.fileDirname(destFile);
216
287
  await fileSystem.ensureDirectoryExists(destDir);
@@ -221,7 +292,7 @@ async function uidocPlugin(rawOptions) {
221
292
  promises.push(fileSystem.directoryCopy(staticAssets, `${outputOptions.dir}/${prefix.path}`));
222
293
  this.info({
223
294
  code: 'OUTPUT',
224
- message: `assets: ${staticAssets} > ${outputOptions.dir}${prefix.path}`,
295
+ message: `copying assets from ${staticAssets}`,
225
296
  });
226
297
  }
227
298
  await Promise.all(promises);
@@ -238,7 +309,7 @@ async function uidocPlugin(rawOptions) {
238
309
  }
239
310
  return;
240
311
  }
241
- if (change.event === 'create' && finder.matches(id)) {
312
+ if ((change.event === 'create' || change.event === 'update') && finder.matches(id)) {
242
313
  uidoc.sourceCreate(id, await fileSystem.fileRead(id));
243
314
  }
244
315
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":[null],"names":["NodeFileSystem","UIDoc","BlockParseError"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/utils/asset.ts","../src/utils/option.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":["NodeFileSystem","UIDoc","BlockParseError"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,49 +1,21 @@
1
- import type { BlockParser, FileFinder, FileSystem, Options as UIDocOptions, Renderer } from '@ui-doc/core';
1
+ import type { AssetType, FileFinder, FileSystem } from '@ui-doc/core';
2
2
  import { UIDoc } from '@ui-doc/core';
3
3
  import type { Plugin } from 'rollup';
4
+ import type { Options, ResolvedOptions } from './utils/option.types';
4
5
  export declare const PLUGIN_NAME = "ui-doc";
5
- export interface Options {
6
- renderer?: Renderer;
7
- blockParser?: BlockParser;
8
- source: string[];
9
- templatePath?: string;
10
- customStyle?: string;
11
- styleAsset?: false | string;
12
- highlightStyle?: false | string;
13
- highlightTheme?: string;
14
- highlightScript?: false | string;
15
- outputBaseUri?: string;
16
- outputDir?: string;
17
- settings?: Pick<UIDocOptions, 'generate' | 'texts'>;
18
- staticAssets?: string;
19
- }
20
- export interface ResolvedOptions {
21
- assets: {
22
- code: string;
23
- name: string;
24
- sourceFile: string;
25
- sourceName: string;
26
- }[];
27
- assetsForCopy: string[];
28
- customStyle?: string;
29
- staticAssets?: string;
30
- fileSystem: FileSystem;
31
- finder: FileFinder;
32
- prefix: {
33
- path: string;
34
- uri: string;
35
- };
36
- uidoc: UIDoc;
37
- source: string[];
38
- uidocAsset: Api['uidocAsset'];
39
- }
6
+ export { Options };
40
7
  export interface Api {
41
8
  version: string;
42
9
  get fileFinder(): FileFinder;
43
10
  get fileSystem(): FileSystem;
44
11
  get options(): ResolvedOptions;
45
12
  get uidoc(): UIDoc;
46
- uidocAsset(src: string, as: 'example' | 'page', copy?: boolean): void;
47
- isCopiedAsset(src: string): boolean;
13
+ uidocAsset(src: string, context: 'example' | 'page', options?: {
14
+ fromInput?: boolean;
15
+ type?: AssetType;
16
+ attrs?: Record<string, string>;
17
+ }): void;
18
+ isAssetFromInput(src: string): boolean;
19
+ addAssetFromInput(src: string): void;
48
20
  }
49
21
  export default function uidocPlugin(rawOptions: Options): Promise<Plugin<Api>>;
package/dist/index.mjs CHANGED
@@ -1,86 +1,141 @@
1
+ import path from 'node:path';
1
2
  import { UIDoc, BlockParseError } from '@ui-doc/core';
2
3
  import { NodeFileSystem } from '@ui-doc/node';
3
4
 
4
- var version = "0.2.0";
5
+ var version = "0.3.1";
5
6
 
6
- const PLUGIN_NAME = 'ui-doc';
7
7
  const ASSETS = [
8
8
  {
9
- name: options => { var _a; return (_a = options.styleAsset) !== null && _a !== void 0 ? _a : 'ui-doc.css'; },
10
- source: () => '@ui-doc/html-renderer/ui-doc.min.css',
9
+ name: options => { var _a, _b; return (_b = (_a = options.assets) === null || _a === void 0 ? void 0 : _a.styleAsset) !== null && _b !== void 0 ? _b : 'ui-doc.css'; },
10
+ dependency: () => '@ui-doc/html-renderer/ui-doc.min.css',
11
11
  },
12
12
  {
13
13
  name: () => 'ui-doc.js',
14
- source: () => '@ui-doc/html-renderer/ui-doc.min.js',
14
+ dependency: () => '@ui-doc/html-renderer/ui-doc.min.js',
15
15
  },
16
16
  {
17
- name: options => { var _a; return (_a = options.highlightStyle) !== null && _a !== void 0 ? _a : 'highlight.css'; },
18
- source: options => { var _a; return `@highlightjs/cdn-assets/styles/${(_a = options.highlightTheme) !== null && _a !== void 0 ? _a : 'default'}.min.css`; },
17
+ name: options => { var _a, _b; return (_b = (_a = options.assets) === null || _a === void 0 ? void 0 : _a.highlightStyle) !== null && _b !== void 0 ? _b : 'highlight.css'; },
18
+ dependency: options => { var _a, _b; return `@highlightjs/cdn-assets/styles/${(_b = (_a = options.assets) === null || _a === void 0 ? void 0 : _a.highlightTheme) !== null && _b !== void 0 ? _b : 'default'}.min.css`; },
19
19
  },
20
20
  {
21
- name: options => { var _a; return (_a = options.highlightScript) !== null && _a !== void 0 ? _a : 'highlight.js'; },
22
- source: () => '@highlightjs/cdn-assets/highlight.min.js',
21
+ name: options => { var _a, _b; return (_b = (_a = options.assets) === null || _a === void 0 ? void 0 : _a.highlightScript) !== null && _b !== void 0 ? _b : 'highlight.js'; },
22
+ dependency: () => '@highlightjs/cdn-assets/highlight.min.js',
23
23
  },
24
24
  ];
25
+ function resolveAssetType(fileName) {
26
+ if (fileName.match(/\.(css|less|sass|scss)$/)) {
27
+ return 'style';
28
+ }
29
+ if (fileName.match(/\.(js|ts)$/)) {
30
+ return 'script';
31
+ }
32
+ return null;
33
+ }
34
+ async function resolveAssets(options, fileSystem) {
35
+ var _a, _b, _c, _d;
36
+ const assetLoader = fileSystem.assetLoader();
37
+ const resolveAssetOption = async (assetOption, context) => {
38
+ const name = typeof assetOption.name === 'function' ? assetOption.name() : assetOption.name;
39
+ const type = resolveAssetType(name);
40
+ const asset = {
41
+ name,
42
+ fileName: name,
43
+ type: type !== null && type !== void 0 ? type : undefined,
44
+ context,
45
+ attrs: assetOption.attrs,
46
+ };
47
+ if (assetOption.dependency) {
48
+ asset.originalFileName = await assetLoader.resolve(typeof assetOption.dependency === 'function'
49
+ ? assetOption.dependency()
50
+ : assetOption.dependency);
51
+ }
52
+ else if (assetOption.file) {
53
+ asset.originalFileName = fileSystem.resolve(typeof assetOption.file === 'function' ? assetOption.file() : assetOption.file);
54
+ }
55
+ if (assetOption.fromInput &&
56
+ (typeof assetOption.fromInput === 'function'
57
+ ? assetOption.fromInput(asset)
58
+ : assetOption.fromInput)) {
59
+ asset.fromInput = true;
60
+ }
61
+ else if (assetOption.source) {
62
+ asset.source =
63
+ typeof assetOption.source === 'function' ? assetOption.source() : assetOption.source;
64
+ }
65
+ else if (asset.originalFileName) {
66
+ asset.source = await fileSystem.fileRead(asset.originalFileName);
67
+ }
68
+ return asset;
69
+ };
70
+ return (await Promise.all([
71
+ ...ASSETS.map(async ({ name, dependency }) => {
72
+ const assetName = name(options);
73
+ const dependencyName = dependency(options);
74
+ if (dependencyName === false || assetName === false) {
75
+ return null;
76
+ }
77
+ const type = resolveAssetType(assetName);
78
+ const resolvedFile = await assetLoader.resolve(dependencyName);
79
+ if (!type || !resolvedFile) {
80
+ return null;
81
+ }
82
+ return {
83
+ name: assetName,
84
+ type,
85
+ fileName: assetName,
86
+ context: 'page',
87
+ originalFileName: resolvedFile,
88
+ source: await assetLoader.read(resolvedFile),
89
+ };
90
+ }),
91
+ ...((_b = (_a = options.assets) === null || _a === void 0 ? void 0 : _a.page) !== null && _b !== void 0 ? _b : []).map(asset => resolveAssetOption(asset, 'page')),
92
+ ...((_d = (_c = options.assets) === null || _c === void 0 ? void 0 : _c.example) !== null && _d !== void 0 ? _d : []).map(asset => resolveAssetOption(asset, 'example')),
93
+ ])).filter(asset => !!asset && (!!(asset === null || asset === void 0 ? void 0 : asset.source) || !!(asset === null || asset === void 0 ? void 0 : asset.fromInput)));
94
+ }
95
+
25
96
  async function createDefaultRenderer(templatePath, fileSystem) {
26
97
  const rendererImport = await import('@ui-doc/html-renderer');
27
98
  const renderer = new rendererImport.HtmlRenderer(rendererImport.NodeParser.init());
28
- await rendererImport.TemplateLoader.load({
29
- fileSystem,
30
- renderer,
31
- templateBasePath: templatePath,
32
- });
99
+ const packageTemplatePath = await fileSystem
100
+ .assetLoader()
101
+ .packagePath(rendererImport.TemplateLoader.TEMPLATES_PACKAGE);
102
+ if (packageTemplatePath) {
103
+ await rendererImport.TemplateLoader.load({
104
+ fileSystem,
105
+ renderer,
106
+ templatePath: packageTemplatePath,
107
+ });
108
+ }
109
+ if (templatePath) {
110
+ await rendererImport.TemplateLoader.load({
111
+ fileSystem,
112
+ renderer,
113
+ templatePath,
114
+ });
115
+ }
33
116
  return renderer;
34
117
  }
35
118
  function createOutputPrefix(options) {
36
- var _a, _b, _c, _d, _e, _f;
119
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
37
120
  const prefix = { path: '', uri: '' };
38
- const path = options.outputDir;
121
+ const path = (_a = options === null || options === void 0 ? void 0 : options.output) === null || _a === void 0 ? void 0 : _a.dir;
39
122
  if (!path) {
40
123
  return prefix;
41
124
  }
42
125
  prefix.path = path.endsWith('/') ? path : `${path}/`;
43
- if (options.outputBaseUri === '.') {
126
+ if (((_b = options === null || options === void 0 ? void 0 : options.output) === null || _b === void 0 ? void 0 : _b.baseUri) === '.') {
44
127
  return prefix;
45
128
  }
46
- prefix.uri = (_a = options.outputBaseUri) !== null && _a !== void 0 ? _a : prefix.path;
129
+ prefix.uri = (_d = (_c = options === null || options === void 0 ? void 0 : options.output) === null || _c === void 0 ? void 0 : _c.baseUri) !== null && _d !== void 0 ? _d : prefix.path;
47
130
  prefix.uri = prefix.uri.endsWith('/') ? prefix.uri : `${prefix.uri}/`;
48
- const prevResolveUrl = (_d = (_c = (_b = options.settings) === null || _b === void 0 ? void 0 : _b.generate) === null || _c === void 0 ? void 0 : _c.resolveUrl) !== null && _d !== void 0 ? _d : (uri => uri);
49
- options.settings = (_e = options.settings) !== null && _e !== void 0 ? _e : {};
50
- options.settings.generate = (_f = options.settings.generate) !== null && _f !== void 0 ? _f : {};
51
- options.settings.generate.resolveUrl = (uri, type) => prevResolveUrl(`/${prefix.uri}${uri}`, type);
131
+ const prevResolve = (_g = (_f = (_e = options.settings) === null || _e === void 0 ? void 0 : _e.generate) === null || _f === void 0 ? void 0 : _f.resolve) !== null && _g !== void 0 ? _g : (uri => uri);
132
+ options.settings = (_h = options.settings) !== null && _h !== void 0 ? _h : {};
133
+ options.settings.generate = (_j = options.settings.generate) !== null && _j !== void 0 ? _j : {};
134
+ options.settings.generate.resolve = (uri, type) => prevResolve(`/${prefix.uri}${uri}`, type);
52
135
  return prefix;
53
136
  }
54
- function uidocAssetType(fileName) {
55
- if (fileName.match(/\.(css|less|sass|scss)$/)) {
56
- return 'style';
57
- }
58
- if (fileName.match(/\.(js|ts)$/)) {
59
- return 'script';
60
- }
61
- return null;
62
- }
63
- async function resolveAssets(options, assetLoader) {
64
- return (await Promise.all(ASSETS.map(async ({ name, source }) => {
65
- const fileName = name(options);
66
- const sourceName = source(options);
67
- if (sourceName === false || fileName === false) {
68
- return null;
69
- }
70
- const sourceFile = await assetLoader.resolve(sourceName);
71
- if (!sourceFile) {
72
- return null;
73
- }
74
- return {
75
- code: await assetLoader.read(sourceFile),
76
- name: `${fileName}`,
77
- sourceFile,
78
- sourceName,
79
- };
80
- }))).filter(asset => asset !== null);
81
- }
82
137
  async function resolveOptions(options) {
83
- var _a, _b;
138
+ var _a, _b, _c;
84
139
  const prefix = createOutputPrefix(options);
85
140
  const fileSystem = NodeFileSystem.init();
86
141
  const finder = fileSystem.createFileFinder(options.source);
@@ -89,34 +144,44 @@ async function resolveOptions(options) {
89
144
  renderer: (_a = options.renderer) !== null && _a !== void 0 ? _a : (await createDefaultRenderer(options.templatePath, fileSystem)),
90
145
  ...((_b = options.settings) !== null && _b !== void 0 ? _b : {}),
91
146
  });
92
- const assetsForCopy = [];
93
- const uidocAsset = (src, as, copy = false) => {
94
- const type = uidocAssetType(src);
147
+ const assetsFromInput = [];
148
+ const isAssetFromInput = src => assetsFromInput.includes(src);
149
+ const addAssetFromInput = src => {
150
+ if (!assetsFromInput.includes(src)) {
151
+ assetsFromInput.push(src);
152
+ }
153
+ };
154
+ const uidocAsset = (src, context, { fromInput = false, type: assetType, attrs } = {}) => {
155
+ const type = assetType !== null && assetType !== void 0 ? assetType : resolveAssetType(src);
95
156
  if (!type) {
96
157
  return;
97
158
  }
98
- if (copy && !assetsForCopy.includes(src)) {
99
- assetsForCopy.push(src);
159
+ if (fromInput && !assetsFromInput.includes(src)) {
160
+ assetsFromInput.push(src);
100
161
  }
101
- const method = as === 'example' ? 'addExampleAsset' : 'addAsset';
162
+ const method = context === 'example' ? 'addExampleAsset' : 'addAsset';
102
163
  uidoc[method]({
103
164
  src,
104
165
  type,
166
+ attrs,
105
167
  });
106
168
  };
107
169
  return {
108
- assets: await resolveAssets(options, fileSystem.assetLoader()),
109
- assetsForCopy,
110
- customStyle: options.customStyle,
170
+ assets: await resolveAssets(options, fileSystem),
171
+ assetsFromInput,
111
172
  fileSystem,
112
173
  finder,
113
174
  prefix,
114
175
  source: options.source,
115
- staticAssets: options.staticAssets,
176
+ staticAssets: (_c = options.assets) === null || _c === void 0 ? void 0 : _c.static,
116
177
  uidoc,
117
178
  uidocAsset,
179
+ isAssetFromInput,
180
+ addAssetFromInput,
118
181
  };
119
182
  }
183
+
184
+ const PLUGIN_NAME = 'ui-doc';
120
185
  function handleBlockParseError(error) {
121
186
  if (!(error instanceof BlockParseError)) {
122
187
  throw error;
@@ -130,21 +195,19 @@ function handleBlockParseError(error) {
130
195
  }
131
196
  async function uidocPlugin(rawOptions) {
132
197
  const options = await resolveOptions(rawOptions);
133
- const { finder, fileSystem, uidoc, prefix, assetsForCopy, uidocAsset, staticAssets, customStyle, } = options;
198
+ const { finder, fileSystem, uidoc, prefix, assetsFromInput, isAssetFromInput, addAssetFromInput, uidocAsset, staticAssets, } = options;
134
199
  return {
135
200
  name: PLUGIN_NAME,
136
201
  version,
137
202
  // eslint-disable-next-line sort-keys
138
203
  api: {
204
+ version,
139
205
  get fileFinder() {
140
206
  return finder;
141
207
  },
142
208
  get fileSystem() {
143
209
  return fileSystem;
144
210
  },
145
- isCopiedAsset(src) {
146
- return assetsForCopy.includes(src);
147
- },
148
211
  get options() {
149
212
  return options;
150
213
  },
@@ -152,12 +215,21 @@ async function uidocPlugin(rawOptions) {
152
215
  return uidoc;
153
216
  },
154
217
  uidocAsset,
155
- version,
218
+ isAssetFromInput,
219
+ addAssetFromInput,
156
220
  },
157
- async buildStart() {
221
+ async buildStart(inputOptions) {
158
222
  const watchedFiles = this.getWatchFiles();
159
- options.assets.forEach(({ name }) => {
160
- uidocAsset(name, 'page');
223
+ options.assets.forEach(({ name, fromInput = false }, index) => {
224
+ var _a;
225
+ // if input is true, try to use inputOptions.input[name] as fileName
226
+ if (fromInput && !Array.isArray(inputOptions.input) && inputOptions.input[name]) {
227
+ options.assets[index].fileName = inputOptions.input[name]
228
+ .replace(path.resolve('.'), '')
229
+ .replace(/^\//g, '');
230
+ options.assets[index].originalFileName = inputOptions.input[name];
231
+ options.assets[index].type = (_a = resolveAssetType(inputOptions.input[name])) !== null && _a !== void 0 ? _a : undefined;
232
+ }
161
233
  });
162
234
  // TODO detect template updates when templates in workspace
163
235
  await finder.search(async (file) => {
@@ -174,22 +246,21 @@ async function uidocPlugin(rawOptions) {
174
246
  }
175
247
  });
176
248
  },
177
- async generateBundle(_outputOptions, bundle) {
178
- // find assets in bundle and register them to UI-Doc
179
- Object.keys(bundle).forEach(fileName => {
180
- if (bundle[fileName].type === 'asset') {
181
- uidocAsset(fileName,
182
- // if asset matches custom style include it as page asset
183
- fileName === customStyle || bundle[fileName].name === customStyle ? 'page' : 'example', true);
249
+ async generateBundle() {
250
+ options.assets.forEach(({ name, fileName, source, originalFileName, context, attrs, type, fromInput = false }) => {
251
+ if (source) {
252
+ this.emitFile({
253
+ name,
254
+ fileName: `${prefix.path}${fileName}`,
255
+ source,
256
+ type: 'asset',
257
+ });
258
+ this.info({
259
+ code: 'OUTPUT',
260
+ message: `${fileName} from ${originalFileName}`,
261
+ });
184
262
  }
185
- });
186
- options.assets.forEach(({ code, name, sourceName }) => {
187
- this.emitFile({
188
- fileName: `${prefix.path}${name}`,
189
- source: code,
190
- type: 'asset',
191
- });
192
- this.info({ code: 'OUTPUT', message: `${name} from ${sourceName}` });
263
+ uidocAsset(fileName, context, { attrs, fromInput, type });
193
264
  });
194
265
  await uidoc.output((file, content) => {
195
266
  const fileName = `${prefix.path}${file}`;
@@ -206,7 +277,7 @@ async function uidocPlugin(rawOptions) {
206
277
  // if ui-doc is created into subfolder we need to copy assets referenced in examples and are generated through other plugins
207
278
  if (prefix.path) {
208
279
  // TODO may copy map file if exists
209
- promises.push(...assetsForCopy.map(async (asset) => {
280
+ promises.push(...assetsFromInput.map(async (asset) => {
210
281
  const destFile = `${outputOptions.dir}/${prefix.path}${asset}`;
211
282
  const destDir = fileSystem.fileDirname(destFile);
212
283
  await fileSystem.ensureDirectoryExists(destDir);
@@ -217,7 +288,7 @@ async function uidocPlugin(rawOptions) {
217
288
  promises.push(fileSystem.directoryCopy(staticAssets, `${outputOptions.dir}/${prefix.path}`));
218
289
  this.info({
219
290
  code: 'OUTPUT',
220
- message: `assets: ${staticAssets} > ${outputOptions.dir}${prefix.path}`,
291
+ message: `copying assets from ${staticAssets}`,
221
292
  });
222
293
  }
223
294
  await Promise.all(promises);
@@ -234,7 +305,7 @@ async function uidocPlugin(rawOptions) {
234
305
  }
235
306
  return;
236
307
  }
237
- if (change.event === 'create' && finder.matches(id)) {
308
+ if ((change.event === 'create' || change.event === 'update') && finder.matches(id)) {
238
309
  uidoc.sourceCreate(id, await fileSystem.fileRead(id));
239
310
  }
240
311
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/utils/asset.ts","../src/utils/option.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AssetType, FileSystem } from '@ui-doc/core';
2
+ import type { Options, ResolvedOptions } from './option.types';
3
+ export declare function resolveAssetType(fileName: string): AssetType | null;
4
+ export declare function resolveAssets(options: Options, fileSystem: FileSystem): Promise<ResolvedOptions['assets']>;
@@ -0,0 +1,19 @@
1
+ import type { Asset } from '@ui-doc/core';
2
+ export interface AssetOption {
3
+ name: string | (() => string);
4
+ fromInput?: boolean | ((asset: AssetResolved) => boolean);
5
+ file?: string | (() => string);
6
+ dependency?: string | (() => string);
7
+ source?: string | Uint8Array | (() => string);
8
+ attrs?: Asset['attrs'];
9
+ }
10
+ export interface AssetResolved {
11
+ name: string;
12
+ context: 'example' | 'page';
13
+ fileName: string;
14
+ type?: Asset['type'];
15
+ originalFileName?: string;
16
+ fromInput?: true;
17
+ source?: string | Uint8Array;
18
+ attrs?: Asset['attrs'];
19
+ }
@@ -0,0 +1,2 @@
1
+ import type { Options, ResolvedOptions } from './option.types';
2
+ export declare function resolveOptions(options: Options): Promise<ResolvedOptions>;
@@ -0,0 +1,39 @@
1
+ import type { BlockParser, FileFinder, FileSystem, Options as UIDocOptions, Renderer, UIDoc } from '@ui-doc/core';
2
+ import type { Api } from '../index';
3
+ import type { AssetOption, AssetResolved } from './asset.types';
4
+ export interface Options {
5
+ renderer?: Renderer;
6
+ blockParser?: BlockParser;
7
+ source: string[];
8
+ templatePath?: string;
9
+ output?: {
10
+ dir?: string;
11
+ baseUri?: string;
12
+ };
13
+ settings?: Pick<UIDocOptions, 'generate' | 'texts'>;
14
+ assets?: {
15
+ static?: string;
16
+ styleAsset?: false | string;
17
+ highlightStyle?: false | string;
18
+ highlightTheme?: string;
19
+ highlightScript?: false | string;
20
+ page?: AssetOption[];
21
+ example?: AssetOption[];
22
+ };
23
+ }
24
+ export interface ResolvedOptions {
25
+ assets: AssetResolved[];
26
+ assetsFromInput: string[];
27
+ staticAssets?: string;
28
+ fileSystem: FileSystem;
29
+ finder: FileFinder;
30
+ prefix: {
31
+ path: string;
32
+ uri: string;
33
+ };
34
+ uidoc: UIDoc;
35
+ source: string[];
36
+ uidocAsset: Api['uidocAsset'];
37
+ isAssetFromInput: Api['isAssetFromInput'];
38
+ addAssetFromInput: Api['addAssetFromInput'];
39
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ui-doc/rollup",
3
3
  "description": "Rollup plugin for UI-Doc generation.",
4
- "version": "0.2.1",
4
+ "version": "0.3.1",
5
5
  "license": "MIT",
6
6
  "keywords": [
7
7
  "ui-doc",
@@ -43,22 +43,22 @@
43
43
  },
44
44
  "sideEffects": false,
45
45
  "peerDependencies": {
46
- "@ui-doc/html-renderer": ">=0.2.0",
46
+ "@ui-doc/html-renderer": ">=0.3.0",
47
47
  "rollup": "^4.0.0"
48
48
  },
49
49
  "dependencies": {
50
- "@ui-doc/core": ">=0.2.0",
51
- "@ui-doc/node": ">=0.1.0"
50
+ "@ui-doc/core": ">=0.3.0",
51
+ "@ui-doc/node": ">=0.2.0"
52
52
  },
53
53
  "devDependencies": {
54
- "@ui-doc/core": "0.2.0",
55
- "@ui-doc/node": "0.1.2",
56
- "@ui-doc/html-renderer": "0.2.0"
54
+ "@ui-doc/core": "0.3.1",
55
+ "@ui-doc/html-renderer": "0.4.0",
56
+ "@ui-doc/node": "0.2.1"
57
57
  },
58
58
  "scripts": {
59
59
  "build": "rollup -c",
60
60
  "prebuild": "rm -rf dist dist",
61
- "prerelease": "pnpm build",
61
+ "prepublish": "pnpm build",
62
62
  "release": "pnpm --workspace-root package:release $(pwd)",
63
63
  "release:dry": "pnpm --workspace-root package:release-dry $(pwd)"
64
64
  }