库的package.json配置在monorepo

时间:2019-09-15 15:28:32

标签: yarnpkg lerna monorepo yarn-workspaces

我在纱线工作区中使用lerna。如下所述,我使用命令yarn workspace @org/package-1 build:lib构建了我的库。 dist文件夹已生成。之后,我运行npx lerna publish。但是无法说明dist文件夹中没有package.json 为什么lerna需要在dist文件夹中包含package.json?我该如何解决?

{

    "main": "dist/index.js",
    "types": "dist/index.d.ts",
    "workspaces": [
        "packages/*"
    ],
    "publishConfig": {
        "access": "public",
        "directory": "dist"
    },
    "scripts": {
        "build:lib": "rm -rf dist & tsc -p ./tsconfig-lib.json",
    },
    "files": [
        "README.MD",
        "dist"
    ]
}

然后,如果我仍然提供了一个脚本来复制dist文件夹中的文件,则Lerna会选择它。这是我的修改。

{
    "main": "index.js",
    "types": "index.d.ts",
    "publishConfig": {
        "access": "public"
    },
    "scripts": {
        "bundle": "rm -rf dist & tsc -p ./tsconfig-lib.json",
        "copy": "cp README.MD package.json dist/",
        "build:lib": "yarn run bundle; yarn run copy;"
    },
   "files": [
        "README.MD",
        "**"
    ]
}

这一次,它确实选择并奇怪地将tarball内容发布为新软件包。但是最后有一个错误-lerna ERR! E402 You must sign up for private packages

0 个答案:

没有答案