create-nx-plugin 15.9.2 → 16.0.0-beta.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/bin/create-nx-plugin.d.ts +23 -0
- package/bin/create-nx-plugin.js +85 -139
- package/bin/create-nx-plugin.js.map +1 -1
- package/package.json +5 -6
- package/bin/detect-invoked-package-manager.d.ts +0 -13
- package/bin/detect-invoked-package-manager.js +0 -31
- package/bin/detect-invoked-package-manager.js.map +0 -1
- package/bin/shared.d.ts +0 -3
- package/bin/shared.js +0 -107
- package/bin/shared.js.map +0 -1
|
@@ -1,2 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import yargs = require('yargs');
|
|
3
|
+
import { CI } from 'create-nx-workspace/src/utils/ci/ci-list';
|
|
4
|
+
import type { PackageManager } from 'create-nx-workspace/src/utils/package-manager';
|
|
5
|
+
export declare const yargsDecorator: {
|
|
6
|
+
'Options:': string;
|
|
7
|
+
'Examples:': string;
|
|
8
|
+
boolean: string;
|
|
9
|
+
count: string;
|
|
10
|
+
string: string;
|
|
11
|
+
array: string;
|
|
12
|
+
required: string;
|
|
13
|
+
'default:': string;
|
|
14
|
+
'choices:': string;
|
|
15
|
+
'aliases:': string;
|
|
16
|
+
};
|
|
17
|
+
interface CreateNxPluginArguments {
|
|
18
|
+
pluginName: string;
|
|
19
|
+
packageManager: PackageManager;
|
|
20
|
+
ci: CI;
|
|
21
|
+
allPrompts: boolean;
|
|
22
|
+
nxCloud: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare const commandsObject: yargs.Argv<CreateNxPluginArguments>;
|
|
2
25
|
export {};
|
package/bin/create-nx-plugin.js
CHANGED
|
@@ -1,114 +1,28 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const fs_1 = require("fs");
|
|
8
|
-
const path = require("path");
|
|
9
|
-
const tmp_1 = require("tmp");
|
|
10
|
-
const shared_1 = require("./shared");
|
|
11
|
-
const detect_invoked_package_manager_1 = require("./detect-invoked-package-manager");
|
|
4
|
+
exports.commandsObject = exports.yargsDecorator = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const chalk = require("chalk");
|
|
12
7
|
const enquirer = require("enquirer");
|
|
13
|
-
const
|
|
8
|
+
const yargs = require("yargs");
|
|
9
|
+
const prompts_1 = require("create-nx-workspace/src/internal-utils/prompts");
|
|
10
|
+
const yargs_options_1 = require("create-nx-workspace/src/internal-utils/yargs-options");
|
|
11
|
+
const create_nx_workspace_1 = require("create-nx-workspace");
|
|
12
|
+
const output_1 = require("create-nx-workspace/src/utils/output");
|
|
13
|
+
exports.yargsDecorator = {
|
|
14
|
+
'Options:': `${chalk.green `Options`}:`,
|
|
15
|
+
'Examples:': `${chalk.green `Examples`}:`,
|
|
16
|
+
boolean: `${chalk.blue `boolean`}`,
|
|
17
|
+
count: `${chalk.blue `count`}`,
|
|
18
|
+
string: `${chalk.blue `string`}`,
|
|
19
|
+
array: `${chalk.blue `array`}`,
|
|
20
|
+
required: `${chalk.blue `required`}`,
|
|
21
|
+
'default:': `${chalk.blue `default`}:`,
|
|
22
|
+
'choices:': `${chalk.blue `choices`}:`,
|
|
23
|
+
'aliases:': `${chalk.blue `aliases`}:`,
|
|
24
|
+
};
|
|
14
25
|
const nxVersion = require('../package.json').version;
|
|
15
|
-
const tsVersion = '~4.9.5'; // This gets replaced with the typescript version in the root package.json during build
|
|
16
|
-
const prettierVersion = '^2.6.2'; // This gets replaced with the prettier version in the root package.json during build
|
|
17
|
-
const parsedArgs = yargsParser(process.argv, {
|
|
18
|
-
string: ['pluginName', 'packageManager', 'importPath'],
|
|
19
|
-
alias: {
|
|
20
|
-
importPath: 'import-path',
|
|
21
|
-
pluginName: 'plugin-name',
|
|
22
|
-
packageManager: 'pm',
|
|
23
|
-
},
|
|
24
|
-
boolean: ['help'],
|
|
25
|
-
});
|
|
26
|
-
function createSandbox(packageManager) {
|
|
27
|
-
console.log(`Creating a sandbox with Nx...`);
|
|
28
|
-
const tmpDir = (0, tmp_1.dirSync)().name;
|
|
29
|
-
(0, devkit_1.writeJsonFile)(path.join(tmpDir, 'package.json'), {
|
|
30
|
-
dependencies: {
|
|
31
|
-
'@nrwl/workspace': nxVersion,
|
|
32
|
-
nx: nxVersion,
|
|
33
|
-
typescript: tsVersion,
|
|
34
|
-
prettier: prettierVersion,
|
|
35
|
-
},
|
|
36
|
-
license: 'MIT',
|
|
37
|
-
});
|
|
38
|
-
(0, child_process_1.execSync)(`${packageManager} install --silent --ignore-scripts`, {
|
|
39
|
-
cwd: tmpDir,
|
|
40
|
-
stdio: [0, 1, 2],
|
|
41
|
-
});
|
|
42
|
-
return tmpDir;
|
|
43
|
-
}
|
|
44
|
-
function createWorkspace(tmpDir, packageManager, parsedArgs, name) {
|
|
45
|
-
// Ensure to use packageManager for args
|
|
46
|
-
// if it's not already passed in from previous process
|
|
47
|
-
if (!parsedArgs.packageManager) {
|
|
48
|
-
parsedArgs.packageManager = packageManager;
|
|
49
|
-
}
|
|
50
|
-
const args = [
|
|
51
|
-
name,
|
|
52
|
-
...process.argv.slice(parsedArgs._[2] ? 3 : 2).map((a) => `"${a}"`),
|
|
53
|
-
].join(' ');
|
|
54
|
-
const command = `new ${args} --preset=empty --collection=@nrwl/workspace`;
|
|
55
|
-
console.log(command);
|
|
56
|
-
const pmc = (0, devkit_1.getPackageManagerCommand)(packageManager);
|
|
57
|
-
(0, child_process_1.execSync)(`${pmc.exec} nx ${command}/generators.json --nxWorkspaceRoot="${process.cwd()}"`, {
|
|
58
|
-
stdio: [0, 1, 2],
|
|
59
|
-
cwd: tmpDir,
|
|
60
|
-
});
|
|
61
|
-
(0, child_process_1.execSync)(`${packageManager} add -D @nrwl/nx-plugin@${nxVersion}`, {
|
|
62
|
-
cwd: name,
|
|
63
|
-
stdio: [0, 1, 2],
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
function createNxPlugin(workspaceName, pluginName, packageManager, parsedArgs) {
|
|
67
|
-
var _a;
|
|
68
|
-
const importPath = (_a = parsedArgs.importPath) !== null && _a !== void 0 ? _a : `@${workspaceName}/${pluginName}`;
|
|
69
|
-
const command = `nx generate @nrwl/nx-plugin:plugin ${pluginName} --importPath=${importPath}`;
|
|
70
|
-
console.log(command);
|
|
71
|
-
const pmc = (0, devkit_1.getPackageManagerCommand)(packageManager);
|
|
72
|
-
(0, child_process_1.execSync)(`${pmc.exec} ${command}`, {
|
|
73
|
-
cwd: workspaceName,
|
|
74
|
-
stdio: [0, 1, 2],
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
function updateWorkspace(workspaceName) {
|
|
78
|
-
const nxJsonPath = path.join(workspaceName, 'nx.json');
|
|
79
|
-
const nxJson = (0, devkit_1.readJsonFile)(nxJsonPath);
|
|
80
|
-
nxJson.workspaceLayout = {
|
|
81
|
-
appsDir: 'e2e',
|
|
82
|
-
libsDir: 'packages',
|
|
83
|
-
};
|
|
84
|
-
(0, devkit_1.writeJsonFile)(nxJsonPath, nxJson);
|
|
85
|
-
(0, fs_1.rmSync)(path.join(workspaceName, 'apps'), { recursive: true, force: true });
|
|
86
|
-
(0, fs_1.rmSync)(path.join(workspaceName, 'libs'), { recursive: true, force: true });
|
|
87
|
-
}
|
|
88
|
-
function determineWorkspaceName(parsedArgs) {
|
|
89
|
-
const workspaceName = parsedArgs._[2];
|
|
90
|
-
if (workspaceName) {
|
|
91
|
-
return Promise.resolve(workspaceName);
|
|
92
|
-
}
|
|
93
|
-
return enquirer
|
|
94
|
-
.prompt([
|
|
95
|
-
{
|
|
96
|
-
name: 'WorkspaceName',
|
|
97
|
-
message: `Workspace name (e.g., org name) `,
|
|
98
|
-
type: 'input',
|
|
99
|
-
},
|
|
100
|
-
])
|
|
101
|
-
.then((a) => {
|
|
102
|
-
if (!a.WorkspaceName) {
|
|
103
|
-
devkit_1.output.error({
|
|
104
|
-
title: 'Invalid workspace name',
|
|
105
|
-
bodyLines: [`Workspace name cannot be empty`],
|
|
106
|
-
});
|
|
107
|
-
process.exit(1);
|
|
108
|
-
}
|
|
109
|
-
return a.WorkspaceName;
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
26
|
function determinePluginName(parsedArgs) {
|
|
113
27
|
if (parsedArgs.pluginName) {
|
|
114
28
|
return Promise.resolve(parsedArgs.pluginName);
|
|
@@ -116,51 +30,83 @@ function determinePluginName(parsedArgs) {
|
|
|
116
30
|
return enquirer
|
|
117
31
|
.prompt([
|
|
118
32
|
{
|
|
119
|
-
name: '
|
|
33
|
+
name: 'pluginName',
|
|
120
34
|
message: `Plugin name `,
|
|
121
35
|
type: 'input',
|
|
36
|
+
validate: (s) => (s.length ? true : 'Name cannot be empty'),
|
|
122
37
|
},
|
|
123
38
|
])
|
|
124
39
|
.then((a) => {
|
|
125
|
-
if (!a.
|
|
126
|
-
|
|
40
|
+
if (!a.pluginName) {
|
|
41
|
+
output_1.output.error({
|
|
127
42
|
title: 'Invalid name',
|
|
128
43
|
bodyLines: [`Name cannot be empty`],
|
|
129
44
|
});
|
|
130
45
|
process.exit(1);
|
|
131
46
|
}
|
|
132
|
-
return a.
|
|
47
|
+
return a.pluginName;
|
|
133
48
|
});
|
|
134
49
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
process.exit(0);
|
|
153
|
-
}
|
|
154
|
-
const packageManager = parsedArgs.packageManager || (0, detect_invoked_package_manager_1.detectInvokedPackageManager)();
|
|
155
|
-
determineWorkspaceName(parsedArgs).then((workspaceName) => {
|
|
156
|
-
return determinePluginName(parsedArgs).then((pluginName) => {
|
|
157
|
-
const tmpDir = createSandbox(packageManager);
|
|
158
|
-
createWorkspace(tmpDir, packageManager, parsedArgs, workspaceName);
|
|
159
|
-
updateWorkspace(workspaceName);
|
|
160
|
-
createNxPlugin(workspaceName, pluginName, packageManager, parsedArgs);
|
|
161
|
-
return (0, shared_1.initializeGitRepo)(workspaceName).then(() => {
|
|
162
|
-
(0, shared_1.showNxWarning)(workspaceName);
|
|
50
|
+
exports.commandsObject = yargs
|
|
51
|
+
.wrap(yargs.terminalWidth())
|
|
52
|
+
.parserConfiguration({
|
|
53
|
+
'strip-dashed': true,
|
|
54
|
+
'dot-notation': true,
|
|
55
|
+
})
|
|
56
|
+
.command(
|
|
57
|
+
// this is the default and only command
|
|
58
|
+
'$0 [name] [options]', 'Create a new Nx plugin workspace', (yargs) => (0, yargs_options_1.withOptions)(yargs.positional('pluginName', {
|
|
59
|
+
describe: chalk.dim `Plugin name`,
|
|
60
|
+
type: 'string',
|
|
61
|
+
alias: ['name'],
|
|
62
|
+
}), yargs_options_1.withNxCloud, yargs_options_1.withCI, yargs_options_1.withAllPrompts, yargs_options_1.withPackageManager, yargs_options_1.withGitOptions), (argv) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
yield main(argv).catch((error) => {
|
|
64
|
+
const { version } = require('../package.json');
|
|
65
|
+
output_1.output.error({
|
|
66
|
+
title: `Something went wrong! v${version}`,
|
|
163
67
|
});
|
|
68
|
+
throw error;
|
|
164
69
|
});
|
|
165
|
-
})
|
|
70
|
+
}), [normalizeArgsMiddleware])
|
|
71
|
+
.help('help', chalk.dim `Show help`)
|
|
72
|
+
.updateLocale(exports.yargsDecorator)
|
|
73
|
+
.version('version', chalk.dim `Show version`, nxVersion);
|
|
74
|
+
function main(parsedArgs) {
|
|
75
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
const populatedArguments = Object.assign(Object.assign({}, parsedArgs), { name: parsedArgs.pluginName.includes('/')
|
|
77
|
+
? parsedArgs.pluginName.split('/')[1]
|
|
78
|
+
: parsedArgs.pluginName });
|
|
79
|
+
yield (0, create_nx_workspace_1.createWorkspace)('@nrwl/nx-plugin', populatedArguments);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* This function is used to normalize the arguments passed to the command.
|
|
84
|
+
* It would:
|
|
85
|
+
* - normalize the preset.
|
|
86
|
+
* @param argv user arguments
|
|
87
|
+
*/
|
|
88
|
+
function normalizeArgsMiddleware(argv) {
|
|
89
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
try {
|
|
91
|
+
const name = yield determinePluginName(argv);
|
|
92
|
+
const packageManager = yield (0, prompts_1.determinePackageManager)(argv);
|
|
93
|
+
const defaultBase = yield (0, prompts_1.determineDefaultBase)(argv);
|
|
94
|
+
const nxCloud = yield (0, prompts_1.determineNxCloud)(argv);
|
|
95
|
+
const ci = yield (0, prompts_1.determineCI)(argv, nxCloud);
|
|
96
|
+
Object.assign(argv, {
|
|
97
|
+
name,
|
|
98
|
+
nxCloud,
|
|
99
|
+
packageManager,
|
|
100
|
+
defaultBase,
|
|
101
|
+
ci,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
console.error(e);
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
// Trigger Yargs
|
|
111
|
+
exports.commandsObject.argv;
|
|
166
112
|
//# sourceMappingURL=create-nx-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-nx-plugin.js","sourceRoot":"","sources":["../../../../packages/create-nx-plugin/bin/create-nx-plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-nx-plugin.js","sourceRoot":"","sources":["../../../../packages/create-nx-plugin/bin/create-nx-plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-nx-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0-beta.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "This package is used to scaffold a brand-new workspace used to develop an Nx plugin, and sets up a pre-configured plugin with the specified name. The new plugin is created with a default generator, executor, and e2e app.",
|
|
6
6
|
"repository": {
|
|
@@ -29,16 +29,15 @@
|
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://nx.dev",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"
|
|
32
|
+
"chalk": "^4.1.0",
|
|
33
|
+
"create-nx-workspace": "16.0.0-beta.0",
|
|
33
34
|
"enquirer": "~2.3.6",
|
|
34
|
-
"
|
|
35
|
-
"tmp": "~0.2.1",
|
|
36
|
-
"yargs-parser": "21.1.1"
|
|
35
|
+
"yargs": "^17.6.2"
|
|
37
36
|
},
|
|
38
37
|
"publishConfig": {
|
|
39
38
|
"access": "public"
|
|
40
39
|
},
|
|
41
40
|
"main": "./bin/create-nx-plugin.js",
|
|
42
41
|
"types": "./bin/create-nx-plugin.d.ts",
|
|
43
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "1e31d4726f2c623ede0c515429aa842e943dba47"
|
|
44
43
|
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
declare const packageManagerList: readonly ["pnpm", "yarn", "npm"];
|
|
2
|
-
export type PackageManager = typeof packageManagerList[number];
|
|
3
|
-
/**
|
|
4
|
-
* Detects which package manager was used to invoke create-nx-{plugin|workspace} command
|
|
5
|
-
* based on the main Module process that invokes the command
|
|
6
|
-
* - npx returns 'npm'
|
|
7
|
-
* - pnpx returns 'pnpm'
|
|
8
|
-
* - yarn create returns 'yarn'
|
|
9
|
-
*
|
|
10
|
-
* Default to 'npm'
|
|
11
|
-
*/
|
|
12
|
-
export declare function detectInvokedPackageManager(): PackageManager;
|
|
13
|
-
export {};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.detectInvokedPackageManager = void 0;
|
|
4
|
-
const packageManagerList = ['pnpm', 'yarn', 'npm'];
|
|
5
|
-
/**
|
|
6
|
-
* Detects which package manager was used to invoke create-nx-{plugin|workspace} command
|
|
7
|
-
* based on the main Module process that invokes the command
|
|
8
|
-
* - npx returns 'npm'
|
|
9
|
-
* - pnpx returns 'pnpm'
|
|
10
|
-
* - yarn create returns 'yarn'
|
|
11
|
-
*
|
|
12
|
-
* Default to 'npm'
|
|
13
|
-
*/
|
|
14
|
-
function detectInvokedPackageManager() {
|
|
15
|
-
let detectedPackageManager = 'npm';
|
|
16
|
-
// mainModule is deprecated since Node 14, fallback for older versions
|
|
17
|
-
const invoker = require.main || process['mainModule'];
|
|
18
|
-
// default to `npm`
|
|
19
|
-
if (!invoker) {
|
|
20
|
-
return detectedPackageManager;
|
|
21
|
-
}
|
|
22
|
-
for (const pkgManager of packageManagerList) {
|
|
23
|
-
if (invoker.path.includes(pkgManager)) {
|
|
24
|
-
detectedPackageManager = pkgManager;
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return detectedPackageManager;
|
|
29
|
-
}
|
|
30
|
-
exports.detectInvokedPackageManager = detectInvokedPackageManager;
|
|
31
|
-
//# sourceMappingURL=detect-invoked-package-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-invoked-package-manager.js","sourceRoot":"","sources":["../../../../packages/create-nx-plugin/bin/detect-invoked-package-manager.ts"],"names":[],"mappings":";;;AAAA,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAI5D;;;;;;;;GAQG;AACH,SAAgB,2BAA2B;IACzC,IAAI,sBAAsB,GAAmB,KAAK,CAAC;IACnD,sEAAsE;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAEtD,mBAAmB;IACnB,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,sBAAsB,CAAC;KAC/B;IAED,KAAK,MAAM,UAAU,IAAI,kBAAkB,EAAE;QAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACrC,sBAAsB,GAAG,UAAU,CAAC;YACpC,MAAM;SACP;KACF;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAlBD,kEAkBC"}
|
package/bin/shared.d.ts
DELETED
package/bin/shared.js
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initializeGitRepo = exports.deduceDefaultBase = exports.showNxWarning = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const path = require("path");
|
|
6
|
-
const child_process_1 = require("child_process");
|
|
7
|
-
const devkit_1 = require("@nrwl/devkit");
|
|
8
|
-
function showNxWarning(workspaceName) {
|
|
9
|
-
try {
|
|
10
|
-
const pathToRunNxCommand = path.resolve(process.cwd(), workspaceName);
|
|
11
|
-
(0, child_process_1.execSync)('nx --version', {
|
|
12
|
-
cwd: pathToRunNxCommand,
|
|
13
|
-
stdio: ['ignore', 'ignore', 'ignore'],
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
catch (_a) {
|
|
17
|
-
// no nx found
|
|
18
|
-
devkit_1.output.addVerticalSeparator();
|
|
19
|
-
devkit_1.output.note({
|
|
20
|
-
title: `Nx CLI is not installed globally.`,
|
|
21
|
-
bodyLines: [
|
|
22
|
-
`This means that you might have to use "yarn nx" or "npx nx" to execute commands in the workspace.`,
|
|
23
|
-
`Run "yarn global add nx" or "npm install -g nx" to be able to execute command directly.`,
|
|
24
|
-
],
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.showNxWarning = showNxWarning;
|
|
29
|
-
/*
|
|
30
|
-
* Because we don't want to depend on @nrwl/workspace
|
|
31
|
-
* we duplicate the helper functions from @nrwl/workspace in this file.
|
|
32
|
-
*/
|
|
33
|
-
function deduceDefaultBase() {
|
|
34
|
-
const nxDefaultBase = 'main';
|
|
35
|
-
try {
|
|
36
|
-
return ((0, child_process_1.execSync)('git config --get init.defaultBranch').toString().trim() ||
|
|
37
|
-
nxDefaultBase);
|
|
38
|
-
}
|
|
39
|
-
catch (_a) {
|
|
40
|
-
return nxDefaultBase;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.deduceDefaultBase = deduceDefaultBase;
|
|
44
|
-
function checkGitVersion() {
|
|
45
|
-
try {
|
|
46
|
-
let gitVersionOutput = (0, child_process_1.execSync)('git --version').toString().trim();
|
|
47
|
-
return gitVersionOutput.match(/[0-9]+\.[0-9]+\.+[0-9]+/)[0];
|
|
48
|
-
}
|
|
49
|
-
catch (_a) {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/*
|
|
54
|
-
* Because we don't want to depend on create-nx-workspace
|
|
55
|
-
* we duplicate the helper functions from create-nx-workspace in this file.
|
|
56
|
-
*/
|
|
57
|
-
function initializeGitRepo(directory) {
|
|
58
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
const execute = (args, ignoreErrorStream = false) => {
|
|
60
|
-
const errorStream = ignoreErrorStream ? 'ignore' : process.stderr;
|
|
61
|
-
const spawnOptions = {
|
|
62
|
-
stdio: [process.stdin, 'ignore', errorStream],
|
|
63
|
-
shell: true,
|
|
64
|
-
cwd: directory,
|
|
65
|
-
env: process.env,
|
|
66
|
-
};
|
|
67
|
-
return new Promise((resolve, reject) => {
|
|
68
|
-
(0, child_process_1.spawn)('git', args, spawnOptions).on('close', (code) => {
|
|
69
|
-
if (code === 0) {
|
|
70
|
-
resolve();
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
reject(code);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
};
|
|
78
|
-
const gitVersion = checkGitVersion();
|
|
79
|
-
if (!gitVersion) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
const insideRepo = yield execute(['rev-parse', '--is-inside-work-tree'], true).then(() => true, () => false);
|
|
83
|
-
if (insideRepo) {
|
|
84
|
-
devkit_1.output.log({
|
|
85
|
-
title: 'Directory is already under version control. Skipping initialization of git.',
|
|
86
|
-
});
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
const defaultBase = deduceDefaultBase();
|
|
90
|
-
const [gitMajor, gitMinor] = gitVersion.split('.');
|
|
91
|
-
if (+gitMajor > 2 || (+gitMajor === 2 && +gitMinor >= 28)) {
|
|
92
|
-
yield execute(['init', '-b', defaultBase]);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
yield execute(['init']);
|
|
96
|
-
yield execute(['checkout', '-b', defaultBase]); // Git < 2.28 doesn't support -b on git init.
|
|
97
|
-
}
|
|
98
|
-
yield execute(['add', '.']);
|
|
99
|
-
const message = 'Initial commit';
|
|
100
|
-
yield execute(['commit', `-m "${message}"`]);
|
|
101
|
-
devkit_1.output.log({
|
|
102
|
-
title: 'Successfully initialized git.',
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
exports.initializeGitRepo = initializeGitRepo;
|
|
107
|
-
//# sourceMappingURL=shared.js.map
|
package/bin/shared.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../packages/create-nx-plugin/bin/shared.ts"],"names":[],"mappings":"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"}
|