diff --git a/package.json b/package.json index 0326e2f..153039a 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ }, "scripts": { "dev": "next dev --turbo", - "prebuild": "tsx ../scripts/export-slugs.ts && tsx ../scripts/scan-md.ts && tsx ../scripts/fetch-dl-index.ts && node ../scripts/copy-manifests.js && contentlayer build", + "prebuild": "tsx scripts/generate-content.ts && node scripts/build-contentlayer.mjs", "build": "next build", "build:static": "npm run prebuild && next build", "start": "node ./scripts/start.js", diff --git a/scripts/build-contentlayer.mjs b/scripts/build-contentlayer.mjs new file mode 100644 index 0000000..3b2d2be --- /dev/null +++ b/scripts/build-contentlayer.mjs @@ -0,0 +1,27 @@ +import * as core from '@contentlayer/core' +import { OT, pipe, T } from '@contentlayer/utils/effect' + +async function main() { + const buildEffect = pipe( + core.getConfig({ configPath: 'contentlayer.config.ts' }), + T.tap((config) => + config.source?.options?.disableImportAliasWarning ? T.unit : T.fork(core.validateTsconfig) + ), + T.chain((config) => core.generateDotpkg({ config, verbose: false })), + T.tap(core.logGenerateInfo), + OT.withSpan('scripts/build-contentlayer') + ) + + await pipe( + buildEffect, + core.runMain({ + tracingServiceName: 'contentlayer-cli', + verbose: false, + }) + ) +} + +main().catch((error) => { + console.error('Contentlayer build failed:', error) + process.exit(1) +})