@ui-doc/rollup 0.1.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/LICENSE.md ADDED
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,65 @@
1
+ # UI-Doc rollup plugin
2
+
3
+ This plugin integrates UI-Doc into rollup.
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ # npm
9
+ npm install --save-dev @ui-doc/rollup @ui-doc/html-renderer @highlightjs/cdn-assets
10
+
11
+ # yarn
12
+ yarn add --dev @ui-doc/rollup @ui-doc/html-renderer @highlightjs/cdn-assets
13
+
14
+ # pnpm
15
+ pnpm install --save-dev @ui-doc/rollup @ui-doc/html-renderer @highlightjs/cdn-assets
16
+ ```
17
+
18
+ ## Setup
19
+
20
+ ```js
21
+ import uidoc from '@ui-doc/rollup'
22
+ import postcss from 'rollup-plugin-postcss'
23
+
24
+ export default [
25
+ {
26
+ input: {
27
+ app: 'css/index.css',
28
+ },
29
+ output: {
30
+ dir: 'dist',
31
+ },
32
+ plugins: [
33
+ postcss({
34
+ extract: 'app.css',
35
+ }),
36
+ uidoc({
37
+ settings: {
38
+ generate: {
39
+ logo: () => 'Rollup',
40
+ },
41
+ texts: {
42
+ title: 'Rollup Example',
43
+ },
44
+ },
45
+ source: ['css/**/*.css'],
46
+ }),
47
+ ],
48
+ },
49
+ ]
50
+ ```
51
+
52
+ ## Options
53
+
54
+ | Name | Required | Type | Description |
55
+ | --- | --- | --- | --- |
56
+ | 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). |
62
+ | 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
+ | 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. |
package/dist/index.cjs ADDED
@@ -0,0 +1,211 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var core = require('@ui-doc/core');
6
+ var node = require('@ui-doc/node');
7
+
8
+ var version = "0.0.0";
9
+
10
+ const PLUGIN_NAME = 'ui-doc';
11
+ const ASSETS = [
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',
15
+ },
16
+ {
17
+ name: () => 'ui-doc.js',
18
+ source: () => '@ui-doc/html-renderer/ui-doc.min.js',
19
+ },
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`; },
23
+ },
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',
27
+ },
28
+ ];
29
+ async function createDefaultRenderer(templatePath, fileSystem) {
30
+ const rendererImport = await import('@ui-doc/html-renderer');
31
+ const renderer = new rendererImport.HtmlRenderer(rendererImport.NodeParser.init());
32
+ await rendererImport.TemplateLoader.load({
33
+ fileSystem,
34
+ renderer,
35
+ templateBasePath: templatePath,
36
+ });
37
+ return renderer;
38
+ }
39
+ function createOutputPathPrefix(options) {
40
+ var _a, _b, _c, _d, _e;
41
+ const path = options.outputDir;
42
+ if (!path) {
43
+ return '';
44
+ }
45
+ const pathPrefix = path.endsWith('/') ? path : `${path}/`;
46
+ const prevResolveUrl = (_c = (_b = (_a = options.settings) === null || _a === void 0 ? void 0 : _a.generate) === null || _b === void 0 ? void 0 : _b.resolveUrl) !== null && _c !== void 0 ? _c : (uri => uri);
47
+ options.settings = (_d = options.settings) !== null && _d !== void 0 ? _d : {};
48
+ options.settings.generate = (_e = options.settings.generate) !== null && _e !== void 0 ? _e : {};
49
+ options.settings.generate.resolveUrl = (uri, type) => prevResolveUrl(`/${pathPrefix}${uri}`, type);
50
+ return pathPrefix;
51
+ }
52
+ function uidocAssetType(fileName) {
53
+ if (fileName.match(/\.(css|less|sass|scss)$/)) {
54
+ return 'style';
55
+ }
56
+ if (fileName.match(/\.(js|ts)$/)) {
57
+ return 'script';
58
+ }
59
+ return null;
60
+ }
61
+ async function resolveAssets(options, assetLoader, pathPrefix) {
62
+ return (await Promise.all(ASSETS.map(async ({ name, source }) => {
63
+ const fileName = name(options);
64
+ const sourceName = source(options);
65
+ if (sourceName === false || fileName === false) {
66
+ return null;
67
+ }
68
+ const sourceFile = await assetLoader.resolve(sourceName);
69
+ if (!sourceFile) {
70
+ return null;
71
+ }
72
+ return {
73
+ code: await assetLoader.read(sourceFile),
74
+ name: `${pathPrefix}${fileName}`,
75
+ sourceFile,
76
+ sourceName,
77
+ };
78
+ }))).filter(asset => asset !== null);
79
+ }
80
+ async function resolveOptions(options) {
81
+ var _a, _b;
82
+ const pathPrefix = createOutputPathPrefix(options);
83
+ const fileSystem = node.NodeFileSystem.init();
84
+ const finder = fileSystem.createFileFinder(options.source);
85
+ const uidoc = new core.UIDoc({
86
+ blockParser: options.blockParser,
87
+ renderer: (_a = options.renderer) !== null && _a !== void 0 ? _a : (await createDefaultRenderer(options.templatePath, fileSystem)),
88
+ ...((_b = options.settings) !== null && _b !== void 0 ? _b : {}),
89
+ });
90
+ const assetsForCopy = [];
91
+ const uidocAsset = (src, as) => {
92
+ const type = uidocAssetType(src);
93
+ if (!type) {
94
+ return;
95
+ }
96
+ if (as === 'example' && !assetsForCopy.includes(src)) {
97
+ assetsForCopy.push(src);
98
+ }
99
+ const method = as === 'example' ? 'addExampleAsset' : 'addAsset';
100
+ uidoc[method]({
101
+ src,
102
+ type,
103
+ });
104
+ };
105
+ return {
106
+ assets: await resolveAssets(options, fileSystem.assetLoader(), pathPrefix),
107
+ assetsForCopy,
108
+ fileSystem,
109
+ finder,
110
+ pathPrefix,
111
+ source: options.source,
112
+ uidoc,
113
+ uidocAsset,
114
+ };
115
+ }
116
+ async function uidocPlugin(rawOptions) {
117
+ const options = await resolveOptions(rawOptions);
118
+ const { finder, fileSystem, uidoc, pathPrefix, assetsForCopy, uidocAsset } = options;
119
+ return {
120
+ name: PLUGIN_NAME,
121
+ version,
122
+ // eslint-disable-next-line sort-keys
123
+ api: {
124
+ get fileFinder() {
125
+ return finder;
126
+ },
127
+ get fileSystem() {
128
+ return fileSystem;
129
+ },
130
+ get options() {
131
+ return options;
132
+ },
133
+ get uidoc() {
134
+ return uidoc;
135
+ },
136
+ uidocAsset,
137
+ version,
138
+ },
139
+ async buildStart() {
140
+ const watchedFiles = this.getWatchFiles();
141
+ options.assets.forEach(({ name }) => {
142
+ uidocAsset(name, 'page');
143
+ });
144
+ // TODO detect template updates when templates in workspace
145
+ await finder.search(async (file) => {
146
+ if (!watchedFiles.includes(file)) {
147
+ this.addWatchFile(file);
148
+ }
149
+ if (!uidoc.sourceExists(file)) {
150
+ uidoc.sourceCreate(file, await fileSystem.fileRead(file));
151
+ }
152
+ });
153
+ },
154
+ async generateBundle(_outputOptions, bundle) {
155
+ // find assets in bundle and register them to UI-Doc
156
+ Object.keys(bundle).forEach(fileName => {
157
+ if (bundle[fileName].type === 'asset') {
158
+ uidocAsset(fileName, 'example');
159
+ }
160
+ });
161
+ options.assets.forEach(({ code, name, sourceName }) => {
162
+ this.emitFile({
163
+ fileName: name,
164
+ source: code,
165
+ type: 'asset',
166
+ });
167
+ this.info({ code: 'OUTPUT', message: `${name} from ${sourceName}` });
168
+ });
169
+ await uidoc.output((file, content) => {
170
+ const fileName = `${pathPrefix}${file}`;
171
+ this.emitFile({
172
+ fileName,
173
+ source: content,
174
+ type: 'asset',
175
+ });
176
+ this.info({ code: 'OUTPUT', message: `${fileName}` });
177
+ });
178
+ },
179
+ async writeBundle(outputOptions) {
180
+ if (pathPrefix === '') {
181
+ return;
182
+ }
183
+ // TODO may copy map file if exists
184
+ await Promise.all(assetsForCopy.map(async (asset) => {
185
+ const destFile = `${outputOptions.dir}/${pathPrefix}${asset}`;
186
+ const destDir = fileSystem.fileDirname(destFile);
187
+ await fileSystem.ensureDirectoryExists(destDir);
188
+ await fileSystem.fileCopy(`${outputOptions.dir}/${asset}`, destFile);
189
+ }));
190
+ },
191
+ // eslint-disable-next-line sort-keys
192
+ async watchChange(id, change) {
193
+ if (uidoc.sourceExists(id)) {
194
+ if (change.event === 'update') {
195
+ uidoc.sourceUpdate(id, await fileSystem.fileRead(id));
196
+ }
197
+ else if (change.event === 'delete') {
198
+ uidoc.sourceDelete(id);
199
+ }
200
+ return;
201
+ }
202
+ if (change.event === 'create' && finder.matches(id)) {
203
+ uidoc.sourceCreate(id, await fileSystem.fileRead(id));
204
+ }
205
+ },
206
+ };
207
+ }
208
+
209
+ exports.PLUGIN_NAME = PLUGIN_NAME;
210
+ exports.default = uidocPlugin;
211
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":[null],"names":["NodeFileSystem","UIDoc"],"mappings":";;;;;;;;;AAeO,MAAM,WAAW,GAAG,SAAQ;AAEnC,MAAM,MAAM,GAGN;AACJ,IAAA;AACE,QAAA,IAAI,EAAE,OAAO,IAAI,EAAA,IAAA,EAAA,CAAA,CAAA,OAAA,CAAA,EAAA,GAAA,OAAO,CAAC,UAAU,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,YAAY,CAAA,EAAA;AACnD,QAAA,MAAM,EAAE,MAAM,sCAAsC;AACrD,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,MAAM,WAAW;AACvB,QAAA,MAAM,EAAE,MAAM,qCAAqC;AACpD,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO,IAAI,EAAA,IAAA,EAAA,CAAA,CAAA,OAAA,CAAA,EAAA,GAAA,OAAO,CAAC,cAAc,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,eAAe,CAAA,EAAA;AAC1D,QAAA,MAAM,EAAE,OAAO,cACb,OAAA,CAAA,+BAAA,EAAkC,CAAA,EAAA,GAAA,OAAO,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,SAAS,CAAA,QAAA,CAAU,CAAA,EAAA;AAClF,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO,IAAI,EAAA,IAAA,EAAA,CAAA,CAAA,OAAA,CAAA,EAAA,GAAA,OAAO,CAAC,eAAe,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,cAAc,CAAA,EAAA;AAC1D,QAAA,MAAM,EAAE,MAAM,0CAA0C;AACzD,KAAA;CACF,CAAA;AAmCD,eAAe,qBAAqB,CAClC,YAAgC,EAChC,UAAsB,EAAA;AAEtB,IAAA,MAAM,cAAc,GAAG,MAAM,OAAO,uBAAuB,CAAC,CAAA;AAC5D,IAAA,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;AAElF,IAAA,MAAM,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC;QACvC,UAAU;QACV,QAAQ;AACR,QAAA,gBAAgB,EAAE,YAAY;AAC/B,KAAA,CAAC,CAAA;AAEF,IAAA,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB,EAAA;;AAC9C,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAA;IAE9B,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,OAAO,EAAE,CAAA;KACV;AAED,IAAA,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAG,EAAA,IAAI,GAAG,CAAA;IACzD,MAAM,cAAc,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,OAAO,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,0CAAE,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,IAAK,GAAG,IAAI,GAAG,CAAC,CAAA;IAE7E,OAAO,CAAC,QAAQ,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,QAAQ,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAA;AACzC,IAAA,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,cAAc,CAAC,CAAA,CAAA,EAAI,UAAU,CAAA,EAAG,GAAG,CAAE,CAAA,EAAE,IAAI,CAAC,CAAA;AAElG,IAAA,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAA;AACtC,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE;AAC7C,QAAA,OAAO,OAAO,CAAA;KACf;AAED,IAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;AAChC,QAAA,OAAO,QAAQ,CAAA;KAChB;AAED,IAAA,OAAO,IAAI,CAAA;AACb,CAAC;AAED,eAAe,aAAa,CAC1B,OAAgB,EAChB,WAAwB,EACxB,UAAkB,EAAA;AAElB,IAAA,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAI;AACpC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;AAC9B,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAElC,IAAI,UAAU,KAAK,KAAK,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC9C,YAAA,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAExD,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,IAAI,CAAA;SACZ;QAED,OAAO;AACL,YAAA,IAAI,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,YAAA,IAAI,EAAE,CAAA,EAAG,UAAU,CAAA,EAAG,QAAQ,CAAE,CAAA;YAChC,UAAU;YACV,UAAU;SACX,CAAA;AACH,KAAC,CAAC,CACH,EACD,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,CAA8B,CAAA;AAChE,CAAC;AAED,eAAe,cAAc,CAAC,OAAgB,EAAA;;AAC5C,IAAA,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAClD,IAAA,MAAM,UAAU,GAAGA,mBAAc,CAAC,IAAI,EAAE,CAAA;IACxC,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC1D,IAAA,MAAM,KAAK,GAAG,IAAIC,UAAK,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC,WAAW;AAChC,QAAA,QAAQ,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,QAAQ,oCAAK,MAAM,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAC7F,QAAA,IAAI,CAAA,EAAA,GAAA,OAAO,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE;AAC3B,KAAA,CAAC,CAAA;IACF,MAAM,aAAa,GAAqC,EAAE,CAAA;AAC1D,IAAA,MAAM,UAAU,GAAkC,CAAC,GAAG,EAAE,EAAE,KAAI;AAC5D,QAAA,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;QAEhC,IAAI,CAAC,IAAI,EAAE;YACT,OAAM;SACP;AAED,QAAA,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACpD,YAAA,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACxB;AAED,QAAA,MAAM,MAAM,GAAG,EAAE,KAAK,SAAS,GAAG,iBAAiB,GAAG,UAAU,CAAA;QAEhE,KAAK,CAAC,MAAM,CAAC,CAAC;YACZ,GAAG;YACH,IAAI;AACL,SAAA,CAAC,CAAA;AACJ,KAAC,CAAA;IAED,OAAO;AACL,QAAA,MAAM,EAAE,MAAM,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC;QAC1E,aAAa;QACb,UAAU;QACV,MAAM;QACN,UAAU;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK;QACL,UAAU;KACX,CAAA;AACH,CAAC;AAEc,eAAe,WAAW,CAAC,UAAmB,EAAA;AAC3D,IAAA,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAA;AAChD,IAAA,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAEpF,OAAO;AACL,QAAA,IAAI,EAAE,WAAW;QACjB,OAAO;;AAGP,QAAA,GAAG,EAAE;AACH,YAAA,IAAI,UAAU,GAAA;AACZ,gBAAA,OAAO,MAAM,CAAA;aACd;AACD,YAAA,IAAI,UAAU,GAAA;AACZ,gBAAA,OAAO,UAAU,CAAA;aAClB;AACD,YAAA,IAAI,OAAO,GAAA;AACT,gBAAA,OAAO,OAAO,CAAA;aACf;AACD,YAAA,IAAI,KAAK,GAAA;AACP,gBAAA,OAAO,KAAK,CAAA;aACb;YACD,UAAU;YACV,OAAO;AACR,SAAA;AAED,QAAA,MAAM,UAAU,GAAA;AACd,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;YAEzC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAI;AAClC,gBAAA,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC1B,aAAC,CAAC,CAAA;;YAIF,MAAM,MAAM,CAAC,MAAM,CAAC,OAAM,IAAI,KAAG;gBAC/B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAChC,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;iBACxB;gBACD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AAC7B,oBAAA,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;iBAC1D;AACH,aAAC,CAAC,CAAA;SACH;AAED,QAAA,MAAM,cAAc,CAAC,cAAc,EAAE,MAAM,EAAA;;YAEzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAG;gBACrC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;AACrC,oBAAA,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;iBAChC;AACH,aAAC,CAAC,CAAA;AAEF,YAAA,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAI;gBACpD,IAAI,CAAC,QAAQ,CAAC;AACZ,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA,CAAC,CAAA;AACF,gBAAA,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA,MAAA,EAAS,UAAU,CAAE,CAAA,EAAE,CAAC,CAAA;AACtE,aAAC,CAAC,CAAA;YAEF,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,KAAI;AACnC,gBAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,UAAU,CAAG,EAAA,IAAI,EAAE,CAAA;gBAEvC,IAAI,CAAC,QAAQ,CAAC;oBACZ,QAAQ;AACR,oBAAA,MAAM,EAAE,OAAO;AACf,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA,CAAC,CAAA;AACF,gBAAA,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAG,EAAA,QAAQ,CAAE,CAAA,EAAE,CAAC,CAAA;AACvD,aAAC,CAAC,CAAA;SACH;QAED,MAAM,WAAW,CAAC,aAAa,EAAA;AAC7B,YAAA,IAAI,UAAU,KAAK,EAAE,EAAE;gBACrB,OAAM;aACP;;AAGD,YAAA,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,OAAM,KAAK,KAAG;gBAC9B,MAAM,QAAQ,GAAG,CAAA,EAAG,aAAa,CAAC,GAAG,CAAA,CAAA,EAAI,UAAU,CAAA,EAAG,KAAK,CAAA,CAAE,CAAA;gBAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;AAEhD,gBAAA,MAAM,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC/C,gBAAA,MAAM,UAAU,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,EAAE,QAAQ,CAAC,CAAA;aACrE,CAAC,CACH,CAAA;SACF;;AAGD,QAAA,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,EAAA;AAC1B,YAAA,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;AAC1B,gBAAA,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC7B,oBAAA,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;iBACtD;AAAM,qBAAA,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;AACpC,oBAAA,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;iBACvB;gBAED,OAAM;aACP;AAED,YAAA,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AACnD,gBAAA,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;aACtD;SACF;KACF,CAAA;AACH;;;;;"}
@@ -0,0 +1,40 @@
1
+ import type { BlockParser, FileFinder, FileSystem, Options as UIDocOptions, Renderer } from '@ui-doc/core';
2
+ import { UIDoc } from '@ui-doc/core';
3
+ import type { Plugin } from 'rollup';
4
+ export declare const PLUGIN_NAME = "ui-doc";
5
+ export interface Options {
6
+ renderer?: Renderer;
7
+ blockParser?: BlockParser;
8
+ source: string[];
9
+ templatePath?: string;
10
+ styleAsset?: false | string;
11
+ highlightStyle?: false | string;
12
+ highlightTheme?: string;
13
+ highlightScript?: false | string;
14
+ outputDir?: string;
15
+ settings?: Pick<UIDocOptions, 'generate' | 'texts'>;
16
+ }
17
+ export interface ResolvedOptions {
18
+ assets: {
19
+ code: string;
20
+ name: string;
21
+ sourceFile: string;
22
+ sourceName: string;
23
+ }[];
24
+ assetsForCopy: string[];
25
+ fileSystem: FileSystem;
26
+ finder: FileFinder;
27
+ pathPrefix: string;
28
+ uidoc: UIDoc;
29
+ source: string[];
30
+ uidocAsset: Api['uidocAsset'];
31
+ }
32
+ export interface Api {
33
+ version: string;
34
+ get fileFinder(): FileFinder;
35
+ get fileSystem(): FileSystem;
36
+ get options(): ResolvedOptions;
37
+ get uidoc(): UIDoc;
38
+ uidocAsset(src: string, as: 'example' | 'page'): void;
39
+ }
40
+ export default function uidocPlugin(rawOptions: Options): Promise<Plugin<Api>>;
package/dist/index.mjs ADDED
@@ -0,0 +1,206 @@
1
+ import { UIDoc } from '@ui-doc/core';
2
+ import { NodeFileSystem } from '@ui-doc/node';
3
+
4
+ var version = "0.0.0";
5
+
6
+ const PLUGIN_NAME = 'ui-doc';
7
+ const ASSETS = [
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',
11
+ },
12
+ {
13
+ name: () => 'ui-doc.js',
14
+ source: () => '@ui-doc/html-renderer/ui-doc.min.js',
15
+ },
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`; },
19
+ },
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',
23
+ },
24
+ ];
25
+ async function createDefaultRenderer(templatePath, fileSystem) {
26
+ const rendererImport = await import('@ui-doc/html-renderer');
27
+ const renderer = new rendererImport.HtmlRenderer(rendererImport.NodeParser.init());
28
+ await rendererImport.TemplateLoader.load({
29
+ fileSystem,
30
+ renderer,
31
+ templateBasePath: templatePath,
32
+ });
33
+ return renderer;
34
+ }
35
+ function createOutputPathPrefix(options) {
36
+ var _a, _b, _c, _d, _e;
37
+ const path = options.outputDir;
38
+ if (!path) {
39
+ return '';
40
+ }
41
+ const pathPrefix = path.endsWith('/') ? path : `${path}/`;
42
+ const prevResolveUrl = (_c = (_b = (_a = options.settings) === null || _a === void 0 ? void 0 : _a.generate) === null || _b === void 0 ? void 0 : _b.resolveUrl) !== null && _c !== void 0 ? _c : (uri => uri);
43
+ options.settings = (_d = options.settings) !== null && _d !== void 0 ? _d : {};
44
+ options.settings.generate = (_e = options.settings.generate) !== null && _e !== void 0 ? _e : {};
45
+ options.settings.generate.resolveUrl = (uri, type) => prevResolveUrl(`/${pathPrefix}${uri}`, type);
46
+ return pathPrefix;
47
+ }
48
+ function uidocAssetType(fileName) {
49
+ if (fileName.match(/\.(css|less|sass|scss)$/)) {
50
+ return 'style';
51
+ }
52
+ if (fileName.match(/\.(js|ts)$/)) {
53
+ return 'script';
54
+ }
55
+ return null;
56
+ }
57
+ async function resolveAssets(options, assetLoader, pathPrefix) {
58
+ return (await Promise.all(ASSETS.map(async ({ name, source }) => {
59
+ const fileName = name(options);
60
+ const sourceName = source(options);
61
+ if (sourceName === false || fileName === false) {
62
+ return null;
63
+ }
64
+ const sourceFile = await assetLoader.resolve(sourceName);
65
+ if (!sourceFile) {
66
+ return null;
67
+ }
68
+ return {
69
+ code: await assetLoader.read(sourceFile),
70
+ name: `${pathPrefix}${fileName}`,
71
+ sourceFile,
72
+ sourceName,
73
+ };
74
+ }))).filter(asset => asset !== null);
75
+ }
76
+ async function resolveOptions(options) {
77
+ var _a, _b;
78
+ const pathPrefix = createOutputPathPrefix(options);
79
+ const fileSystem = NodeFileSystem.init();
80
+ const finder = fileSystem.createFileFinder(options.source);
81
+ const uidoc = new UIDoc({
82
+ blockParser: options.blockParser,
83
+ renderer: (_a = options.renderer) !== null && _a !== void 0 ? _a : (await createDefaultRenderer(options.templatePath, fileSystem)),
84
+ ...((_b = options.settings) !== null && _b !== void 0 ? _b : {}),
85
+ });
86
+ const assetsForCopy = [];
87
+ const uidocAsset = (src, as) => {
88
+ const type = uidocAssetType(src);
89
+ if (!type) {
90
+ return;
91
+ }
92
+ if (as === 'example' && !assetsForCopy.includes(src)) {
93
+ assetsForCopy.push(src);
94
+ }
95
+ const method = as === 'example' ? 'addExampleAsset' : 'addAsset';
96
+ uidoc[method]({
97
+ src,
98
+ type,
99
+ });
100
+ };
101
+ return {
102
+ assets: await resolveAssets(options, fileSystem.assetLoader(), pathPrefix),
103
+ assetsForCopy,
104
+ fileSystem,
105
+ finder,
106
+ pathPrefix,
107
+ source: options.source,
108
+ uidoc,
109
+ uidocAsset,
110
+ };
111
+ }
112
+ async function uidocPlugin(rawOptions) {
113
+ const options = await resolveOptions(rawOptions);
114
+ const { finder, fileSystem, uidoc, pathPrefix, assetsForCopy, uidocAsset } = options;
115
+ return {
116
+ name: PLUGIN_NAME,
117
+ version,
118
+ // eslint-disable-next-line sort-keys
119
+ api: {
120
+ get fileFinder() {
121
+ return finder;
122
+ },
123
+ get fileSystem() {
124
+ return fileSystem;
125
+ },
126
+ get options() {
127
+ return options;
128
+ },
129
+ get uidoc() {
130
+ return uidoc;
131
+ },
132
+ uidocAsset,
133
+ version,
134
+ },
135
+ async buildStart() {
136
+ const watchedFiles = this.getWatchFiles();
137
+ options.assets.forEach(({ name }) => {
138
+ uidocAsset(name, 'page');
139
+ });
140
+ // TODO detect template updates when templates in workspace
141
+ await finder.search(async (file) => {
142
+ if (!watchedFiles.includes(file)) {
143
+ this.addWatchFile(file);
144
+ }
145
+ if (!uidoc.sourceExists(file)) {
146
+ uidoc.sourceCreate(file, await fileSystem.fileRead(file));
147
+ }
148
+ });
149
+ },
150
+ async generateBundle(_outputOptions, bundle) {
151
+ // find assets in bundle and register them to UI-Doc
152
+ Object.keys(bundle).forEach(fileName => {
153
+ if (bundle[fileName].type === 'asset') {
154
+ uidocAsset(fileName, 'example');
155
+ }
156
+ });
157
+ options.assets.forEach(({ code, name, sourceName }) => {
158
+ this.emitFile({
159
+ fileName: name,
160
+ source: code,
161
+ type: 'asset',
162
+ });
163
+ this.info({ code: 'OUTPUT', message: `${name} from ${sourceName}` });
164
+ });
165
+ await uidoc.output((file, content) => {
166
+ const fileName = `${pathPrefix}${file}`;
167
+ this.emitFile({
168
+ fileName,
169
+ source: content,
170
+ type: 'asset',
171
+ });
172
+ this.info({ code: 'OUTPUT', message: `${fileName}` });
173
+ });
174
+ },
175
+ async writeBundle(outputOptions) {
176
+ if (pathPrefix === '') {
177
+ return;
178
+ }
179
+ // TODO may copy map file if exists
180
+ await Promise.all(assetsForCopy.map(async (asset) => {
181
+ const destFile = `${outputOptions.dir}/${pathPrefix}${asset}`;
182
+ const destDir = fileSystem.fileDirname(destFile);
183
+ await fileSystem.ensureDirectoryExists(destDir);
184
+ await fileSystem.fileCopy(`${outputOptions.dir}/${asset}`, destFile);
185
+ }));
186
+ },
187
+ // eslint-disable-next-line sort-keys
188
+ async watchChange(id, change) {
189
+ if (uidoc.sourceExists(id)) {
190
+ if (change.event === 'update') {
191
+ uidoc.sourceUpdate(id, await fileSystem.fileRead(id));
192
+ }
193
+ else if (change.event === 'delete') {
194
+ uidoc.sourceDelete(id);
195
+ }
196
+ return;
197
+ }
198
+ if (change.event === 'create' && finder.matches(id)) {
199
+ uidoc.sourceCreate(id, await fileSystem.fileRead(id));
200
+ }
201
+ },
202
+ };
203
+ }
204
+
205
+ export { PLUGIN_NAME, uidocPlugin as default };
206
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@ui-doc/rollup",
3
+ "description": "Rollup plugin for UI-Doc generation.",
4
+ "version": "0.1.0",
5
+ "license": "MIT",
6
+ "keywords": [
7
+ "ui-doc",
8
+ "styleguide",
9
+ "ui-kit",
10
+ "documentation",
11
+ "generation",
12
+ "rollup",
13
+ "rollup-plugin"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/gherrink/ui-doc",
18
+ "directory": "packages/rollup"
19
+ },
20
+ "author": "Maurice Busch",
21
+ "homepage": "https://github.com/gherrink/ui-doc/tree/master/packages/rollup#readme",
22
+ "bugs": "https://github.com/gherrink/ui-doc/issues",
23
+ "main": "./dist/index.cjs",
24
+ "module": "./dist/index.mjs",
25
+ "types": "./dist/index.d.ts",
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "import": "./dist/index.mjs",
30
+ "default": "./dist/index.cjs"
31
+ }
32
+ },
33
+ "engines": {
34
+ "node": ">=16.0.0"
35
+ },
36
+ "files": [
37
+ "dist",
38
+ "LICENSE.md",
39
+ "README.md"
40
+ ],
41
+ "publishConfig": {
42
+ "access": "public"
43
+ },
44
+ "sideEffects": false,
45
+ "peerDependencies": {
46
+ "rollup": "^4.0.0",
47
+ "@ui-doc/html-renderer": "^0.1.00.0.0"
48
+ },
49
+ "dependencies": {
50
+ "@ui-doc/core": "^0.0.0",
51
+ "@ui-doc/node": "^0.0.0"
52
+ },
53
+ "devDependencies": {
54
+ "@ui-doc/core": "0.1.0",
55
+ "@ui-doc/node": "0.1.0",
56
+ "@ui-doc/html-renderer": "0.1.0"
57
+ },
58
+ "scripts": {
59
+ "build": "rollup -c",
60
+ "prebuild": "rm -rf dist dist",
61
+ "prerelease": "pnpm build",
62
+ "release": "pnpm --workspace-root package:release $(pwd)",
63
+ "release:dry": "pnpm --workspace-root package:release-dry $(pwd)"
64
+ }
65
+ }