@nx/devkit 16.0.0-beta.7 → 16.0.0-beta.8
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/package.json +3 -3
- package/src/generators/generate-files.js +2 -32
- package/src/generators/generate-files.js.map +1 -1
- package/src/generators/visit-not-ignored-files.js +4 -0
- package/src/generators/visit-not-ignored-files.js.map +1 -1
- package/src/utils/binary-extensions.d.ts +1 -0
- package/src/utils/binary-extensions.js +50 -0
- package/src/utils/binary-extensions.js.map +1 -0
- package/src/utils/replace-package.js +5 -1
- package/src/utils/replace-package.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/devkit",
|
|
3
|
-
"version": "16.0.0-beta.
|
|
3
|
+
"version": "16.0.0-beta.8",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The Nx Devkit is used to customize Nx for different technologies and use cases. It contains many utility functions for reading and writing files, updating configuration, working with Abstract Syntax Trees(ASTs), and more.",
|
|
6
6
|
"repository": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"homepage": "https://nx.dev",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@nrwl/devkit": "16.0.0-beta.
|
|
31
|
+
"@nrwl/devkit": "16.0.0-beta.8",
|
|
32
32
|
"ejs": "^3.1.7",
|
|
33
33
|
"ignore": "^5.0.4",
|
|
34
34
|
"semver": "7.3.4",
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"migrations": "./migrations.json"
|
|
46
46
|
},
|
|
47
47
|
"types": "./index.d.ts",
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "200cf327337f17cea009d83e9055a628346b4084"
|
|
49
49
|
}
|
|
@@ -4,38 +4,8 @@ exports.generateFiles = void 0;
|
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const path = require("path");
|
|
6
6
|
const nx_1 = require("../../nx");
|
|
7
|
+
const binary_extensions_1 = require("../utils/binary-extensions");
|
|
7
8
|
const { logger } = (0, nx_1.requireNx)();
|
|
8
|
-
const binaryExts = new Set([
|
|
9
|
-
// // Image types originally from https://github.com/sindresorhus/image-type/blob/5541b6a/index.js
|
|
10
|
-
'.jpg',
|
|
11
|
-
'.jpeg',
|
|
12
|
-
'.png',
|
|
13
|
-
'.gif',
|
|
14
|
-
'.webp',
|
|
15
|
-
'.flif',
|
|
16
|
-
'.cr2',
|
|
17
|
-
'.tif',
|
|
18
|
-
'.bmp',
|
|
19
|
-
'.jxr',
|
|
20
|
-
'.psd',
|
|
21
|
-
'.ico',
|
|
22
|
-
'.bpg',
|
|
23
|
-
'.jp2',
|
|
24
|
-
'.jpm',
|
|
25
|
-
'.jpx',
|
|
26
|
-
'.heic',
|
|
27
|
-
'.cur',
|
|
28
|
-
'.tgz',
|
|
29
|
-
// Java files
|
|
30
|
-
'.jar',
|
|
31
|
-
'.keystore',
|
|
32
|
-
// Font files
|
|
33
|
-
'.ttf',
|
|
34
|
-
'.otf',
|
|
35
|
-
'.woff',
|
|
36
|
-
'.woff2',
|
|
37
|
-
'.eot',
|
|
38
|
-
]);
|
|
39
9
|
/**
|
|
40
10
|
* Generates a folder of files based on provided templates.
|
|
41
11
|
*
|
|
@@ -68,7 +38,7 @@ function generateFiles(tree, srcFolder, target, substitutions) {
|
|
|
68
38
|
files.forEach((filePath) => {
|
|
69
39
|
let newContent;
|
|
70
40
|
const computedPath = computePath(srcFolder, target, filePath, substitutions);
|
|
71
|
-
if (
|
|
41
|
+
if ((0, binary_extensions_1.isBinaryPath)(filePath)) {
|
|
72
42
|
newContent = (0, fs_1.readFileSync)(filePath);
|
|
73
43
|
}
|
|
74
44
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-files.js","sourceRoot":"","sources":["../../../../../packages/devkit/src/generators/generate-files.ts"],"names":[],"mappings":";;;AAAA,2BAAyD;AACzD,6BAA6B;AAE7B,iCAAqC;
|
|
1
|
+
{"version":3,"file":"generate-files.js","sourceRoot":"","sources":["../../../../../packages/devkit/src/generators/generate-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,16 @@ const path_1 = require("path");
|
|
|
7
7
|
* Utility to act on all files in a tree that are not ignored by git.
|
|
8
8
|
*/
|
|
9
9
|
function visitNotIgnoredFiles(tree, dirPath = tree.root, visitor) {
|
|
10
|
+
// TODO (v17): use packages/nx/src/utils/ignore.ts
|
|
10
11
|
let ig;
|
|
11
12
|
if (tree.exists('.gitignore')) {
|
|
12
13
|
ig = (0, ignore_1.default)();
|
|
13
14
|
ig.add('.git');
|
|
14
15
|
ig.add(tree.read('.gitignore', 'utf-8'));
|
|
15
16
|
}
|
|
17
|
+
if (tree.exists('.nxignore')) {
|
|
18
|
+
ig.add(tree.read('.nxignore', 'utf-8'));
|
|
19
|
+
}
|
|
16
20
|
dirPath = normalizePathRelativeToRoot(dirPath, tree.root);
|
|
17
21
|
if (dirPath !== '' && (ig === null || ig === void 0 ? void 0 : ig.ignores(dirPath))) {
|
|
18
22
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visit-not-ignored-files.js","sourceRoot":"","sources":["../../../../../packages/devkit/src/generators/visit-not-ignored-files.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"visit-not-ignored-files.js","sourceRoot":"","sources":["../../../../../packages/devkit/src/generators/visit-not-ignored-files.ts"],"names":[],"mappings":";;;AACA,mCAA4B;AAC5B,+BAA2C;AAE3C;;GAEG;AACH,SAAgB,oBAAoB,CAClC,IAAU,EACV,UAAkB,IAAI,CAAC,IAAI,EAC3B,OAA+B;IAE/B,kDAAkD;IAClD,IAAI,EAA6B,CAAC;IAClC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;QAC7B,EAAE,GAAG,IAAA,gBAAM,GAAE,CAAC;QACd,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACf,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;KAC1C;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QAC5B,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;KACzC;IACD,OAAO,GAAG,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,EAAE,KAAI,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,OAAO,CAAC,CAAA,EAAE;QAC1C,OAAO;KACR;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC1C,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;YACzB,SAAS;SACV;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACzB,OAAO,CAAC,QAAQ,CAAC,CAAC;SACnB;aAAM;YACL,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC/C;KACF;AACH,CAAC;AA9BD,oDA8BC;AAED,SAAS,2BAA2B,CAAC,IAAY,EAAE,IAAY;IAC7D,OAAO,IAAA,eAAQ,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isBinaryPath(path: string): boolean;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isBinaryPath = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const binaryExtensions = new Set([
|
|
6
|
+
// // Image types originally from https://github.com/sindresorhus/image-type/blob/5541b6a/index.js
|
|
7
|
+
'.jpg',
|
|
8
|
+
'.jpeg',
|
|
9
|
+
'.png',
|
|
10
|
+
'.gif',
|
|
11
|
+
'.webp',
|
|
12
|
+
'.flif',
|
|
13
|
+
'.cr2',
|
|
14
|
+
'.tif',
|
|
15
|
+
'.bmp',
|
|
16
|
+
'.jxr',
|
|
17
|
+
'.psd',
|
|
18
|
+
'.ico',
|
|
19
|
+
'.bpg',
|
|
20
|
+
'.jp2',
|
|
21
|
+
'.jpm',
|
|
22
|
+
'.jpx',
|
|
23
|
+
'.heic',
|
|
24
|
+
'.cur',
|
|
25
|
+
'.avif',
|
|
26
|
+
'.dcm',
|
|
27
|
+
// Compressed files
|
|
28
|
+
'.tgz',
|
|
29
|
+
'.gz',
|
|
30
|
+
'.zip',
|
|
31
|
+
// Documents
|
|
32
|
+
'.pdf',
|
|
33
|
+
// Java files
|
|
34
|
+
'.jar',
|
|
35
|
+
'.keystore',
|
|
36
|
+
// Font files
|
|
37
|
+
'.ttf',
|
|
38
|
+
'.otf',
|
|
39
|
+
'.woff',
|
|
40
|
+
'.woff2',
|
|
41
|
+
'.eot',
|
|
42
|
+
// Misc files
|
|
43
|
+
'.pxd',
|
|
44
|
+
'.pxz',
|
|
45
|
+
]);
|
|
46
|
+
function isBinaryPath(path) {
|
|
47
|
+
return binaryExtensions.has((0, path_1.extname)(path));
|
|
48
|
+
}
|
|
49
|
+
exports.isBinaryPath = isBinaryPath;
|
|
50
|
+
//# sourceMappingURL=binary-extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-extensions.js","sourceRoot":"","sources":["../../../../../packages/devkit/src/utils/binary-extensions.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,kGAAkG;IAClG,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IAEN,mBAAmB;IACnB,MAAM;IACN,KAAK;IACL,MAAM;IAEN,YAAY;IACZ,MAAM;IAEN,aAAa;IACb,MAAM;IACN,WAAW;IAEX,aAAa;IACb,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IAEN,aAAa;IACb,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC;AAFD,oCAEC"}
|
|
@@ -5,6 +5,7 @@ const nx_1 = require("../../nx");
|
|
|
5
5
|
const package_json_1 = require("./package-json");
|
|
6
6
|
const visit_not_ignored_files_1 = require("../generators/visit-not-ignored-files");
|
|
7
7
|
const path_1 = require("path");
|
|
8
|
+
const binary_extensions_1 = require("./binary-extensions");
|
|
8
9
|
const { getProjects, updateProjectConfiguration, readNxJson, updateNxJson, updateJson, } = (0, nx_1.requireNx)();
|
|
9
10
|
function replaceNrwlPackageWithNxPackage(tree, oldPackageName, newPackageName) {
|
|
10
11
|
replacePackageInDependencies(tree, oldPackageName, newPackageName);
|
|
@@ -94,13 +95,16 @@ function replacePackageInNxJson(tree, oldPackageName, newPackageName) {
|
|
|
94
95
|
}
|
|
95
96
|
function replaceMentions(tree, oldPackageName, newPackageName) {
|
|
96
97
|
(0, visit_not_ignored_files_1.visitNotIgnoredFiles)(tree, '.', (path) => {
|
|
98
|
+
if ((0, binary_extensions_1.isBinaryPath)(path)) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
97
101
|
const ignoredFiles = [
|
|
98
102
|
'yarn.lock',
|
|
99
103
|
'package-lock.json',
|
|
100
104
|
'pnpm-lock.yaml',
|
|
101
105
|
'CHANGELOG.md',
|
|
102
106
|
];
|
|
103
|
-
if (ignoredFiles.includes(path)) {
|
|
107
|
+
if (ignoredFiles.includes((0, path_1.basename)(path))) {
|
|
104
108
|
return;
|
|
105
109
|
}
|
|
106
110
|
const contents = tree.read(path).toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace-package.js","sourceRoot":"","sources":["../../../../../packages/devkit/src/utils/replace-package.ts"],"names":[],"mappings":";;;AAEA,iCAAqC;AACrC,iDAA4C;AAC5C,mFAA6E;AAC7E,+BAAgC;
|
|
1
|
+
{"version":3,"file":"replace-package.js","sourceRoot":"","sources":["../../../../../packages/devkit/src/utils/replace-package.ts"],"names":[],"mappings":"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"}
|