@vendure/create 2.0.0-next.8 → 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/assets/.env.hbs +14 -0
- package/assets/Dockerfile.hbs +9 -0
- package/assets/docker-compose.hbs +39 -0
- package/assets/environment.d.hbs +24 -0
- package/assets/index-worker.hbs +6 -7
- package/assets/index.hbs +7 -6
- package/assets/migration.hbs +4 -4
- package/assets/readme.hbs +87 -20
- package/assets/tsconfig.template.json +7 -2
- package/assets/vendure-config.hbs +45 -49
- package/lib/constants.d.ts +2 -2
- package/lib/constants.js +2 -2
- package/lib/constants.js.map +1 -1
- package/lib/create-vendure-app.d.ts +2 -1
- package/lib/create-vendure-app.js +152 -141
- package/lib/create-vendure-app.js.map +1 -1
- package/lib/gather-user-responses.d.ts +2 -2
- package/lib/gather-user-responses.js +114 -135
- package/lib/gather-user-responses.js.map +1 -1
- package/lib/helpers.d.ts +2 -1
- package/lib/helpers.js +59 -29
- package/lib/helpers.js.map +1 -1
- package/lib/types.d.ts +11 -6
- package/package.json +47 -49
|
@@ -4,127 +4,108 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.gatherCiUserResponses = exports.gatherUserResponses = void 0;
|
|
7
|
+
const prompts_1 = require("@clack/prompts");
|
|
7
8
|
const shared_constants_1 = require("@vendure/common/lib/shared-constants");
|
|
8
9
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
10
|
const handlebars_1 = __importDefault(require("handlebars"));
|
|
10
11
|
const path_1 = __importDefault(require("path"));
|
|
11
|
-
|
|
12
|
-
// tslint:disable:no-console
|
|
12
|
+
/* eslint-disable no-console */
|
|
13
13
|
/**
|
|
14
14
|
* Prompts the user to determine how the new Vendure app should be configured.
|
|
15
15
|
*/
|
|
16
|
-
async function gatherUserResponses(root) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
{
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
{ title: 'TypeScript', value: 'ts' },
|
|
75
|
-
{ title: 'JavaScript', value: 'js' },
|
|
76
|
-
],
|
|
77
|
-
initial: 0,
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
type: 'toggle',
|
|
81
|
-
name: 'populateProducts',
|
|
82
|
-
message: 'Populate with some sample product data?',
|
|
83
|
-
initial: true,
|
|
84
|
-
active: 'yes',
|
|
85
|
-
inactive: 'no',
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
type: 'text',
|
|
89
|
-
name: 'superadminIdentifier',
|
|
90
|
-
message: 'What identifier do you want to use for the superadmin user?',
|
|
91
|
-
initial: shared_constants_1.SUPER_ADMIN_USER_IDENTIFIER,
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
type: 'text',
|
|
95
|
-
name: 'superadminPassword',
|
|
96
|
-
message: 'What password do you want to use for the superadmin user?',
|
|
97
|
-
initial: shared_constants_1.SUPER_ADMIN_USER_PASSWORD,
|
|
98
|
-
},
|
|
99
|
-
], {
|
|
100
|
-
onSubmit,
|
|
101
|
-
onCancel() {
|
|
102
|
-
/* */
|
|
103
|
-
},
|
|
16
|
+
async function gatherUserResponses(root, alreadyRanScaffold, useYarn) {
|
|
17
|
+
const dbType = (await (0, prompts_1.select)({
|
|
18
|
+
message: 'Which database are you using?',
|
|
19
|
+
options: [
|
|
20
|
+
{ label: 'MySQL', value: 'mysql' },
|
|
21
|
+
{ label: 'MariaDB', value: 'mariadb' },
|
|
22
|
+
{ label: 'Postgres', value: 'postgres' },
|
|
23
|
+
{ label: 'SQLite', value: 'sqlite' },
|
|
24
|
+
{ label: 'SQL.js', value: 'sqljs' },
|
|
25
|
+
],
|
|
26
|
+
initialValue: 'sqlite',
|
|
27
|
+
}));
|
|
28
|
+
checkCancel(dbType);
|
|
29
|
+
const hasConnection = dbType !== 'sqlite' && dbType !== 'sqljs';
|
|
30
|
+
const dbHost = hasConnection
|
|
31
|
+
? await (0, prompts_1.text)({
|
|
32
|
+
message: "What's the database host address?",
|
|
33
|
+
initialValue: 'localhost',
|
|
34
|
+
})
|
|
35
|
+
: '';
|
|
36
|
+
checkCancel(dbHost);
|
|
37
|
+
const dbPort = hasConnection
|
|
38
|
+
? await (0, prompts_1.text)({
|
|
39
|
+
message: 'What port is the database listening on?',
|
|
40
|
+
initialValue: defaultDBPort(dbType).toString(),
|
|
41
|
+
})
|
|
42
|
+
: '';
|
|
43
|
+
checkCancel(dbPort);
|
|
44
|
+
const dbName = hasConnection
|
|
45
|
+
? await (0, prompts_1.text)({
|
|
46
|
+
message: "What's the name of the database?",
|
|
47
|
+
initialValue: 'vendure',
|
|
48
|
+
})
|
|
49
|
+
: '';
|
|
50
|
+
checkCancel(dbName);
|
|
51
|
+
const dbSchema = dbType === 'postgres'
|
|
52
|
+
? await (0, prompts_1.text)({
|
|
53
|
+
message: "What's the schema name we should use?",
|
|
54
|
+
initialValue: 'public',
|
|
55
|
+
})
|
|
56
|
+
: '';
|
|
57
|
+
checkCancel(dbSchema);
|
|
58
|
+
const dbUserName = hasConnection
|
|
59
|
+
? await (0, prompts_1.text)({
|
|
60
|
+
message: "What's the database user name?",
|
|
61
|
+
})
|
|
62
|
+
: '';
|
|
63
|
+
checkCancel(dbUserName);
|
|
64
|
+
const dbPassword = hasConnection
|
|
65
|
+
? await (0, prompts_1.text)({
|
|
66
|
+
message: "What's the database password?",
|
|
67
|
+
defaultValue: '',
|
|
68
|
+
})
|
|
69
|
+
: '';
|
|
70
|
+
checkCancel(dbPassword);
|
|
71
|
+
const superadminIdentifier = await (0, prompts_1.text)({
|
|
72
|
+
message: 'What identifier do you want to use for the superadmin user?',
|
|
73
|
+
initialValue: shared_constants_1.SUPER_ADMIN_USER_IDENTIFIER,
|
|
104
74
|
});
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
75
|
+
checkCancel(superadminIdentifier);
|
|
76
|
+
const superadminPassword = await (0, prompts_1.text)({
|
|
77
|
+
message: 'What password do you want to use for the superadmin user?',
|
|
78
|
+
initialValue: shared_constants_1.SUPER_ADMIN_USER_PASSWORD,
|
|
79
|
+
});
|
|
80
|
+
checkCancel(superadminPassword);
|
|
81
|
+
const populateProducts = await (0, prompts_1.select)({
|
|
82
|
+
message: 'Populate with some sample product data?',
|
|
83
|
+
options: [
|
|
84
|
+
{ label: 'yes', value: true },
|
|
85
|
+
{ label: 'no', value: false },
|
|
86
|
+
],
|
|
87
|
+
initialValue: true,
|
|
88
|
+
});
|
|
89
|
+
checkCancel(populateProducts);
|
|
90
|
+
const answers = {
|
|
91
|
+
dbType,
|
|
92
|
+
dbHost,
|
|
93
|
+
dbPort,
|
|
94
|
+
dbName,
|
|
95
|
+
dbSchema,
|
|
96
|
+
dbUserName,
|
|
97
|
+
dbPassword,
|
|
98
|
+
superadminIdentifier,
|
|
99
|
+
superadminPassword,
|
|
100
|
+
populateProducts,
|
|
121
101
|
};
|
|
102
|
+
return Object.assign(Object.assign({}, (await generateSources(root, answers, useYarn))), { dbType, populateProducts: answers.populateProducts, superadminIdentifier: answers.superadminIdentifier, superadminPassword: answers.superadminPassword });
|
|
122
103
|
}
|
|
123
104
|
exports.gatherUserResponses = gatherUserResponses;
|
|
124
105
|
/**
|
|
125
106
|
* Returns mock "user response" without prompting, for use in CI
|
|
126
107
|
*/
|
|
127
|
-
async function gatherCiUserResponses(root) {
|
|
108
|
+
async function gatherCiUserResponses(root, useYarn) {
|
|
128
109
|
const ciAnswers = {
|
|
129
110
|
dbType: 'sqlite',
|
|
130
111
|
dbHost: '',
|
|
@@ -132,30 +113,24 @@ async function gatherCiUserResponses(root) {
|
|
|
132
113
|
dbName: 'vendure',
|
|
133
114
|
dbUserName: '',
|
|
134
115
|
dbPassword: '',
|
|
135
|
-
language: 'ts',
|
|
136
116
|
populateProducts: true,
|
|
137
117
|
superadminIdentifier: shared_constants_1.SUPER_ADMIN_USER_IDENTIFIER,
|
|
138
118
|
superadminPassword: shared_constants_1.SUPER_ADMIN_USER_PASSWORD,
|
|
139
119
|
};
|
|
140
|
-
|
|
141
|
-
return {
|
|
142
|
-
indexSource,
|
|
143
|
-
indexWorkerSource,
|
|
144
|
-
configSource,
|
|
145
|
-
migrationSource,
|
|
146
|
-
readmeSource,
|
|
147
|
-
usingTs: ciAnswers.language === 'ts',
|
|
148
|
-
dbType: ciAnswers.dbType,
|
|
149
|
-
populateProducts: ciAnswers.populateProducts,
|
|
150
|
-
superadminIdentifier: ciAnswers.superadminIdentifier,
|
|
151
|
-
superadminPassword: ciAnswers.superadminPassword,
|
|
152
|
-
};
|
|
120
|
+
return Object.assign(Object.assign({}, (await generateSources(root, ciAnswers, useYarn))), { dbType: ciAnswers.dbType, populateProducts: ciAnswers.populateProducts, superadminIdentifier: ciAnswers.superadminIdentifier, superadminPassword: ciAnswers.superadminPassword });
|
|
153
121
|
}
|
|
154
122
|
exports.gatherCiUserResponses = gatherCiUserResponses;
|
|
123
|
+
function checkCancel(value) {
|
|
124
|
+
if ((0, prompts_1.isCancel)(value)) {
|
|
125
|
+
(0, prompts_1.cancel)('Setup cancelled.');
|
|
126
|
+
process.exit(0);
|
|
127
|
+
}
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
155
130
|
/**
|
|
156
131
|
* Create the server index, worker and config source code based on the options specified by the CLI prompts.
|
|
157
132
|
*/
|
|
158
|
-
async function generateSources(root, answers) {
|
|
133
|
+
async function generateSources(root, answers, useYarn) {
|
|
159
134
|
const assetPath = (fileName) => path_1.default.join(__dirname, '../assets', fileName);
|
|
160
135
|
/**
|
|
161
136
|
* Helper to escape single quotes only. Used when generating the config file since e.g. passwords
|
|
@@ -163,20 +138,24 @@ async function generateSources(root, answers) {
|
|
|
163
138
|
* Instead, we disable escaping and use this custom helper to escape only the single quote character.
|
|
164
139
|
*/
|
|
165
140
|
handlebars_1.default.registerHelper('escapeSingle', (aString) => {
|
|
166
|
-
return typeof aString === 'string' ? aString.replace(/'/g,
|
|
141
|
+
return typeof aString === 'string' ? aString.replace(/'/g, "\\'") : aString;
|
|
167
142
|
});
|
|
168
|
-
const templateContext = Object.assign(Object.assign({}, answers), { dbType: answers.dbType === 'sqlite' ? 'better-sqlite3' : answers.dbType, name: path_1.default.basename(root),
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
143
|
+
const templateContext = Object.assign(Object.assign({}, answers), { useYarn, dbType: answers.dbType === 'sqlite' ? 'better-sqlite3' : answers.dbType, name: path_1.default.basename(root), isSQLite: answers.dbType === 'sqlite', isSQLjs: answers.dbType === 'sqljs', requiresConnection: answers.dbType !== 'sqlite' && answers.dbType !== 'sqljs', cookieSecret: Math.random().toString(36).substr(2) });
|
|
144
|
+
async function createSourceFile(filename, noEscape = false) {
|
|
145
|
+
const template = await fs_extra_1.default.readFile(assetPath(filename), 'utf-8');
|
|
146
|
+
return handlebars_1.default.compile(template, { noEscape })(templateContext);
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
indexSource: await createSourceFile('index.hbs'),
|
|
150
|
+
indexWorkerSource: await createSourceFile('index-worker.hbs'),
|
|
151
|
+
configSource: await createSourceFile('vendure-config.hbs', true),
|
|
152
|
+
envSource: await createSourceFile('.env.hbs', true),
|
|
153
|
+
envDtsSource: await createSourceFile('environment.d.hbs', true),
|
|
154
|
+
migrationSource: await createSourceFile('migration.hbs'),
|
|
155
|
+
readmeSource: await createSourceFile('readme.hbs'),
|
|
156
|
+
dockerfileSource: await createSourceFile('Dockerfile.hbs'),
|
|
157
|
+
dockerComposeSource: await createSourceFile('docker-compose.hbs'),
|
|
158
|
+
};
|
|
180
159
|
}
|
|
181
160
|
function defaultDBPort(dbType) {
|
|
182
161
|
switch (dbType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gather-user-responses.js","sourceRoot":"","sources":["../src/gather-user-responses.ts"],"names":[],"mappings":";;;;;;AAAA,2EAA8G;AAC9G,wDAA0B;AAC1B,4DAAoC;AACpC,gDAAwB;
|
|
1
|
+
{"version":3,"file":"gather-user-responses.js","sourceRoot":"","sources":["../src/gather-user-responses.ts"],"names":[],"mappings":"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"}
|
package/lib/helpers.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { CliLogLevel, DbType } from './types';
|
|
|
7
7
|
* https://github.com/facebook/create-react-app/pull/368#issuecomment-243446094
|
|
8
8
|
*/
|
|
9
9
|
export declare function isSafeToCreateProjectIn(root: string, name: string): boolean;
|
|
10
|
+
export declare function scaffoldAlreadyExists(root: string, name: string): boolean;
|
|
10
11
|
export declare function checkNodeVersion(requiredVersion: string): void;
|
|
11
12
|
export declare function shouldUseYarn(): boolean;
|
|
12
13
|
export declare function checkThatNpmCanReadCwd(): boolean;
|
|
@@ -15,7 +16,7 @@ export declare function checkThatNpmCanReadCwd(): boolean;
|
|
|
15
16
|
* Based on the install function from https://github.com/facebook/create-react-app
|
|
16
17
|
*/
|
|
17
18
|
export declare function installPackages(root: string, useYarn: boolean, dependencies: string[], isDev: boolean, logLevel: CliLogLevel, isCi?: boolean): Promise<void>;
|
|
18
|
-
export declare function getDependencies(
|
|
19
|
+
export declare function getDependencies(dbType: DbType, vendurePkgVersion?: string): {
|
|
19
20
|
dependencies: string[];
|
|
20
21
|
devDependencies: string[];
|
|
21
22
|
};
|
package/lib/helpers.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -22,13 +26,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
27
|
};
|
|
24
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.isServerPortInUse = exports.checkDbConnection = exports.getDependencies = exports.installPackages = exports.checkThatNpmCanReadCwd = exports.shouldUseYarn = exports.checkNodeVersion = exports.isSafeToCreateProjectIn = void 0;
|
|
26
|
-
/*
|
|
27
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
29
|
+
exports.isServerPortInUse = exports.checkDbConnection = exports.getDependencies = exports.installPackages = exports.checkThatNpmCanReadCwd = exports.shouldUseYarn = exports.checkNodeVersion = exports.scaffoldAlreadyExists = exports.isSafeToCreateProjectIn = void 0;
|
|
30
|
+
/* eslint-disable no-console */
|
|
28
31
|
const child_process_1 = require("child_process");
|
|
29
32
|
const cross_spawn_1 = __importDefault(require("cross-spawn"));
|
|
30
33
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
31
34
|
const path_1 = __importDefault(require("path"));
|
|
35
|
+
const picocolors_1 = __importDefault(require("picocolors"));
|
|
32
36
|
const semver_1 = __importDefault(require("semver"));
|
|
33
37
|
const constants_1 = require("./constants");
|
|
34
38
|
/**
|
|
@@ -59,6 +63,14 @@ function isSafeToCreateProjectIn(root, name) {
|
|
|
59
63
|
'.travis.yml',
|
|
60
64
|
'.gitlab-ci.yml',
|
|
61
65
|
'.gitattributes',
|
|
66
|
+
'migration.ts',
|
|
67
|
+
'node_modules',
|
|
68
|
+
'package.json',
|
|
69
|
+
'package-lock.json',
|
|
70
|
+
'src',
|
|
71
|
+
'static',
|
|
72
|
+
'tsconfig.json',
|
|
73
|
+
'yarn.lock',
|
|
62
74
|
];
|
|
63
75
|
console.log();
|
|
64
76
|
const conflicts = fs_extra_1.default
|
|
@@ -69,7 +81,7 @@ function isSafeToCreateProjectIn(root, name) {
|
|
|
69
81
|
// Don't treat log files from previous installation as conflicts
|
|
70
82
|
.filter(file => !errorLogFilePatterns.some(pattern => file.indexOf(pattern) === 0));
|
|
71
83
|
if (conflicts.length > 0) {
|
|
72
|
-
console.log(`The directory ${
|
|
84
|
+
console.log(`The directory ${picocolors_1.default.green(name)} contains files that could conflict:`);
|
|
73
85
|
console.log();
|
|
74
86
|
for (const file of conflicts) {
|
|
75
87
|
console.log(` ${file}`);
|
|
@@ -91,9 +103,15 @@ function isSafeToCreateProjectIn(root, name) {
|
|
|
91
103
|
return true;
|
|
92
104
|
}
|
|
93
105
|
exports.isSafeToCreateProjectIn = isSafeToCreateProjectIn;
|
|
106
|
+
function scaffoldAlreadyExists(root, name) {
|
|
107
|
+
const scaffoldFiles = ['migration.ts', 'package.json', 'tsconfig.json', 'README.md'];
|
|
108
|
+
const files = fs_extra_1.default.readdirSync(root);
|
|
109
|
+
return scaffoldFiles.every(scaffoldFile => files.includes(scaffoldFile));
|
|
110
|
+
}
|
|
111
|
+
exports.scaffoldAlreadyExists = scaffoldAlreadyExists;
|
|
94
112
|
function checkNodeVersion(requiredVersion) {
|
|
95
113
|
if (!semver_1.default.satisfies(process.version, requiredVersion)) {
|
|
96
|
-
console.error(
|
|
114
|
+
console.error(picocolors_1.default.red('You are running Node %s.\n' +
|
|
97
115
|
'Vendure requires Node %s or higher. \n' +
|
|
98
116
|
'Please update your version of Node.'), process.version, requiredVersion);
|
|
99
117
|
process.exit(1);
|
|
@@ -144,16 +162,16 @@ function checkThatNpmCanReadCwd() {
|
|
|
144
162
|
if (npmCWD === cwd) {
|
|
145
163
|
return true;
|
|
146
164
|
}
|
|
147
|
-
console.error(
|
|
148
|
-
`The current directory is: ${
|
|
149
|
-
`However, a newly started npm process runs in: ${
|
|
150
|
-
|
|
165
|
+
console.error(picocolors_1.default.red('Could not start an npm process in the right directory.\n\n' +
|
|
166
|
+
`The current directory is: ${picocolors_1.default.bold(cwd)}\n` +
|
|
167
|
+
`However, a newly started npm process runs in: ${picocolors_1.default.bold(npmCWD)}\n\n` +
|
|
168
|
+
'This is probably caused by a misconfigured system terminal shell.'));
|
|
151
169
|
if (process.platform === 'win32') {
|
|
152
|
-
console.error(
|
|
153
|
-
` ${
|
|
154
|
-
` ${
|
|
155
|
-
|
|
156
|
-
|
|
170
|
+
console.error(picocolors_1.default.red('On Windows, this can usually be fixed by running:\n\n') +
|
|
171
|
+
` ${picocolors_1.default.cyan('reg')} delete "HKCU\\Software\\Microsoft\\Command Processor" /v AutoRun /f\n` +
|
|
172
|
+
` ${picocolors_1.default.cyan('reg')} delete "HKLM\\Software\\Microsoft\\Command Processor" /v AutoRun /f\n\n` +
|
|
173
|
+
picocolors_1.default.red('Try to run the above two lines in the terminal.\n') +
|
|
174
|
+
picocolors_1.default.red('To learn more about this problem, read: https://blogs.msdn.microsoft.com/oldnewthing/20071121-00/?p=24433/'));
|
|
157
175
|
}
|
|
158
176
|
return false;
|
|
159
177
|
}
|
|
@@ -217,19 +235,17 @@ function installPackages(root, useYarn, dependencies, isDev, logLevel, isCi = fa
|
|
|
217
235
|
});
|
|
218
236
|
}
|
|
219
237
|
exports.installPackages = installPackages;
|
|
220
|
-
function getDependencies(
|
|
238
|
+
function getDependencies(dbType, vendurePkgVersion = '') {
|
|
221
239
|
const dependencies = [
|
|
222
240
|
`@vendure/core${vendurePkgVersion}`,
|
|
223
241
|
`@vendure/email-plugin${vendurePkgVersion}`,
|
|
224
242
|
`@vendure/asset-server-plugin${vendurePkgVersion}`,
|
|
225
243
|
`@vendure/admin-ui-plugin${vendurePkgVersion}`,
|
|
244
|
+
'dotenv',
|
|
226
245
|
dbDriverPackage(dbType),
|
|
246
|
+
`typescript@${constants_1.TYPESCRIPT_VERSION}`,
|
|
227
247
|
];
|
|
228
|
-
const devDependencies = ['concurrently'];
|
|
229
|
-
if (usingTs) {
|
|
230
|
-
devDependencies.push('ts-node');
|
|
231
|
-
dependencies.push(`typescript@${constants_1.TYPESCRIPT_VERSION}`);
|
|
232
|
-
}
|
|
248
|
+
const devDependencies = ['concurrently', 'ts-node'];
|
|
233
249
|
return { dependencies, devDependencies };
|
|
234
250
|
}
|
|
235
251
|
exports.getDependencies = getDependencies;
|
|
@@ -254,7 +270,7 @@ function dbDriverPackage(dbType) {
|
|
|
254
270
|
return 'oracledb';
|
|
255
271
|
default:
|
|
256
272
|
const n = dbType;
|
|
257
|
-
console.error(
|
|
273
|
+
console.error(picocolors_1.default.red(`No driver package configured for type "${dbType}"`));
|
|
258
274
|
return '';
|
|
259
275
|
}
|
|
260
276
|
}
|
|
@@ -274,7 +290,8 @@ function checkDbConnection(options, root) {
|
|
|
274
290
|
}
|
|
275
291
|
exports.checkDbConnection = checkDbConnection;
|
|
276
292
|
async function checkMysqlDbExists(options, root) {
|
|
277
|
-
|
|
293
|
+
var _a;
|
|
294
|
+
const mysql = await (_a = path_1.default.join(root, 'node_modules/mysql'), Promise.resolve().then(() => __importStar(require(_a))));
|
|
278
295
|
const connectionOptions = {
|
|
279
296
|
host: options.host,
|
|
280
297
|
user: options.username,
|
|
@@ -302,22 +319,31 @@ async function checkMysqlDbExists(options, root) {
|
|
|
302
319
|
});
|
|
303
320
|
}
|
|
304
321
|
async function checkPostgresDbExists(options, root) {
|
|
305
|
-
|
|
322
|
+
var _a;
|
|
323
|
+
const { Client } = await (_a = path_1.default.join(root, 'node_modules/pg'), Promise.resolve().then(() => __importStar(require(_a))));
|
|
306
324
|
const connectionOptions = {
|
|
307
325
|
host: options.host,
|
|
308
326
|
user: options.username,
|
|
309
327
|
password: options.password,
|
|
310
328
|
port: options.port,
|
|
311
329
|
database: options.database,
|
|
330
|
+
schema: options.schema,
|
|
312
331
|
};
|
|
313
332
|
const client = new Client(connectionOptions);
|
|
314
333
|
try {
|
|
315
334
|
await client.connect();
|
|
335
|
+
const schema = await client.query(`SELECT schema_name FROM information_schema.schemata WHERE schema_name = '${options.schema}'`);
|
|
336
|
+
if (schema.rows.length === 0) {
|
|
337
|
+
throw new Error('NO_SCHEMA');
|
|
338
|
+
}
|
|
316
339
|
}
|
|
317
340
|
catch (e) {
|
|
318
341
|
if (e.code === '3D000') {
|
|
319
342
|
throwDatabaseDoesNotExist(options.database);
|
|
320
343
|
}
|
|
344
|
+
else if (e.message === 'NO_SCHEMA') {
|
|
345
|
+
throwDatabaseSchemaDoesNotExist(options.database, options.schema);
|
|
346
|
+
}
|
|
321
347
|
throwConnectionError(e);
|
|
322
348
|
await client.end();
|
|
323
349
|
throw e;
|
|
@@ -326,20 +352,24 @@ async function checkPostgresDbExists(options, root) {
|
|
|
326
352
|
return true;
|
|
327
353
|
}
|
|
328
354
|
function throwConnectionError(err) {
|
|
329
|
-
throw new Error(
|
|
330
|
-
`Please check the connection settings in your Vendure config.\n[${err.message || err.toString()}]`);
|
|
355
|
+
throw new Error('Could not connect to the database. ' +
|
|
356
|
+
`Please check the connection settings in your Vendure config.\n[${(err.message || err.toString())}]`);
|
|
331
357
|
}
|
|
332
358
|
function throwDatabaseDoesNotExist(name) {
|
|
333
359
|
throw new Error(`Database "${name}" does not exist. Please create the database and then try again.`);
|
|
334
360
|
}
|
|
335
|
-
|
|
361
|
+
function throwDatabaseSchemaDoesNotExist(dbName, schemaName) {
|
|
362
|
+
throw new Error(`Schema "${dbName}.${schemaName}" does not exist. Please create the schema "${schemaName}" and then try again.`);
|
|
363
|
+
}
|
|
364
|
+
function isServerPortInUse() {
|
|
365
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
336
366
|
const tcpPortUsed = require('tcp-port-used');
|
|
337
367
|
try {
|
|
338
368
|
return tcpPortUsed.check(constants_1.SERVER_PORT);
|
|
339
369
|
}
|
|
340
370
|
catch (e) {
|
|
341
|
-
console.log(
|
|
342
|
-
return false;
|
|
371
|
+
console.log(picocolors_1.default.yellow(`Warning: could not determine whether port ${constants_1.SERVER_PORT} is available`));
|
|
372
|
+
return Promise.resolve(false);
|
|
343
373
|
}
|
|
344
374
|
}
|
|
345
375
|
exports.isServerPortInUse = isServerPortInUse;
|
package/lib/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,iDAAyC;AACzC,8DAAgC;AAChC,wDAA0B;AAC1B,gDAAwB;AACxB,4DAA4B;AAC5B,oDAA4B;AAE5B,2CAA8D;AAG9D;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,IAAY,EAAE,IAAY;IAC9D,+DAA+D;IAC/D,oDAAoD;IACpD,MAAM,oBAAoB,GAAG,CAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG;QACf,WAAW;QACX,WAAW;QACX,MAAM;QACN,YAAY;QACZ,OAAO;QACP,WAAW;QACX,SAAS;QACT,KAAK;QACL,WAAW;QACX,UAAU;QACV,YAAY;QACZ,YAAY;QACZ,MAAM;QACN,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,cAAc;QACd,mBAAmB;QACnB,KAAK;QACL,QAAQ;QACR,eAAe;QACf,WAAW;KACd,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,SAAS,GAAG,kBAAE;SACf,WAAW,CAAC,IAAI,CAAC;SACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,4DAA4D;SAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,gEAAgE;SAC/D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAExF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,oBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;SAC5B;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;QAExF,OAAO,KAAK,CAAC;KAChB;IAED,wDAAwD;IACxD,MAAM,YAAY,GAAG,kBAAE,CAAC,WAAW,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACxB,oBAAoB,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;YAC/C,iEAAiE;YACjE,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;gBACzC,kBAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aACxC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC;AA/DD,0DA+DC;AAED,SAAgB,qBAAqB,CAAC,IAAY,EAAE,IAAY;IAC5D,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,kBAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7E,CAAC;AAJD,sDAIC;AAED,SAAgB,gBAAgB,CAAC,eAAuB;IACpD,IAAI,CAAC,gBAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE;QACrD,OAAO,CAAC,KAAK,CACT,oBAAE,CAAC,GAAG,CACF,4BAA4B;YACxB,wCAAwC;YACxC,qCAAqC,CAC5C,EACD,OAAO,CAAC,OAAO,EACf,eAAe,CAClB,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;AACL,CAAC;AAbD,4CAaC;AAED,SAAgB,aAAa;IACzB,IAAI;QACA,IAAA,wBAAQ,EAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;KACf;IAAC,OAAO,CAAM,EAAE;QACb,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAPD,sCAOC;AAED,SAAgB,sBAAsB;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI;QACA,kDAAkD;QAClD,2CAA2C;QAC3C,0DAA0D;QAC1D,2DAA2D;QAC3D,oCAAoC;QACpC,WAAW,GAAG,qBAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACvE;IAAC,OAAO,GAAQ,EAAE;QACf,sCAAsC;QACtC,kDAAkD;QAClD,8CAA8C;QAC9C,OAAO,IAAI,CAAC;KACf;IACD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACjC,OAAO,IAAI,CAAC;KACf;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,wDAAwD;IACxD,8CAA8C;IAC9C,2CAA2C;IAC3C,MAAM,MAAM,GAAG,UAAU,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,yCAAyC;QACzC,OAAO,IAAI,CAAC;KACf;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,KAAK,GAAG,EAAE;QAChB,OAAO,IAAI,CAAC;KACf;IACD,OAAO,CAAC,KAAK,CACT,oBAAE,CAAC,GAAG,CACF,4DAA4D;QACxD,6BAA6B,oBAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;QAC7C,iDAAiD,oBAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;QACtE,mEAAmE,CAC1E,CACJ,CAAC;IACF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAC9B,OAAO,CAAC,KAAK,CACT,oBAAE,CAAC,GAAG,CAAC,uDAAuD,CAAC;YAC3D,KAAK,oBAAE,CAAC,IAAI,CAAC,KAAK,CAAC,wEAAwE;YAC3F,KAAK,oBAAE,CAAC,IAAI,CACR,KAAK,CACR,0EAA0E;YAC3E,oBAAE,CAAC,GAAG,CAAC,mDAAmD,CAAC;YAC3D,oBAAE,CAAC,GAAG,CACF,4GAA4G,CAC/G,CACR,CAAC;KACL;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAvDD,wDAuDC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAC3B,IAAY,EACZ,OAAgB,EAChB,YAAsB,EACtB,KAAc,EACd,QAAqB,EACrB,OAAgB,KAAK;IAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,OAAe,CAAC;QACpB,IAAI,IAAc,CAAC;QACnB,IAAI,OAAO,EAAE;YACT,OAAO,GAAG,SAAS,CAAC;YACpB,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;YAC9C,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACtB;YACD,IAAI,IAAI,EAAE;gBACN,8BAA8B;gBAC9B,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBAC/C,2BAA2B;gBAC3B,yEAAyE;gBACzE,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;aACzC;YACD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAEjC,kDAAkD;YAClD,4DAA4D;YAC5D,qEAAqE;YACrE,yDAAyD;YACzD,sEAAsE;YACtE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;aAAM;YACH,OAAO,GAAG,KAAK,CAAC;YAChB,IAAI,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzF,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC3B;SACJ;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1B;QAED,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5F,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI,IAAI,KAAK,CAAC,EAAE;gBACZ,IAAI,OAAO,GAAG,iDAAiD,CAAC;gBAChE,IAAI,QAAQ,KAAK,QAAQ,EAAE;oBACvB,OAAO,IAAI,4EAA4E,CAAC;iBAC3F;gBACD,MAAM,CAAC;oBACH,OAAO;oBACP,OAAO,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;iBAC1C,CAAC,CAAC;gBACH,OAAO;aACV;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AA9DD,0CA8DC;AAED,SAAgB,eAAe,CAC3B,MAAc,EACd,iBAAiB,GAAG,EAAE;IAEtB,MAAM,YAAY,GAAG;QACjB,gBAAgB,iBAAiB,EAAE;QACnC,wBAAwB,iBAAiB,EAAE;QAC3C,+BAA+B,iBAAiB,EAAE;QAClD,2BAA2B,iBAAiB,EAAE;QAC9C,QAAQ;QACR,eAAe,CAAC,MAAM,CAAC;QACvB,cAAc,8BAAkB,EAAE;KACrC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACpD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AAC7C,CAAC;AAfD,0CAeC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,MAAc;IACnC,QAAQ,MAAM,EAAE;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACV,OAAO,OAAO,CAAC;QACnB,KAAK,UAAU;YACX,OAAO,IAAI,CAAC;QAChB,KAAK,QAAQ;YACT,OAAO,gBAAgB,CAAC;QAC5B,KAAK,OAAO;YACR,OAAO,QAAQ,CAAC;QACpB,KAAK,OAAO;YACR,OAAO,OAAO,CAAC;QACnB,KAAK,QAAQ;YACT,OAAO,UAAU,CAAC;QACtB;YACI,MAAM,CAAC,GAAU,MAAM,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,oBAAE,CAAC,GAAG,CAAC,0CAA0C,MAAgB,GAAG,CAAC,CAAC,CAAC;YACrF,OAAO,EAAE,CAAC;KACjB;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,OAAY,EAAE,IAAY;IACxD,QAAQ,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,OAAO;YACR,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7C,KAAK,UAAU;YACX,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD;YACI,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACpC;AACL,CAAC;AATD,8CASC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAY,EAAE,IAAY;;IACxD,MAAM,KAAK,GAAG,YAAa,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,0DAAC,CAAC;IAClE,MAAM,iBAAiB,GAAG;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,QAAQ;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAE7D,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,UAAU,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC5B,IAAI,GAAG,EAAE;gBACL,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE;oBAChC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBAC/C;gBACD,oBAAoB,CAAC,GAAG,CAAC,CAAC;aAC7B;YACD,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACxB,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAAY,EAAE,IAAY;;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,YAAa,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,0DAAC,CAAC;IACpE,MAAM,iBAAiB,GAAG;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,QAAQ;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE7C,IAAI;QACA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,4EACI,OAAO,CAAC,MACZ,GAAG,CACN,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;SAChC;KACJ;IAAC,OAAO,CAAM,EAAE;QACb,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;YACpB,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC/C;aAAM,IAAI,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE;YAClC,+BAA+B,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SACrE;QACD,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QACnB,MAAM,CAAC,CAAC;KACX;IACD,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACnB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAQ;IAClC,MAAM,IAAI,KAAK,CACX,qCAAqC;QACjC,kEACI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAClC,GAAG,CACV,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC3C,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,kEAAkE,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAc,EAAE,UAAkB;IACvE,MAAM,IAAI,KAAK,CACX,WAAW,MAAM,IAAI,UAAU,+CAA+C,UAAU,uBAAuB,CAClH,CAAC;AACN,CAAC;AAED,SAAgB,iBAAiB;IAC7B,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI;QACA,OAAO,WAAW,CAAC,KAAK,CAAC,uBAAW,CAAC,CAAC;KACzC;IAAC,OAAO,CAAM,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,oBAAE,CAAC,MAAM,CAAC,6CAA6C,uBAAW,eAAe,CAAC,CAAC,CAAC;QAChG,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACjC;AACL,CAAC;AATD,8CASC"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
export
|
|
2
|
-
export interface
|
|
3
|
-
usingTs: boolean;
|
|
4
|
-
dbType: DbType;
|
|
5
|
-
populateProducts: boolean;
|
|
1
|
+
export type DbType = 'mysql' | 'mariadb' | 'postgres' | 'sqlite' | 'sqljs' | 'mssql' | 'oracle';
|
|
2
|
+
export interface FileSources {
|
|
6
3
|
indexSource: string;
|
|
7
4
|
indexWorkerSource: string;
|
|
8
5
|
configSource: string;
|
|
6
|
+
envSource: string;
|
|
7
|
+
envDtsSource: string;
|
|
9
8
|
migrationSource: string;
|
|
10
9
|
readmeSource: string;
|
|
10
|
+
dockerfileSource: string;
|
|
11
|
+
dockerComposeSource: string;
|
|
12
|
+
}
|
|
13
|
+
export interface UserResponses extends FileSources {
|
|
14
|
+
dbType: DbType;
|
|
15
|
+
populateProducts: boolean;
|
|
11
16
|
superadminIdentifier: string;
|
|
12
17
|
superadminPassword: string;
|
|
13
18
|
}
|
|
14
|
-
export
|
|
19
|
+
export type CliLogLevel = 'silent' | 'info' | 'verbose';
|