( esbuild: any, outDir: string, api = true, pages = true, )
| 201 | }; |
| 202 | |
| 203 | export const build = async ( |
| 204 | esbuild: any, |
| 205 | outDir: string, |
| 206 | api = true, |
| 207 | pages = true, |
| 208 | ): Promise<void> => { |
| 209 | const {version, peerDependencies} = JSON.parse( |
| 210 | readFileSync('./package.json', 'utf-8'), |
| 211 | ); |
| 212 | |
| 213 | const baseUrl = version.includes('beta') |
| 214 | ? 'https://beta.tinybase.org' |
| 215 | : 'https://tinybase.org'; |
| 216 | writeFileSync( |
| 217 | 'site/js/version.ts', |
| 218 | `export const thisVersion = 'v${version}';`, |
| 219 | 'utf-8', |
| 220 | ); |
| 221 | |
| 222 | const docs = createDocs(baseUrl, outDir, !api && !pages) |
| 223 | .addReflectionTransform(removeSvelteInternalParam) |
| 224 | .addNodeTransform(extractThumbnailMarkdown) |
| 225 | .addNodeTransform(hidePrivateSvelteComponentChildren) |
| 226 | .addJsFile('site/js/home.ts') |
| 227 | .addJsFile('site/js/app.ts') |
| 228 | .addJsFile('site/js/single.ts') |
| 229 | .addLessFile('site/less/index.less') |
| 230 | .addDir('site/fonts', 'fonts') |
| 231 | .addDir('site/extras') |
| 232 | .addDir('site/data', 'assets') |
| 233 | .addStringFile( |
| 234 | `[{"countries":${readFileSync( |
| 235 | 'node_modules/country-flag-emoji-json/dist/by-code.json', |
| 236 | 'utf-8', |
| 237 | )}}, {}]`, |
| 238 | 'assets/countries.json', |
| 239 | ); |
| 240 | |
| 241 | if (api) { |
| 242 | addApi(docs); |
| 243 | } |
| 244 | if (pages) { |
| 245 | addPages(docs); |
| 246 | } |
| 247 | if (api || pages) { |
| 248 | await docs.generateNodes({ |
| 249 | group: getSorter(GROUPS), |
| 250 | category: getSorter(CATEGORIES), |
| 251 | reflection: getSorter(REFLECTIONS), |
| 252 | }); |
| 253 | await addDemoDocs(docs, esbuild, baseUrl); |
| 254 | docs |
| 255 | .addPageForEachNode('/', Page) |
| 256 | .addPageForEachNode('/', ArticleInner, 'article.html') |
| 257 | .addTextForEachNode('/', NavJson, 'nav.json') |
| 258 | .addPageForNode('/api/', Page, 'all.html', true) |
| 259 | .addMarkdownForNode('/', Readme, '../readme.md') |
| 260 | .addMarkdownForNode( |
searching dependent graphs…