@ui-doc/node 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 +9 -0
- package/README.md +0 -0
- package/dist/NodeAssetLoader.d.ts +13 -0
- package/dist/NodeFileFinder.d.ts +9 -0
- package/dist/NodeFileSystem.d.ts +18 -0
- package/dist/index.cjs +167 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.mjs +161 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +64 -0
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
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { AssetLoader, FileSystem } from '@ui-doc/core';
|
|
3
|
+
export declare class NodeAssetLoader implements AssetLoader {
|
|
4
|
+
protected resolvedPackages: Record<string, string | null>;
|
|
5
|
+
protected fileSystem: FileSystem;
|
|
6
|
+
protected require: NodeRequire;
|
|
7
|
+
constructor(fileSystem: FileSystem);
|
|
8
|
+
packageExists(packageName: string): Promise<boolean>;
|
|
9
|
+
packagePath(packageName: string): Promise<string | undefined>;
|
|
10
|
+
resolve(file: string): Promise<string | undefined>;
|
|
11
|
+
copy(from: string, to: string): Promise<void>;
|
|
12
|
+
read(file: string): Promise<string>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FileFinder, FileFinderOnFoundCallback } from '@ui-doc/core';
|
|
2
|
+
export declare class NodeFileFinder implements FileFinder {
|
|
3
|
+
globs: string[];
|
|
4
|
+
constructor(globs?: string[]);
|
|
5
|
+
search(fileFound: FileFinderOnFoundCallback): Promise<void>;
|
|
6
|
+
protected searchGlob(glob: string, fileFound: FileFinderOnFoundCallback): Promise<Promise<void>[]>;
|
|
7
|
+
protected scanDirectory(directory: string, regex: RegExp, fileFound: FileFinderOnFoundCallback, recursive: boolean): Promise<Promise<void>[]>;
|
|
8
|
+
matches(file: string): boolean;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FileSystem } from '@ui-doc/core';
|
|
2
|
+
import { NodeAssetLoader } from './NodeAssetLoader';
|
|
3
|
+
import { NodeFileFinder } from './NodeFileFinder';
|
|
4
|
+
export declare class NodeFileSystem implements FileSystem {
|
|
5
|
+
private static instance;
|
|
6
|
+
private assetLoaderInstance?;
|
|
7
|
+
static init(): NodeFileSystem;
|
|
8
|
+
createFileFinder(globs: string[]): NodeFileFinder;
|
|
9
|
+
assetLoader(): NodeAssetLoader;
|
|
10
|
+
fileRead(file: string): Promise<string>;
|
|
11
|
+
fileWrite(file: string, content: string): Promise<boolean>;
|
|
12
|
+
fileCopy(from: string, to: string): Promise<boolean>;
|
|
13
|
+
fileExists(file: string): Promise<boolean>;
|
|
14
|
+
fileBasename(file: string): string;
|
|
15
|
+
fileDirname(file: string): string;
|
|
16
|
+
ensureDirectoryExists(dir: string): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export declare function cerateNodeFileSystem(): NodeFileSystem;
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fs = require('node:fs/promises');
|
|
4
|
+
var node_module = require('node:module');
|
|
5
|
+
var path = require('node:path');
|
|
6
|
+
var picomatch = require('picomatch');
|
|
7
|
+
|
|
8
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
9
|
+
/* eslint-disable no-empty-function */
|
|
10
|
+
class NodeAssetLoader {
|
|
11
|
+
constructor(fileSystem) {
|
|
12
|
+
this.resolvedPackages = {};
|
|
13
|
+
this.fileSystem = fileSystem;
|
|
14
|
+
this.require = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)));
|
|
15
|
+
}
|
|
16
|
+
async packageExists(packageName) {
|
|
17
|
+
return (await this.packagePath(packageName)) !== undefined;
|
|
18
|
+
}
|
|
19
|
+
async packagePath(packageName) {
|
|
20
|
+
if (this.resolvedPackages[packageName] !== undefined) {
|
|
21
|
+
return this.resolvedPackages[packageName] === null
|
|
22
|
+
? undefined
|
|
23
|
+
: this.resolvedPackages[packageName];
|
|
24
|
+
}
|
|
25
|
+
const paths = this.require.resolve.paths(packageName);
|
|
26
|
+
if (!paths) {
|
|
27
|
+
throw new Error('Could not resolve require paths');
|
|
28
|
+
}
|
|
29
|
+
this.resolvedPackages[packageName] = await paths.reduce(async (acc, nodePath) => {
|
|
30
|
+
if ((await acc) !== null) {
|
|
31
|
+
return acc;
|
|
32
|
+
}
|
|
33
|
+
const dir = path.join(nodePath, packageName);
|
|
34
|
+
return (await fs
|
|
35
|
+
.access(dir, fs.constants.R_OK)
|
|
36
|
+
.then(() => true)
|
|
37
|
+
.catch(() => false))
|
|
38
|
+
? dir
|
|
39
|
+
: acc;
|
|
40
|
+
}, Promise.resolve(null));
|
|
41
|
+
return this.resolvedPackages[packageName] !== null
|
|
42
|
+
? this.resolvedPackages[packageName]
|
|
43
|
+
: undefined;
|
|
44
|
+
}
|
|
45
|
+
async resolve(file) {
|
|
46
|
+
const resolvedFile = this.require.resolve(file);
|
|
47
|
+
return (await this.fileSystem.fileExists(resolvedFile)) ? resolvedFile : undefined;
|
|
48
|
+
}
|
|
49
|
+
async copy(from, to) {
|
|
50
|
+
const fromPath = await this.resolve(from);
|
|
51
|
+
if (!fromPath) {
|
|
52
|
+
throw new Error(`Could not resolve source asset "${from}"`);
|
|
53
|
+
}
|
|
54
|
+
await this.fileSystem.fileCopy(fromPath, to);
|
|
55
|
+
}
|
|
56
|
+
async read(file) {
|
|
57
|
+
const fromPath = await this.resolve(file);
|
|
58
|
+
if (!fromPath) {
|
|
59
|
+
throw new Error(`Could not resolve asset "${file}"`);
|
|
60
|
+
}
|
|
61
|
+
return this.fileSystem.fileRead(fromPath);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
class NodeFileFinder {
|
|
66
|
+
constructor(globs = []) {
|
|
67
|
+
this.globs = [];
|
|
68
|
+
this.globs = globs.map(glob => path.resolve(glob));
|
|
69
|
+
}
|
|
70
|
+
async search(fileFound) {
|
|
71
|
+
await Promise.all(await Promise.all(this.globs.map(glob => this.searchGlob(glob, fileFound))));
|
|
72
|
+
}
|
|
73
|
+
searchGlob(glob, fileFound) {
|
|
74
|
+
const scan = picomatch.scan(glob, { parts: true, tokens: true });
|
|
75
|
+
const pathBase = path.join(scan.prefix, scan.base);
|
|
76
|
+
const recursive = scan.maxDepth === Infinity;
|
|
77
|
+
const regex = picomatch.makeRe(glob);
|
|
78
|
+
return this.scanDirectory(pathBase, regex, fileFound, recursive);
|
|
79
|
+
}
|
|
80
|
+
async scanDirectory(directory, regex, fileFound, recursive) {
|
|
81
|
+
const dirs = await fs.readdir(path.resolve(directory), { withFileTypes: true });
|
|
82
|
+
return dirs.reduce(async (acc, dirent) => {
|
|
83
|
+
const list = await acc;
|
|
84
|
+
if (dirent.isDirectory()) {
|
|
85
|
+
if (recursive) {
|
|
86
|
+
list.push(...(await this.scanDirectory(path.join(directory, dirent.name), regex, fileFound, recursive)));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else if (dirent.isFile()) {
|
|
90
|
+
const file = path.join(directory, dirent.name);
|
|
91
|
+
if (file.match(regex)) {
|
|
92
|
+
const onFound = fileFound(path.resolve(file));
|
|
93
|
+
list.push(onFound instanceof Promise ? onFound : Promise.resolve(onFound));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return Promise.resolve(list);
|
|
97
|
+
}, Promise.resolve([]));
|
|
98
|
+
}
|
|
99
|
+
matches(file) {
|
|
100
|
+
return this.globs.some(glob => picomatch.isMatch(file, glob));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
class NodeFileSystem {
|
|
105
|
+
static init() {
|
|
106
|
+
if (!this.instance) {
|
|
107
|
+
this.instance = new NodeFileSystem();
|
|
108
|
+
}
|
|
109
|
+
return this.instance;
|
|
110
|
+
}
|
|
111
|
+
createFileFinder(globs) {
|
|
112
|
+
return new NodeFileFinder(globs);
|
|
113
|
+
}
|
|
114
|
+
assetLoader() {
|
|
115
|
+
if (!this.assetLoaderInstance) {
|
|
116
|
+
this.assetLoaderInstance = new NodeAssetLoader(this);
|
|
117
|
+
}
|
|
118
|
+
return this.assetLoaderInstance;
|
|
119
|
+
}
|
|
120
|
+
async fileRead(file) {
|
|
121
|
+
return fs.readFile(path.resolve(file), 'utf8');
|
|
122
|
+
}
|
|
123
|
+
async fileWrite(file, content) {
|
|
124
|
+
try {
|
|
125
|
+
await fs.writeFile(path.resolve(file), content, 'utf8');
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
catch (e) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async fileCopy(from, to) {
|
|
133
|
+
const fromFile = path.resolve(from);
|
|
134
|
+
const toFile = path.resolve(to);
|
|
135
|
+
try {
|
|
136
|
+
await fs.copyFile(fromFile, toFile);
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
catch (e) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
async fileExists(file) {
|
|
144
|
+
return fs
|
|
145
|
+
.access(path.resolve(file), fs.constants.F_OK)
|
|
146
|
+
.then(() => true)
|
|
147
|
+
.catch(() => false);
|
|
148
|
+
}
|
|
149
|
+
fileBasename(file) {
|
|
150
|
+
return path.basename(file, path.extname(file));
|
|
151
|
+
}
|
|
152
|
+
fileDirname(file) {
|
|
153
|
+
return path.dirname(file);
|
|
154
|
+
}
|
|
155
|
+
async ensureDirectoryExists(dir) {
|
|
156
|
+
await fs.mkdir(path.resolve(dir), { recursive: true });
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function cerateNodeFileSystem() {
|
|
160
|
+
return NodeFileSystem.init();
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
exports.NodeAssetLoader = NodeAssetLoader;
|
|
164
|
+
exports.NodeFileFinder = NodeFileFinder;
|
|
165
|
+
exports.NodeFileSystem = NodeFileSystem;
|
|
166
|
+
exports.cerateNodeFileSystem = cerateNodeFileSystem;
|
|
167
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/NodeAssetLoader.ts","../src/NodeFileFinder.ts","../src/NodeFileSystem.ts"],"sourcesContent":[null,null,null],"names":["createRequire"],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import picomatch from 'picomatch';
|
|
5
|
+
|
|
6
|
+
/* eslint-disable no-empty-function */
|
|
7
|
+
class NodeAssetLoader {
|
|
8
|
+
constructor(fileSystem) {
|
|
9
|
+
this.resolvedPackages = {};
|
|
10
|
+
this.fileSystem = fileSystem;
|
|
11
|
+
this.require = createRequire(import.meta.url);
|
|
12
|
+
}
|
|
13
|
+
async packageExists(packageName) {
|
|
14
|
+
return (await this.packagePath(packageName)) !== undefined;
|
|
15
|
+
}
|
|
16
|
+
async packagePath(packageName) {
|
|
17
|
+
if (this.resolvedPackages[packageName] !== undefined) {
|
|
18
|
+
return this.resolvedPackages[packageName] === null
|
|
19
|
+
? undefined
|
|
20
|
+
: this.resolvedPackages[packageName];
|
|
21
|
+
}
|
|
22
|
+
const paths = this.require.resolve.paths(packageName);
|
|
23
|
+
if (!paths) {
|
|
24
|
+
throw new Error('Could not resolve require paths');
|
|
25
|
+
}
|
|
26
|
+
this.resolvedPackages[packageName] = await paths.reduce(async (acc, nodePath) => {
|
|
27
|
+
if ((await acc) !== null) {
|
|
28
|
+
return acc;
|
|
29
|
+
}
|
|
30
|
+
const dir = path.join(nodePath, packageName);
|
|
31
|
+
return (await fs
|
|
32
|
+
.access(dir, fs.constants.R_OK)
|
|
33
|
+
.then(() => true)
|
|
34
|
+
.catch(() => false))
|
|
35
|
+
? dir
|
|
36
|
+
: acc;
|
|
37
|
+
}, Promise.resolve(null));
|
|
38
|
+
return this.resolvedPackages[packageName] !== null
|
|
39
|
+
? this.resolvedPackages[packageName]
|
|
40
|
+
: undefined;
|
|
41
|
+
}
|
|
42
|
+
async resolve(file) {
|
|
43
|
+
const resolvedFile = this.require.resolve(file);
|
|
44
|
+
return (await this.fileSystem.fileExists(resolvedFile)) ? resolvedFile : undefined;
|
|
45
|
+
}
|
|
46
|
+
async copy(from, to) {
|
|
47
|
+
const fromPath = await this.resolve(from);
|
|
48
|
+
if (!fromPath) {
|
|
49
|
+
throw new Error(`Could not resolve source asset "${from}"`);
|
|
50
|
+
}
|
|
51
|
+
await this.fileSystem.fileCopy(fromPath, to);
|
|
52
|
+
}
|
|
53
|
+
async read(file) {
|
|
54
|
+
const fromPath = await this.resolve(file);
|
|
55
|
+
if (!fromPath) {
|
|
56
|
+
throw new Error(`Could not resolve asset "${file}"`);
|
|
57
|
+
}
|
|
58
|
+
return this.fileSystem.fileRead(fromPath);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
class NodeFileFinder {
|
|
63
|
+
constructor(globs = []) {
|
|
64
|
+
this.globs = [];
|
|
65
|
+
this.globs = globs.map(glob => path.resolve(glob));
|
|
66
|
+
}
|
|
67
|
+
async search(fileFound) {
|
|
68
|
+
await Promise.all(await Promise.all(this.globs.map(glob => this.searchGlob(glob, fileFound))));
|
|
69
|
+
}
|
|
70
|
+
searchGlob(glob, fileFound) {
|
|
71
|
+
const scan = picomatch.scan(glob, { parts: true, tokens: true });
|
|
72
|
+
const pathBase = path.join(scan.prefix, scan.base);
|
|
73
|
+
const recursive = scan.maxDepth === Infinity;
|
|
74
|
+
const regex = picomatch.makeRe(glob);
|
|
75
|
+
return this.scanDirectory(pathBase, regex, fileFound, recursive);
|
|
76
|
+
}
|
|
77
|
+
async scanDirectory(directory, regex, fileFound, recursive) {
|
|
78
|
+
const dirs = await fs.readdir(path.resolve(directory), { withFileTypes: true });
|
|
79
|
+
return dirs.reduce(async (acc, dirent) => {
|
|
80
|
+
const list = await acc;
|
|
81
|
+
if (dirent.isDirectory()) {
|
|
82
|
+
if (recursive) {
|
|
83
|
+
list.push(...(await this.scanDirectory(path.join(directory, dirent.name), regex, fileFound, recursive)));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if (dirent.isFile()) {
|
|
87
|
+
const file = path.join(directory, dirent.name);
|
|
88
|
+
if (file.match(regex)) {
|
|
89
|
+
const onFound = fileFound(path.resolve(file));
|
|
90
|
+
list.push(onFound instanceof Promise ? onFound : Promise.resolve(onFound));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return Promise.resolve(list);
|
|
94
|
+
}, Promise.resolve([]));
|
|
95
|
+
}
|
|
96
|
+
matches(file) {
|
|
97
|
+
return this.globs.some(glob => picomatch.isMatch(file, glob));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
class NodeFileSystem {
|
|
102
|
+
static init() {
|
|
103
|
+
if (!this.instance) {
|
|
104
|
+
this.instance = new NodeFileSystem();
|
|
105
|
+
}
|
|
106
|
+
return this.instance;
|
|
107
|
+
}
|
|
108
|
+
createFileFinder(globs) {
|
|
109
|
+
return new NodeFileFinder(globs);
|
|
110
|
+
}
|
|
111
|
+
assetLoader() {
|
|
112
|
+
if (!this.assetLoaderInstance) {
|
|
113
|
+
this.assetLoaderInstance = new NodeAssetLoader(this);
|
|
114
|
+
}
|
|
115
|
+
return this.assetLoaderInstance;
|
|
116
|
+
}
|
|
117
|
+
async fileRead(file) {
|
|
118
|
+
return fs.readFile(path.resolve(file), 'utf8');
|
|
119
|
+
}
|
|
120
|
+
async fileWrite(file, content) {
|
|
121
|
+
try {
|
|
122
|
+
await fs.writeFile(path.resolve(file), content, 'utf8');
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
catch (e) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
async fileCopy(from, to) {
|
|
130
|
+
const fromFile = path.resolve(from);
|
|
131
|
+
const toFile = path.resolve(to);
|
|
132
|
+
try {
|
|
133
|
+
await fs.copyFile(fromFile, toFile);
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
catch (e) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
async fileExists(file) {
|
|
141
|
+
return fs
|
|
142
|
+
.access(path.resolve(file), fs.constants.F_OK)
|
|
143
|
+
.then(() => true)
|
|
144
|
+
.catch(() => false);
|
|
145
|
+
}
|
|
146
|
+
fileBasename(file) {
|
|
147
|
+
return path.basename(file, path.extname(file));
|
|
148
|
+
}
|
|
149
|
+
fileDirname(file) {
|
|
150
|
+
return path.dirname(file);
|
|
151
|
+
}
|
|
152
|
+
async ensureDirectoryExists(dir) {
|
|
153
|
+
await fs.mkdir(path.resolve(dir), { recursive: true });
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
function cerateNodeFileSystem() {
|
|
157
|
+
return NodeFileSystem.init();
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export { NodeAssetLoader, NodeFileFinder, NodeFileSystem, cerateNodeFileSystem };
|
|
161
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/NodeAssetLoader.ts","../src/NodeFileFinder.ts","../src/NodeFileSystem.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ui-doc/node",
|
|
3
|
+
"description": "Node implementations for UI-Doc.",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"ui-doc",
|
|
8
|
+
"styleguide",
|
|
9
|
+
"ui-kit",
|
|
10
|
+
"documentation",
|
|
11
|
+
"generation",
|
|
12
|
+
"node"
|
|
13
|
+
],
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "https://github.com/gherrink/ui-doc",
|
|
17
|
+
"directory": "packages/node"
|
|
18
|
+
},
|
|
19
|
+
"author": "Maurice Busch",
|
|
20
|
+
"homepage": "https://github.com/gherrink/ui-doc/tree/master/packages/node#readme",
|
|
21
|
+
"bugs": "https://github.com/gherrink/ui-doc/issues",
|
|
22
|
+
"main": "./dist/index.cjs",
|
|
23
|
+
"module": "./dist/index.mjs",
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"import": "./dist/index.mjs",
|
|
29
|
+
"default": "./dist/index.cjs"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=16.0.0"
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist",
|
|
37
|
+
"LICENSE.md",
|
|
38
|
+
"README.md"
|
|
39
|
+
],
|
|
40
|
+
"publishConfig": {
|
|
41
|
+
"access": "public"
|
|
42
|
+
},
|
|
43
|
+
"sideEffects": false,
|
|
44
|
+
"peerDependencies": {
|
|
45
|
+
"node": "^16.0.0||^18.0.0||^20.0.0||^22.0.0",
|
|
46
|
+
"@ui-doc/core": "^0.1.00.0.0"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"picomatch": "^4.0.2"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@types/node": "^20.12.7",
|
|
53
|
+
"@types/picomatch": "^2.3.3",
|
|
54
|
+
"@ui-doc/core": "^0.0.0"
|
|
55
|
+
},
|
|
56
|
+
"scripts": {
|
|
57
|
+
"build": "rollup -c",
|
|
58
|
+
"prebuild": "rm -rf dist dist",
|
|
59
|
+
"prerelease": "pnpm build",
|
|
60
|
+
"release": "pnpm --workspace-root package:release $(pwd)",
|
|
61
|
+
"release:dry": "pnpm --workspace-root package:release-dry $(pwd)",
|
|
62
|
+
"test": "jest"
|
|
63
|
+
}
|
|
64
|
+
}
|