Skip to content

Commit 2e7d09d

Browse files
moves tsdoc scripts (#1843)
1 parent a9ad196 commit 2e7d09d

File tree

8 files changed

+53
-12
lines changed

8 files changed

+53
-12
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"create-package": "node ./scripts/create-package.js",
1313
"build": "turbo run build tsc",
1414
"build-storybook": "storybook build",
15-
"build:docs": "npx ts-node ./scripts/parse-tsdocs.ts",
15+
"build:docs": "lg-tsdoc",
1616
"chromatic": "npx chromatic",
1717
"clean": "yarn clean:builds && yarn clean:modules",
1818
"clean:builds": "rm -rf packages/*/dist packages/*/tsconfig.tsbuildinfo ./tsconfig.tsbuildinfo packages/**/stories.js",

tools/build/bin/tsdoc.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#! /usr/bin/env node
2+
require('../dist/tsdoc.js');

tools/build/package.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
"publishConfig": {
77
"access": "public"
88
},
9+
"bin": {
10+
"lg-tsdoc": "./bin/tsdoc.js"
11+
},
12+
"scripts": {
13+
"build": "rollup -c rollup.config.mjs"
14+
},
915
"dependencies": {
1016
"@babel/core": "^7.9.0",
1117
"@babel/plugin-proposal-class-properties": "^7.8.3",
@@ -30,7 +36,13 @@
3036
"@svgr/babel-plugin-replace-jsx-attribute-value": "^8.0.0",
3137
"@svgr/cli": "^8.0.0",
3238
"@svgr/rollup": "^8.0.0",
39+
"chalk": "^4.0.0",
40+
"commander": "^11.0.0",
41+
"react-docgen-typescript": "^2.2.2",
3342
"rollup": "^3.25.0",
3443
"rollup-plugin-node-externals": "^6.1.1"
44+
},
45+
"peerDependencies": {
46+
"typescript": "^4.6.3"
3547
}
3648
}

tools/build/rollup.config.mjs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { umdConfig } from '@lg-tools/build/config/rollup.config.mjs';
2+
3+
const config = {
4+
...umdConfig,
5+
input: 'src/tsdoc/tsdoc.ts',
6+
};
7+
8+
export default config;

scripts/parse-tsdocs.ts renamed to tools/build/src/tsdoc/tsdoc.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,22 @@ import { Command } from 'commander';
33
import fs from 'fs';
44
import path from 'path';
55

6-
import { writeDocs } from './utils/tsDocParser';
6+
import { writeDocs } from './tsDocParser';
7+
8+
const rootDir = process.cwd();
9+
10+
// TODO:
11+
// This script should run on a single package,
12+
// and be a part of the turbo build process
13+
// to take advantage of caching
714

815
const cli = new Command('parse-tsdoc')
916
.arguments('[packages]')
10-
.option('-r, --root <path>', 'Source packages directory', '../packages')
17+
.option('-r, --root <path>', 'Source packages directory', './packages')
1118
.option(
1219
'-o, --out <path>',
1320
'Directory to write the doc files (must have the same component folder(s) as source)',
14-
'../packages',
21+
'./packages',
1522
)
1623
.parse(process.argv);
1724

@@ -24,7 +31,7 @@ const outDir = cli.opts()['out'];
2431
if (cli.args.length) {
2532
cli.args.forEach(generateDocFiles);
2633
} else {
27-
const packagesDir = path.resolve(__dirname, packagesRoot);
34+
const packagesDir = path.resolve(rootDir, packagesRoot);
2835
const packages = fs.readdirSync(packagesDir);
2936
packages.forEach(generateDocFiles);
3037
}
@@ -36,7 +43,7 @@ if (cli.args.length) {
3643
function generateDocFiles(componentName: string): void {
3744
writeDocs(
3845
componentName,
39-
path.resolve(__dirname, packagesRoot),
40-
path.resolve(__dirname, outDir),
46+
path.resolve(rootDir, packagesRoot),
47+
path.resolve(rootDir, outDir),
4148
);
4249
}
File renamed without changes.

scripts/utils/tsDocParser.ts renamed to tools/build/src/tsdoc/tsdocParser.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ interface ParseFunctionOptions {
8282
excludeTags?: Array<string>;
8383
}
8484
const defaultParseFunctionOptions = {
85-
packagesRoot: path.resolve(__dirname, '../../packages'),
85+
packagesRoot: path.resolve(process.cwd(), 'packages'),
8686
excludeTags: ['example', 'internal', 'noDocgen'],
8787
};
8888

@@ -103,7 +103,7 @@ export function parseTSDoc(
103103
);
104104

105105
const componentDir = path.resolve(
106-
__dirname,
106+
process.cwd(),
107107
`${packagesRoot}/${componentName}`,
108108
);
109109

@@ -185,8 +185,8 @@ export function parseTSDoc(
185185
*/
186186
export function writeDocs(
187187
componentName: string,
188-
packagesRoot = path.resolve(__dirname, '../../packages'),
189-
outDir = path.resolve(__dirname, '../../packages'),
188+
packagesRoot: string,
189+
outDir: string,
190190
): void {
191191
const docs = parseTSDoc(componentName);
192192
const docString = JSON.stringify(docs, null, 2);
@@ -200,7 +200,7 @@ export function writeDocs(
200200
);
201201

202202
const outFilePath = path.resolve(
203-
__dirname,
203+
process.cwd(),
204204
`${outDir}/${componentName}/tsdoc.json`,
205205
);
206206

tools/build/tsconfig.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"extends": "@lg-tools/build/config/package.tsconfig.json",
3+
"compilerOptions": {
4+
"declarationDir": "dist",
5+
"outDir": "dist",
6+
"rootDir": "src",
7+
"baseUrl": "."
8+
},
9+
"include": [
10+
"src/**/*"
11+
]
12+
}

0 commit comments

Comments
 (0)