林一二2023年06月13日 15:00
- 创建 monorepo
- lerna add 报错
require() of ES Module ERR_REQUIRE_ESM,无解弃用 lerna 改用 pnpm Workspace - pnpm workspace 没有类似
lerna add的功能,需要手动创建文件夹,并修改 pnpm-workspace.yaml
- lerna add 报错
- 编译文件
- swc 执行
pnpm --filter memeloop exec spack报错load_transformed failed和Syntax Error,添加.swcrc并设置"syntax": "typescript",和"legacyDecorator": true等解决 - TS alias 通过
jsc.paths解决 - 报错
thread '<unnamed>' panicked at 'cannot access a scoped thread local variable without calling set first'无解 - 改用 rollup ,
rollup-plugin-swc插件报错swc is not a function不可用 - 搜到
rollup-plugin-swc3,用--configPlugin swc3报错Error: unknown variant es6,只好用--configPlugin typescript。后来发现是因为 tsconfig 里填了 ES6,改为 ES2015 就好了 - 配了一堆 rollup 插件,不过因为文件里有很多坑没填完不确定能不能编译。现在对
import type { Options as SwcOptions } from '@swc/core';又报Unexpected token,发现用--configPlugin swc3即可 - 至此配好了环境,关闭了 64 个查 monorepo 的标签页,ChatGPT 对这些库的新的文档一无所知帮不上忙
pnpm add openai --filter plugins/openai说No projects matched the filters用不了 pnpm Workspace,即使pnpm-workspace.yaml已填- 'plugins/*'也没用。观察 slidevjs/slidev 的用法发现得加./即pnpm add openai --filter ./plugins/openai才行- 单独用 swc 插件没法生成 dts 文件,而 dts 插件又与 swc 冲突,后来看例子意识到 rollup 配置可以导出数组,一个配置生成 js 一个生成 dts 即可
- 尝试用 typedoc 生成文档,但是一直报错
Failed to find any packages
- swc 执行
Undefined widget 'supertag-form'