create-yarn-workspaces 1.0.133 → 1.0.134
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/index.js +6 -3
- package/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.0.134](https://github.com/bluelovers/create-yarn-workspaces/compare/create-yarn-workspaces@1.0.133...create-yarn-workspaces@1.0.134) (2021-12-26)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### 🐛 Bug Fixes
|
|
10
|
+
|
|
11
|
+
* bug when cwd not exists any ws or root ([52d00ad](https://github.com/bluelovers/create-yarn-workspaces/commit/52d00ad47e776bf8fdc9fc2b228fd7e405701ea1))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [1.0.133](https://github.com/bluelovers/create-yarn-workspaces/compare/create-yarn-workspaces@1.0.132...create-yarn-workspaces@1.0.133) (2021-12-26)
|
|
7
18
|
|
|
8
19
|
|
package/index.js
CHANGED
|
@@ -14,19 +14,22 @@ const lib_1 = require("./lib");
|
|
|
14
14
|
const util_1 = require("./lib/util");
|
|
15
15
|
const wsCopyStaticFiles_1 = require("./lib/wsCopyStaticFiles");
|
|
16
16
|
const find_root_1 = require("@yarn-tool/find-root");
|
|
17
|
+
const upath2_2 = require("upath2");
|
|
17
18
|
tslib_1.__exportStar(require("./lib/index"), exports);
|
|
18
19
|
tslib_1.__exportStar(require("./lib/util"), exports);
|
|
19
20
|
function createYarnWorkspaces(cwd, options = {}) {
|
|
21
|
+
var _a;
|
|
20
22
|
if (cwd && typeof cwd != 'string') {
|
|
21
23
|
options = cwd;
|
|
22
24
|
cwd = options.cwd;
|
|
23
25
|
}
|
|
26
|
+
cwd !== null && cwd !== void 0 ? cwd : (cwd = process.cwd());
|
|
24
27
|
const rootData = (0, find_root_1.findRootLazy)({
|
|
25
28
|
cwd,
|
|
26
29
|
});
|
|
27
|
-
cwd = rootData.cwd;
|
|
28
|
-
let root = rootData.pkg;
|
|
29
|
-
let ws = rootData.ws;
|
|
30
|
+
cwd = (0, upath2_2.normalize)((_a = rootData === null || rootData === void 0 ? void 0 : rootData.cwd) !== null && _a !== void 0 ? _a : cwd);
|
|
31
|
+
let root = rootData === null || rootData === void 0 ? void 0 : rootData.pkg;
|
|
32
|
+
let ws = rootData === null || rootData === void 0 ? void 0 : rootData.ws;
|
|
30
33
|
let targetPath = (0, upath2_1.resolve)(root || cwd);
|
|
31
34
|
options.debug && logger_1.consoleLogger.debug({
|
|
32
35
|
targetPath,
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Created by user on 2018/5/13/013.\n */\n\nimport findYarnWorkspaceRoot from 'find-yarn-workspace-root2/core';\nimport { resolve, join, basename } from 'upath2';\nimport pkgDir from 'pkg-dir';\nimport { consoleLogger as console } from 'debug-color2/logger';\nimport { copyStaticFiles } from '@yarn-tool/static-file';\nimport { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs-extra';\nimport { sortPackageJson } from 'sort-package-json3';\nimport { getDefaultPackageJson } from './lib';\nimport { isSamePath } from './lib/util';\nimport { ILernaJson } from '@ts-type/package-dts/lerna-json';\nimport { IPackageJson } from '@ts-type/package-dts/package-json';\nimport { getWsCopyStaticFiles } from './lib/wsCopyStaticFiles';\nimport { findRootLazy } from '@yarn-tool/find-root';\n\nexport * from './lib/index';\nexport * from './lib/util';\n\nexport interface IOptions\n{\n\tcwd?: string,\n\n\tignoreParentWorkspaces?: boolean,\n\tignoreExistsPackage?: boolean,\n\n\tinitPackageJson?<T extends Record<string, any> = {}>(current: IPackageJson): IPackageJson & T,\n\n\tdebug?: boolean,\n}\n\nexport function createYarnWorkspaces(cwd?: string, options: IOptions = {})\n{\n\tif (cwd && typeof cwd != 'string')\n\t{\n\t\toptions = cwd;\n\t\tcwd = options.cwd;\n\t}\n\n\tconst rootData = findRootLazy({\n\t\tcwd,\n\t});\n\n\tcwd = rootData.cwd;\n\n\tlet root: string = rootData.pkg;\n\n\tlet ws: string = rootData.ws;\n\n\tlet targetPath = resolve(root || cwd);\n\n\toptions.debug && console.debug({\n\t\ttargetPath,\n\t\tws,\n\t\toptions,\n\t});\n\n\tif (!options.ignoreExistsPackage && root)\n\t{\n\t\tconsole.error(`already have package at \"${root}\", or use ignoreExistsPackage for overwrite it`);\n\n\t\treturn false;\n\t}\n\telse if (root)\n\t{\n\t\tconsole.warn(`ignore exists package \"${root}\"`);\n\t}\n\n\tif (ws)\n\t{\n\t\tlet bool: boolean = !isSamePath(targetPath, ws);\n\n\t\tconsole.warn(`detect exists workspace \"${ws}\"`);\n\n\t\tif (bool)\n\t\t{\n\t\t\tif (options.ignoreParentWorkspaces)\n\t\t\t{\n\t\t\t\tconsole.warn(`ignoreParentWorkspaces = true`);\n\t\t\t\tbool = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconsole.error(`target path already is workspace`);\n\t\t\t}\n\t\t}\n\n\t\tif (bool)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn _createYarnWorkspaces(targetPath);\n}\n\nexport function _createYarnWorkspaces(targetPath: string, options: IOptions = {})\n{\n\tconsole.info(`create in target path \"${targetPath}\"`);\n\n\tlet pkg: IPackageJson;\n\n\tlet lerna: ILernaJson;\n\n\t{\n\t\tlet file = join(targetPath, 'lerna.json');\n\n\t\tif (existsSync(file))\n\t\t{\n\t\t\tlet json: ILernaJson = JSON.parse(readFileSync(file).toString());\n\n\t\t\tif (json.packages && !Object.keys(json.packages).length)\n\t\t\t{\n\t\t\t\tjson.packages = undefined;\n\t\t\t}\n\n\t\t\tlerna = json;\n\t\t}\n\t}\n\n\tlet packages = lerna && lerna.packages || [\n\t\t\"packages/*\",\n\t];\n\n\tlet file = join(targetPath, 'package.json');\n\n\tif (!existsSync(file))\n\t{\n\t\tlet name = basename(targetPath);\n\n\t\tif (!existsSync(targetPath))\n\t\t{\n\t\t\tmkdirSync(targetPath);\n\t\t}\n\n\t\tpkg = Object.assign(getDefaultPackageJson(name), {\n\t\t\tname,\n\t\t\tworkspaces: packages,\n\t\t});\n\n\t\tif (options.initPackageJson)\n\t\t{\n\t\t\tlet ret = options.initPackageJson(pkg);\n\n\t\t\tif (ret)\n\t\t\t{\n\t\t\t\tpkg = ret;\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tlet json: IPackageJson = JSON.parse(readFileSync(file).toString());\n\n\t\tlet workspaces: ILernaJson['packages'];\n\n\t\tif (json.workspaces && Object.keys(json.workspaces).length)\n\t\t{\n\t\t\tworkspaces = json.workspaces;\n\n\t\t\t// https://yarnpkg.com/blog/2018/02/15/nohoist/\n\t\t\t// @ts-ignore\n\t\t\tpackages = workspaces.packages || workspaces;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tworkspaces = packages;\n\t\t}\n\n\t\tpkg = Object.assign(json, {\n\t\t\t\"private\": true,\n\t\t\t\"workspaces\": workspaces,\n\t\t});\n\n\t\tpkg.resolutions = pkg.resolutions || {};\n\n\t\tObject.entries(getDefaultPackageJson(json.name))\n\t\t\t.forEach(([field, value]) => {\n\n\t\t\t\tif (field === 'scripts')\n\t\t\t\t{\n\t\t\t\t\tpkg.scripts ??= {};\n\t\t\t\t\tpkg.scripts = {\n\t\t\t\t\t\t...value,\n\t\t\t\t\t\t...pkg.scripts,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpkg[field] ??= value\n\t\t\t\t}\n\n\t\t\t})\n\t\t;\n\n\t}\n\n\tlet s = JSON.stringify(sortPackageJson(pkg), null, 2);\n\twriteFileSync(file, s);\n\n\tconsole.success(`create workspace package.json`);\n\n\tif (lerna && (packages != lerna.packages || lerna.npmClient !== 'yarn' || lerna.useWorkspaces !== true))\n\t{\n\t\tlet file = join(targetPath, 'lerna.json');\n\n\t\tlerna.packages = packages;\n\t\tlerna.npmClient = 'yarn';\n\t\tlerna.useWorkspaces = true;\n\n\t\tlet s = JSON.stringify(sortPackageJson(lerna), null, 2);\n\t\twriteFileSync(file, s);\n\n\t\tconsole.info(`update lerna.json`);\n\t}\n\n\tconst file_map = getWsCopyStaticFiles();\n\n\tcopyStaticFiles({\n\t\tcwd: targetPath,\n\t\tfile_map,\n\t});\n\n\tcreateDirByPackages(targetPath, packages);\n\n\treturn true;\n}\n\nexport function createDirByPackages(cwd: string, packages: string[])\n{\n\treturn packages.some(function (value)\n\t{\n\t\tlet bool: boolean;\n\n\t\tlet s = value.split(/[\\/\\\\]/)[0];\n\n\t\tif (!/[!?\\*{}\\[\\]]/.test(s))\n\t\t{\n\t\t\tlet dir = join(cwd, s);\n\n\t\t\tif (!existsSync(dir))\n\t\t\t{\n\t\t\t\tmkdirSync(dir);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn bool;\n\t})\n}\n\nexport default createYarnWorkspaces;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;AAGH,mCAAiD;AAEjD,gDAA+D;AAC/D,wDAAyD;AACzD,uCAA8E;AAC9E,2DAAqD;AACrD,+BAA8C;AAC9C,qCAAwC;AAGxC,+DAA+D;AAC/D,oDAAoD;AACpD,mCAAoD;AAEpD,sDAA4B;AAC5B,qDAA2B;AAc3B,SAAgB,oBAAoB,CAAC,GAAY,EAAE,UAAoB,EAAE;;IAExE,IAAI,GAAG,IAAI,OAAO,GAAG,IAAI,QAAQ,EACjC;QACC,OAAO,GAAG,GAAG,CAAC;QACd,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;KAClB;IAED,GAAG,aAAH,GAAG,cAAH,GAAG,IAAH,GAAG,GAAK,OAAO,CAAC,GAAG,EAAE,EAAC;IAEtB,MAAM,QAAQ,GAAG,IAAA,wBAAY,EAAC;QAC7B,GAAG;KACH,CAAC,CAAC;IAEH,GAAG,GAAG,IAAA,kBAAa,EAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,mCAAI,GAAG,CAAC,CAAC;IAE1C,IAAI,IAAI,GAAW,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC;IACjC,IAAI,EAAE,GAAW,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAC;IAE9B,IAAI,UAAU,GAAG,IAAA,gBAAO,EAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IAEtC,OAAO,CAAC,KAAK,IAAI,sBAAO,CAAC,KAAK,CAAC;QAC9B,UAAU;QACV,EAAE;QACF,OAAO;KACP,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,IAAI,EACxC;QACC,sBAAO,CAAC,KAAK,CAAC,4BAA4B,IAAI,gDAAgD,CAAC,CAAC;QAEhG,OAAO,KAAK,CAAC;KACb;SACI,IAAI,IAAI,EACb;QACC,sBAAO,CAAC,IAAI,CAAC,0BAA0B,IAAI,GAAG,CAAC,CAAC;KAChD;IAED,IAAI,EAAE,EACN;QACC,IAAI,IAAI,GAAY,CAAC,IAAA,iBAAU,EAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAEhD,sBAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;QAEhD,IAAI,IAAI,EACR;YACC,IAAI,OAAO,CAAC,sBAAsB,EAClC;gBACC,sBAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAC9C,IAAI,GAAG,KAAK,CAAC;aACb;iBAED;gBACC,sBAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;aAClD;SACD;QAED,IAAI,IAAI,EACR;YACC,OAAO,KAAK,CAAC;SACb;KACD;IAED,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC;AAhED,oDAgEC;AAED,SAAgB,qBAAqB,CAAC,UAAkB,EAAE,UAAoB,EAAE;IAE/E,sBAAO,CAAC,IAAI,CAAC,0BAA0B,UAAU,GAAG,CAAC,CAAC;IAEtD,IAAI,GAAiB,CAAC;IAEtB,IAAI,KAAiB,CAAC;IAEtB;QACC,IAAI,IAAI,GAAG,IAAA,aAAI,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAE1C,IAAI,IAAA,qBAAU,EAAC,IAAI,CAAC,EACpB;YACC,IAAI,IAAI,GAAe,IAAI,CAAC,KAAK,CAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEjE,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EACvD;gBACC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;aAC1B;YAED,KAAK,GAAG,IAAI,CAAC;SACb;KACD;IAED,IAAI,QAAQ,GAAG,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI;QACzC,YAAY;KACZ,CAAC;IAEF,IAAI,IAAI,GAAG,IAAA,aAAI,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE5C,IAAI,CAAC,IAAA,qBAAU,EAAC,IAAI,CAAC,EACrB;QACC,IAAI,IAAI,GAAG,IAAA,iBAAQ,EAAC,UAAU,CAAC,CAAC;QAEhC,IAAI,CAAC,IAAA,qBAAU,EAAC,UAAU,CAAC,EAC3B;YACC,IAAA,oBAAS,EAAC,UAAU,CAAC,CAAC;SACtB;QAED,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,2BAAqB,EAAC,IAAI,CAAC,EAAE;YAChD,IAAI;YACJ,UAAU,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,eAAe,EAC3B;YACC,IAAI,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAEvC,IAAI,GAAG,EACP;gBACC,GAAG,GAAG,GAAG,CAAC;aACV;SACD;KACD;SAED;QACC,IAAI,IAAI,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEnE,IAAI,UAAkC,CAAC;QAEvC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAC1D;YACC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAE7B,+CAA+C;YAC/C,aAAa;YACb,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC;SAC7C;aAED;YACC,UAAU,GAAG,QAAQ,CAAC;SACtB;QAED,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACzB,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,UAAU;SACxB,CAAC,CAAC;QAEH,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QAExC,MAAM,CAAC,OAAO,CAAC,IAAA,2BAAqB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9C,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;;YAE3B,IAAI,KAAK,KAAK,SAAS,EACvB;gBACC,MAAA,GAAG,CAAC,OAAO,oCAAX,GAAG,CAAC,OAAO,GAAK,EAAE,EAAC;gBACnB,GAAG,CAAC,OAAO,GAAG;oBACb,GAAG,KAAK;oBACR,GAAG,GAAG,CAAC,OAAO;iBACd,CAAA;aACD;iBAED;gBACC,MAAA,GAAG,CAAC,KAAK,qCAAT,GAAG,CAAC,KAAK,IAAM,KAAK,EAAA;aACpB;QAEF,CAAC,CAAC,CACF;KAED;IAED,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAA,oCAAe,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,IAAA,wBAAa,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvB,sBAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAEjD,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,EACvG;QACC,IAAI,IAAI,GAAG,IAAA,aAAI,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAE1C,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;QACzB,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAA,oCAAe,EAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxD,IAAA,wBAAa,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEvB,sBAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAClC;IAED,MAAM,QAAQ,GAAG,IAAA,wCAAoB,GAAE,CAAC;IAExC,IAAA,6BAAe,EAAC;QACf,GAAG,EAAE,UAAU;QACf,QAAQ;KACR,CAAC,CAAC;IAEH,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE1C,OAAO,IAAI,CAAC;AACb,CAAC;AAlID,sDAkIC;AAED,SAAgB,mBAAmB,CAAC,GAAW,EAAE,QAAkB;IAElE,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,KAAK;QAEnC,IAAI,IAAa,CAAC;QAElB,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAC3B;YACC,IAAI,GAAG,GAAG,IAAA,aAAI,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAEvB,IAAI,CAAC,IAAA,qBAAU,EAAC,GAAG,CAAC,EACpB;gBACC,IAAA,oBAAS,EAAC,GAAG,CAAC,CAAC;aACf;YAED,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAA;AACH,CAAC;AAtBD,kDAsBC;AAED,kBAAe,oBAAoB,CAAC","sourcesContent":["/**\n * Created by user on 2018/5/13/013.\n */\n\nimport findYarnWorkspaceRoot from 'find-yarn-workspace-root2/core';\nimport { resolve, join, basename } from 'upath2';\nimport pkgDir from 'pkg-dir';\nimport { consoleLogger as console } from 'debug-color2/logger';\nimport { copyStaticFiles } from '@yarn-tool/static-file';\nimport { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs-extra';\nimport { sortPackageJson } from 'sort-package-json3';\nimport { getDefaultPackageJson } from './lib';\nimport { isSamePath } from './lib/util';\nimport { ILernaJson } from '@ts-type/package-dts/lerna-json';\nimport { IPackageJson } from '@ts-type/package-dts/package-json';\nimport { getWsCopyStaticFiles } from './lib/wsCopyStaticFiles';\nimport { findRootLazy } from '@yarn-tool/find-root';\nimport { normalize as pathNormalize } from 'upath2';\n\nexport * from './lib/index';\nexport * from './lib/util';\n\nexport interface IOptions\n{\n\tcwd?: string,\n\n\tignoreParentWorkspaces?: boolean,\n\tignoreExistsPackage?: boolean,\n\n\tinitPackageJson?<T extends Record<string, any> = {}>(current: IPackageJson): IPackageJson & T,\n\n\tdebug?: boolean,\n}\n\nexport function createYarnWorkspaces(cwd?: string, options: IOptions = {})\n{\n\tif (cwd && typeof cwd != 'string')\n\t{\n\t\toptions = cwd;\n\t\tcwd = options.cwd;\n\t}\n\n\tcwd ??= process.cwd();\n\n\tconst rootData = findRootLazy({\n\t\tcwd,\n\t});\n\n\tcwd = pathNormalize(rootData?.cwd ?? cwd);\n\n\tlet root: string = rootData?.pkg;\n\tlet ws: string = rootData?.ws;\n\n\tlet targetPath = resolve(root || cwd);\n\n\toptions.debug && console.debug({\n\t\ttargetPath,\n\t\tws,\n\t\toptions,\n\t});\n\n\tif (!options.ignoreExistsPackage && root)\n\t{\n\t\tconsole.error(`already have package at \"${root}\", or use ignoreExistsPackage for overwrite it`);\n\n\t\treturn false;\n\t}\n\telse if (root)\n\t{\n\t\tconsole.warn(`ignore exists package \"${root}\"`);\n\t}\n\n\tif (ws)\n\t{\n\t\tlet bool: boolean = !isSamePath(targetPath, ws);\n\n\t\tconsole.warn(`detect exists workspace \"${ws}\"`);\n\n\t\tif (bool)\n\t\t{\n\t\t\tif (options.ignoreParentWorkspaces)\n\t\t\t{\n\t\t\t\tconsole.warn(`ignoreParentWorkspaces = true`);\n\t\t\t\tbool = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconsole.error(`target path already is workspace`);\n\t\t\t}\n\t\t}\n\n\t\tif (bool)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn _createYarnWorkspaces(targetPath);\n}\n\nexport function _createYarnWorkspaces(targetPath: string, options: IOptions = {})\n{\n\tconsole.info(`create in target path \"${targetPath}\"`);\n\n\tlet pkg: IPackageJson;\n\n\tlet lerna: ILernaJson;\n\n\t{\n\t\tlet file = join(targetPath, 'lerna.json');\n\n\t\tif (existsSync(file))\n\t\t{\n\t\t\tlet json: ILernaJson = JSON.parse(readFileSync(file).toString());\n\n\t\t\tif (json.packages && !Object.keys(json.packages).length)\n\t\t\t{\n\t\t\t\tjson.packages = undefined;\n\t\t\t}\n\n\t\t\tlerna = json;\n\t\t}\n\t}\n\n\tlet packages = lerna && lerna.packages || [\n\t\t\"packages/*\",\n\t];\n\n\tlet file = join(targetPath, 'package.json');\n\n\tif (!existsSync(file))\n\t{\n\t\tlet name = basename(targetPath);\n\n\t\tif (!existsSync(targetPath))\n\t\t{\n\t\t\tmkdirSync(targetPath);\n\t\t}\n\n\t\tpkg = Object.assign(getDefaultPackageJson(name), {\n\t\t\tname,\n\t\t\tworkspaces: packages,\n\t\t});\n\n\t\tif (options.initPackageJson)\n\t\t{\n\t\t\tlet ret = options.initPackageJson(pkg);\n\n\t\t\tif (ret)\n\t\t\t{\n\t\t\t\tpkg = ret;\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tlet json: IPackageJson = JSON.parse(readFileSync(file).toString());\n\n\t\tlet workspaces: ILernaJson['packages'];\n\n\t\tif (json.workspaces && Object.keys(json.workspaces).length)\n\t\t{\n\t\t\tworkspaces = json.workspaces;\n\n\t\t\t// https://yarnpkg.com/blog/2018/02/15/nohoist/\n\t\t\t// @ts-ignore\n\t\t\tpackages = workspaces.packages || workspaces;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tworkspaces = packages;\n\t\t}\n\n\t\tpkg = Object.assign(json, {\n\t\t\t\"private\": true,\n\t\t\t\"workspaces\": workspaces,\n\t\t});\n\n\t\tpkg.resolutions = pkg.resolutions || {};\n\n\t\tObject.entries(getDefaultPackageJson(json.name))\n\t\t\t.forEach(([field, value]) => {\n\n\t\t\t\tif (field === 'scripts')\n\t\t\t\t{\n\t\t\t\t\tpkg.scripts ??= {};\n\t\t\t\t\tpkg.scripts = {\n\t\t\t\t\t\t...value,\n\t\t\t\t\t\t...pkg.scripts,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpkg[field] ??= value\n\t\t\t\t}\n\n\t\t\t})\n\t\t;\n\n\t}\n\n\tlet s = JSON.stringify(sortPackageJson(pkg), null, 2);\n\twriteFileSync(file, s);\n\n\tconsole.success(`create workspace package.json`);\n\n\tif (lerna && (packages != lerna.packages || lerna.npmClient !== 'yarn' || lerna.useWorkspaces !== true))\n\t{\n\t\tlet file = join(targetPath, 'lerna.json');\n\n\t\tlerna.packages = packages;\n\t\tlerna.npmClient = 'yarn';\n\t\tlerna.useWorkspaces = true;\n\n\t\tlet s = JSON.stringify(sortPackageJson(lerna), null, 2);\n\t\twriteFileSync(file, s);\n\n\t\tconsole.info(`update lerna.json`);\n\t}\n\n\tconst file_map = getWsCopyStaticFiles();\n\n\tcopyStaticFiles({\n\t\tcwd: targetPath,\n\t\tfile_map,\n\t});\n\n\tcreateDirByPackages(targetPath, packages);\n\n\treturn true;\n}\n\nexport function createDirByPackages(cwd: string, packages: string[])\n{\n\treturn packages.some(function (value)\n\t{\n\t\tlet bool: boolean;\n\n\t\tlet s = value.split(/[\\/\\\\]/)[0];\n\n\t\tif (!/[!?\\*{}\\[\\]]/.test(s))\n\t\t{\n\t\t\tlet dir = join(cwd, s);\n\n\t\t\tif (!existsSync(dir))\n\t\t\t{\n\t\t\t\tmkdirSync(dir);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn bool;\n\t})\n}\n\nexport default createYarnWorkspaces;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-yarn-workspaces",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.134",
|
|
4
4
|
"description": "yarn create yarn-workspaces npx create-yarn-workspaces",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"upath2": "^3.1.10",
|
|
62
62
|
"yargs": "^17.3.1"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "6423eb5ee87de2f99349e568caf1eed7dfb764c9"
|
|
65
65
|
}
|