@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 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(`${projectRoot}/lerna.json`, JSON.stringify({version: 'independent', packages: ['packages/*']}));
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 --no-ci --extends semantic-release-monorepo'
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['default'].all(await Promise.all([scaffoldLerna({projectRoot}), scaffoldRelease()]));
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;
@@ -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`, JSON.stringify({version: 'independent', packages: ['packages/*']}));\n\n return {\n devDependencies: ['lerna'],\n scripts: {bootstrap: 'lerna bootstrap', 'test:packages': 'lerna run --parallel test'}\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 --no-ci --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}) {\n return deepmerge.all(await Promise.all([scaffoldLerna({projectRoot}), scaffoldRelease()]));\n}\n"],"names":["fs","deepmerge"],"mappings":";;;;;;;;;;;AAEe,sBAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;AACxC,EAAEA,WAAE,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAChH;AACA,EAAE,OAAO;AACT,IAAI,eAAe,EAAE,CAAC,OAAO,CAAC;AAC9B,IAAI,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,2BAA2B,CAAC;AACzF,GAAG,CAAC;AACJ;;ACTe,wBAAQ,IAAI;AAC3B,EAAE,OAAO;AACT,IAAI,eAAe,EAAE,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;AACtE,IAAI,OAAO,EAAE;AACb,MAAM,OAAO,EAAE,gGAAgG;AAC/G,KAAK;AACL,GAAG,CAAC;AACJ;;ACHe,uBAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,OAAOC,6BAAS,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7F;;;;"}
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(`${projectRoot}/lerna.json`, JSON.stringify({version: 'independent', packages: ['packages/*']}));
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 --no-ci --extends semantic-release-monorepo'
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 };
@@ -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`, JSON.stringify({version: 'independent', packages: ['packages/*']}));\n\n return {\n devDependencies: ['lerna'],\n scripts: {bootstrap: 'lerna bootstrap', 'test:packages': 'lerna run --parallel test'}\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 --no-ci --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}) {\n return deepmerge.all(await Promise.all([scaffoldLerna({projectRoot}), scaffoldRelease()]));\n}\n"],"names":["fs"],"mappings":";;;AAEe,sBAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;AACxC,EAAEA,QAAE,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAChH;AACA,EAAE,OAAO;AACT,IAAI,eAAe,EAAE,CAAC,OAAO,CAAC;AAC9B,IAAI,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,2BAA2B,CAAC;AACzF,GAAG,CAAC;AACJ;;ACTe,wBAAQ,IAAI;AAC3B,EAAE,OAAO;AACT,IAAI,eAAe,EAAE,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;AACtE,IAAI,OAAO,EAAE;AACb,MAAM,OAAO,EAAE,gGAAgG;AAC/G,KAAK;AACL,GAAG,CAAC;AACJ;;ACHe,uBAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7F;;;;"}
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": "1.0.0",
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.12.1",
51
- "@cucumber/cucumber": "7.0.0-rc.0",
52
- "@form8ion/babel-preset": "1.6.39",
53
- "@form8ion/commitlint-config": "1.0.14",
54
- "@form8ion/eslint-config": "1.7.2",
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.9",
57
- "@form8ion/remark-lint-preset": "1.0.11",
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.15",
60
- "babel-plugin-istanbul": "6.0.0",
61
- "ban-sensitive-files": "1.9.14",
62
- "chai": "4.2.0",
63
- "codecov": "3.8.1",
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.1.3",
67
- "husky": "4.3.5",
68
- "lockfile-lint": "4.3.7",
69
- "mocha": "8.2.1",
70
- "mock-fs": "4.13.0",
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": "3.0.0",
74
- "remark-cli": "9.0.0",
75
- "remark-toc": "7.0.0",
76
- "remark-usage": "9.0.0",
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.34.2",
81
+ "rollup": "2.61.1",
79
82
  "rollup-plugin-auto-external": "2.0.0",
80
- "sinon": "9.2.1"
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
  }