@form8ion/lerna 1.0.0 → 2.0.0
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/README.md +4 -1
- package/example.js +2 -1
- package/lib/index.cjs.js +18 -6
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.es.js +18 -6
- package/lib/index.es.js.map +1 -1
- package/package.json +31 -25
package/README.md
CHANGED
|
@@ -14,6 +14,8 @@ opinionated scaffolder for monorepos managed with [Lerna](https://lerna.js.org/)
|
|
|
14
14
|
* [Usage](#usage)
|
|
15
15
|
* [Installation](#installation)
|
|
16
16
|
* [Example](#example)
|
|
17
|
+
* [Import](#import)
|
|
18
|
+
* [Execute](#execute)
|
|
17
19
|
* [Contributing](#contributing)
|
|
18
20
|
* [Dependencies](#dependencies)
|
|
19
21
|
* [Verification](#verification)
|
|
@@ -39,6 +41,7 @@ $ npm install @form8ion/lerna --save
|
|
|
39
41
|
#### Import
|
|
40
42
|
|
|
41
43
|
```javascript
|
|
44
|
+
import {packageManagers} from '@form8ion/javascript-core';
|
|
42
45
|
import {scaffold} from '@form8ion/lerna';
|
|
43
46
|
```
|
|
44
47
|
|
|
@@ -46,7 +49,7 @@ import {scaffold} from '@form8ion/lerna';
|
|
|
46
49
|
|
|
47
50
|
```javascript
|
|
48
51
|
(async () => {
|
|
49
|
-
await scaffold({projectRoot: process.cwd()});
|
|
52
|
+
await scaffold({projectRoot: process.cwd(), packageManager: packageManagers.NPM});
|
|
50
53
|
})();
|
|
51
54
|
```
|
|
52
55
|
|
package/example.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// #### Import
|
|
2
2
|
// remark-usage-ignore-next
|
|
3
3
|
import stubbedFs from 'mock-fs';
|
|
4
|
+
import {packageManagers} from '@form8ion/javascript-core';
|
|
4
5
|
import {scaffold} from './lib/index.cjs';
|
|
5
6
|
|
|
6
7
|
// remark-usage-ignore-next
|
|
@@ -9,5 +10,5 @@ stubbedFs();
|
|
|
9
10
|
// #### Execute
|
|
10
11
|
|
|
11
12
|
(async () => {
|
|
12
|
-
await scaffold({projectRoot: process.cwd()});
|
|
13
|
+
await scaffold({projectRoot: process.cwd(), packageManager: packageManagers.NPM});
|
|
13
14
|
})();
|
package/lib/index.cjs.js
CHANGED
|
@@ -9,12 +9,24 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
9
9
|
|
|
10
10
|
var deepmerge__default = /*#__PURE__*/_interopDefaultLegacy(deepmerge);
|
|
11
11
|
|
|
12
|
-
function scaffoldLerna ({projectRoot}) {
|
|
13
|
-
fs.promises.writeFile(
|
|
12
|
+
function scaffoldLerna ({projectRoot, packageManager}) {
|
|
13
|
+
fs.promises.writeFile(
|
|
14
|
+
`${projectRoot}/lerna.json`,
|
|
15
|
+
JSON.stringify({version: 'independent', packages: ['packages/*'], npmClient: packageManager})
|
|
16
|
+
);
|
|
14
17
|
|
|
15
18
|
return {
|
|
16
19
|
devDependencies: ['lerna'],
|
|
17
|
-
scripts: {bootstrap: 'lerna bootstrap', 'test:packages': 'lerna run --parallel test'}
|
|
20
|
+
scripts: {bootstrap: 'lerna bootstrap', 'test:packages': 'lerna run --parallel test'},
|
|
21
|
+
badges: {
|
|
22
|
+
contribution: {
|
|
23
|
+
lerna: {
|
|
24
|
+
text: 'lerna',
|
|
25
|
+
link: 'https://lerna.js.org/',
|
|
26
|
+
img: 'https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg'
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
18
30
|
};
|
|
19
31
|
}
|
|
20
32
|
|
|
@@ -22,13 +34,13 @@ function scaffoldRelease () {
|
|
|
22
34
|
return {
|
|
23
35
|
devDependencies: ['semantic-release', 'semantic-release-monorepo'],
|
|
24
36
|
scripts: {
|
|
25
|
-
release: 'lerna exec --concurrency 1 -- npx semantic-release --
|
|
37
|
+
release: 'lerna exec --concurrency 1 -- npx semantic-release --extends semantic-release-monorepo'
|
|
26
38
|
}
|
|
27
39
|
};
|
|
28
40
|
}
|
|
29
41
|
|
|
30
|
-
async function scaffold ({projectRoot}) {
|
|
31
|
-
return deepmerge__default[
|
|
42
|
+
async function scaffold ({projectRoot, packageManager}) {
|
|
43
|
+
return deepmerge__default["default"].all(await Promise.all([scaffoldLerna({projectRoot, packageManager}), scaffoldRelease()]));
|
|
32
44
|
}
|
|
33
45
|
|
|
34
46
|
exports.scaffold = scaffold;
|
package/lib/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/lerna.js","../src/release.js","../src/scaffold.js"],"sourcesContent":["import {promises as fs} from 'fs';\n\nexport default function ({projectRoot}) {\n fs.writeFile(`${projectRoot}/lerna.json
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/lerna.js","../src/release.js","../src/scaffold.js"],"sourcesContent":["import {promises as fs} from 'fs';\n\nexport default function ({projectRoot, packageManager}) {\n fs.writeFile(\n `${projectRoot}/lerna.json`,\n JSON.stringify({version: 'independent', packages: ['packages/*'], npmClient: packageManager})\n );\n\n return {\n devDependencies: ['lerna'],\n scripts: {bootstrap: 'lerna bootstrap', 'test:packages': 'lerna run --parallel test'},\n badges: {\n contribution: {\n lerna: {\n text: 'lerna',\n link: 'https://lerna.js.org/',\n img: 'https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg'\n }\n }\n }\n };\n}\n","export default function () {\n return {\n devDependencies: ['semantic-release', 'semantic-release-monorepo'],\n scripts: {\n release: 'lerna exec --concurrency 1 -- npx semantic-release --extends semantic-release-monorepo'\n }\n };\n}\n","import deepmerge from 'deepmerge';\nimport scaffoldLerna from './lerna';\nimport scaffoldRelease from './release';\n\nexport default async function ({projectRoot, packageManager}) {\n return deepmerge.all(await Promise.all([scaffoldLerna({projectRoot, packageManager}), scaffoldRelease()]));\n}\n"],"names":["fs","deepmerge"],"mappings":";;;;;;;;;;;AAEe,sBAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AACxD,EAAEA,WAAE,CAAC,SAAS;AACd,IAAI,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC;AAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;AACjG,GAAG,CAAC;AACJ;AACA,EAAE,OAAO;AACT,IAAI,eAAe,EAAE,CAAC,OAAO,CAAC;AAC9B,IAAI,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,2BAA2B,CAAC;AACzF,IAAI,MAAM,EAAE;AACZ,MAAM,YAAY,EAAE;AACpB,QAAQ,KAAK,EAAE;AACf,UAAU,IAAI,EAAE,OAAO;AACvB,UAAU,IAAI,EAAE,uBAAuB;AACvC,UAAU,GAAG,EAAE,iEAAiE;AAChF,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ;;ACrBe,wBAAQ,IAAI;AAC3B,EAAE,OAAO;AACT,IAAI,eAAe,EAAE,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;AACtE,IAAI,OAAO,EAAE;AACb,MAAM,OAAO,EAAE,wFAAwF;AACvG,KAAK;AACL,GAAG,CAAC;AACJ;;ACHe,uBAAc,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAC9D,EAAE,OAAOC,6BAAS,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7G;;;;"}
|
package/lib/index.es.js
CHANGED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
import deepmerge from 'deepmerge';
|
|
2
2
|
import { promises } from 'fs';
|
|
3
3
|
|
|
4
|
-
function scaffoldLerna ({projectRoot}) {
|
|
5
|
-
promises.writeFile(
|
|
4
|
+
function scaffoldLerna ({projectRoot, packageManager}) {
|
|
5
|
+
promises.writeFile(
|
|
6
|
+
`${projectRoot}/lerna.json`,
|
|
7
|
+
JSON.stringify({version: 'independent', packages: ['packages/*'], npmClient: packageManager})
|
|
8
|
+
);
|
|
6
9
|
|
|
7
10
|
return {
|
|
8
11
|
devDependencies: ['lerna'],
|
|
9
|
-
scripts: {bootstrap: 'lerna bootstrap', 'test:packages': 'lerna run --parallel test'}
|
|
12
|
+
scripts: {bootstrap: 'lerna bootstrap', 'test:packages': 'lerna run --parallel test'},
|
|
13
|
+
badges: {
|
|
14
|
+
contribution: {
|
|
15
|
+
lerna: {
|
|
16
|
+
text: 'lerna',
|
|
17
|
+
link: 'https://lerna.js.org/',
|
|
18
|
+
img: 'https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg'
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
10
22
|
};
|
|
11
23
|
}
|
|
12
24
|
|
|
@@ -14,13 +26,13 @@ function scaffoldRelease () {
|
|
|
14
26
|
return {
|
|
15
27
|
devDependencies: ['semantic-release', 'semantic-release-monorepo'],
|
|
16
28
|
scripts: {
|
|
17
|
-
release: 'lerna exec --concurrency 1 -- npx semantic-release --
|
|
29
|
+
release: 'lerna exec --concurrency 1 -- npx semantic-release --extends semantic-release-monorepo'
|
|
18
30
|
}
|
|
19
31
|
};
|
|
20
32
|
}
|
|
21
33
|
|
|
22
|
-
async function scaffold ({projectRoot}) {
|
|
23
|
-
return deepmerge.all(await Promise.all([scaffoldLerna({projectRoot}), scaffoldRelease()]));
|
|
34
|
+
async function scaffold ({projectRoot, packageManager}) {
|
|
35
|
+
return deepmerge.all(await Promise.all([scaffoldLerna({projectRoot, packageManager}), scaffoldRelease()]));
|
|
24
36
|
}
|
|
25
37
|
|
|
26
38
|
export { scaffold };
|
package/lib/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/lerna.js","../src/release.js","../src/scaffold.js"],"sourcesContent":["import {promises as fs} from 'fs';\n\nexport default function ({projectRoot}) {\n fs.writeFile(`${projectRoot}/lerna.json
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/lerna.js","../src/release.js","../src/scaffold.js"],"sourcesContent":["import {promises as fs} from 'fs';\n\nexport default function ({projectRoot, packageManager}) {\n fs.writeFile(\n `${projectRoot}/lerna.json`,\n JSON.stringify({version: 'independent', packages: ['packages/*'], npmClient: packageManager})\n );\n\n return {\n devDependencies: ['lerna'],\n scripts: {bootstrap: 'lerna bootstrap', 'test:packages': 'lerna run --parallel test'},\n badges: {\n contribution: {\n lerna: {\n text: 'lerna',\n link: 'https://lerna.js.org/',\n img: 'https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg'\n }\n }\n }\n };\n}\n","export default function () {\n return {\n devDependencies: ['semantic-release', 'semantic-release-monorepo'],\n scripts: {\n release: 'lerna exec --concurrency 1 -- npx semantic-release --extends semantic-release-monorepo'\n }\n };\n}\n","import deepmerge from 'deepmerge';\nimport scaffoldLerna from './lerna';\nimport scaffoldRelease from './release';\n\nexport default async function ({projectRoot, packageManager}) {\n return deepmerge.all(await Promise.all([scaffoldLerna({projectRoot, packageManager}), scaffoldRelease()]));\n}\n"],"names":["fs"],"mappings":";;;AAEe,sBAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AACxD,EAAEA,QAAE,CAAC,SAAS;AACd,IAAI,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC;AAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;AACjG,GAAG,CAAC;AACJ;AACA,EAAE,OAAO;AACT,IAAI,eAAe,EAAE,CAAC,OAAO,CAAC;AAC9B,IAAI,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,2BAA2B,CAAC;AACzF,IAAI,MAAM,EAAE;AACZ,MAAM,YAAY,EAAE;AACpB,QAAQ,KAAK,EAAE;AACf,UAAU,IAAI,EAAE,OAAO;AACvB,UAAU,IAAI,EAAE,uBAAuB;AACvC,UAAU,GAAG,EAAE,iEAAiE;AAChF,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ;;ACrBe,wBAAQ,IAAI;AAC3B,EAAE,OAAO;AACT,IAAI,eAAe,EAAE,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;AACtE,IAAI,OAAO,EAAE;AACb,MAAM,OAAO,EAAE,wFAAwF;AACvG,KAAK;AACL,GAAG,CAAC;AACJ;;ACHe,uBAAc,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAC9D,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7G;;;;"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@form8ion/lerna",
|
|
3
3
|
"description": "opinionated scaffolder for monorepos managed with lerna",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "2.0.0",
|
|
6
6
|
"files": [
|
|
7
7
|
"example.js",
|
|
8
8
|
"lib/"
|
|
@@ -44,42 +44,48 @@
|
|
|
44
44
|
"test:unit": "cross-env NODE_ENV=test nyc run-s test:unit:base",
|
|
45
45
|
"coverage:report": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
|
|
46
46
|
"test:unit:base": "DEBUG=any mocha 'src/**/*-test.js'",
|
|
47
|
-
"lint:peer": "npm ls >/dev/null"
|
|
47
|
+
"lint:peer": "npm ls >/dev/null",
|
|
48
|
+
"prepare": "husky install"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
|
-
"@babel/register": "7.
|
|
51
|
-
"@cucumber/cucumber": "7.
|
|
52
|
-
"@form8ion/babel-preset": "1.6.
|
|
53
|
-
"@form8ion/commitlint-config": "1.0.
|
|
54
|
-
"@form8ion/eslint-config": "1.
|
|
51
|
+
"@babel/register": "7.16.5",
|
|
52
|
+
"@cucumber/cucumber": "7.3.1",
|
|
53
|
+
"@form8ion/babel-preset": "1.6.73",
|
|
54
|
+
"@form8ion/commitlint-config": "1.0.23",
|
|
55
|
+
"@form8ion/eslint-config": "1.10.0",
|
|
55
56
|
"@form8ion/eslint-config-cucumber": "1.4.0",
|
|
56
|
-
"@form8ion/eslint-config-mocha": "1.2.
|
|
57
|
-
"@form8ion/
|
|
57
|
+
"@form8ion/eslint-config-mocha": "1.2.16",
|
|
58
|
+
"@form8ion/javascript-core": "4.0.1",
|
|
59
|
+
"@form8ion/remark-lint-preset": "2.1.7",
|
|
58
60
|
"@istanbuljs/nyc-config-babel": "3.0.0",
|
|
59
|
-
"@travi/any": "2.0.
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
61
|
+
"@travi/any": "2.0.19",
|
|
62
|
+
"@form8ion/javascript": "2.0.0",
|
|
63
|
+
"babel-plugin-istanbul": "6.1.1",
|
|
64
|
+
"ban-sensitive-files": "1.9.16",
|
|
65
|
+
"chai": "4.3.4",
|
|
66
|
+
"codecov": "3.8.3",
|
|
64
67
|
"cross-env": "7.0.3",
|
|
65
68
|
"cz-conventional-changelog": "3.3.0",
|
|
66
|
-
"gherkin-lint": "4.
|
|
67
|
-
"husky": "
|
|
68
|
-
"lockfile-lint": "4.
|
|
69
|
-
"mocha": "
|
|
70
|
-
"mock-fs": "
|
|
69
|
+
"gherkin-lint": "4.2.2",
|
|
70
|
+
"husky": "7.0.4",
|
|
71
|
+
"lockfile-lint": "4.6.2",
|
|
72
|
+
"mocha": "9.1.3",
|
|
73
|
+
"mock-fs": "5.1.2",
|
|
71
74
|
"npm-run-all": "4.1.5",
|
|
72
75
|
"nyc": "15.1.0",
|
|
73
|
-
"package-preview": "
|
|
74
|
-
"remark-cli": "
|
|
75
|
-
"remark-toc": "
|
|
76
|
-
"remark-usage": "
|
|
76
|
+
"package-preview": "4.0.0",
|
|
77
|
+
"remark-cli": "10.0.1",
|
|
78
|
+
"remark-toc": "8.0.1",
|
|
79
|
+
"remark-usage": "10.0.1",
|
|
77
80
|
"rimraf": "3.0.2",
|
|
78
|
-
"rollup": "2.
|
|
81
|
+
"rollup": "2.61.1",
|
|
79
82
|
"rollup-plugin-auto-external": "2.0.0",
|
|
80
|
-
"sinon": "
|
|
83
|
+
"sinon": "12.0.1"
|
|
81
84
|
},
|
|
82
85
|
"dependencies": {
|
|
83
86
|
"deepmerge": "^4.2.2"
|
|
87
|
+
},
|
|
88
|
+
"peerDependencies": {
|
|
89
|
+
"@form8ion/javascript": ">=2.0.0"
|
|
84
90
|
}
|
|
85
91
|
}
|