@scandipwa/magento-scripts 2.0.0-alpha.9 → 2.0.1
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/lib/commands/cli.js +18 -1
- package/lib/commands/logs.js +28 -2
- package/lib/commands/start.js +24 -3
- package/lib/commands/status.js +19 -1
- package/lib/config/config.js +20 -2
- package/lib/config/dependencies-for-platforms.js +1 -113
- package/lib/config/docker.js +94 -54
- package/lib/config/get-project-configuration.js +5 -0
- package/lib/config/index.js +10 -3
- package/lib/config/magento/required-php-extensions/index.js +1 -1
- package/lib/config/php-config.js +4 -3
- package/lib/config/port-config.js +3 -1
- package/lib/config/services/composer/versions/composer-1.js +13 -0
- package/lib/config/services/composer/versions/composer-2.js +8 -0
- package/lib/config/services/composer/versions/index.js +4 -0
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.10.js +11 -0
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.12.js +11 -0
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.16.js +11 -0
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.17.js +11 -0
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.6.js +11 -0
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.7.js +11 -0
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.9.js +11 -0
- package/lib/config/services/elasticsearch/versions/index.js +15 -1
- package/lib/config/services/maildev/index.js +7 -0
- package/lib/config/services/mariadb/versions/index.js +5 -0
- package/lib/config/services/mariadb/versions/mariadb-10.2.js +8 -0
- package/lib/config/services/mariadb/versions/mariadb-10.3.js +8 -0
- package/lib/config/services/mariadb/versions/mariadb-10.4.js +8 -0
- package/lib/config/services/nginx/versions/index.js +3 -0
- package/lib/config/services/nginx/versions/nginx-1.18.js +11 -0
- package/lib/config/{php → services/php}/base-repo.js +0 -0
- package/lib/config/{php → services/php}/extensions/apcu.js +0 -0
- package/lib/config/{php → services/php}/extensions/bcmath.js +0 -0
- package/lib/config/{php → services/php}/extensions/curl.js +0 -0
- package/lib/config/{php → services/php}/extensions/gd.js +0 -0
- package/lib/config/{php → services/php}/extensions/index.js +0 -0
- package/lib/config/{php → services/php}/extensions/intl.js +0 -0
- package/lib/config/{php → services/php}/extensions/opcache.js +0 -0
- package/lib/config/{php → services/php}/extensions/pdo_mysql.js +0 -0
- package/lib/config/{php → services/php}/extensions/soap.js +0 -0
- package/lib/config/{php → services/php}/extensions/sodium.js +0 -0
- package/lib/config/{php → services/php}/extensions/xdebug.js +0 -0
- package/lib/config/{php → services/php}/extensions/xsl.js +0 -0
- package/lib/config/{php → services/php}/extensions/zip.js +0 -0
- package/lib/config/{php → services/php}/versions/index.js +0 -0
- package/lib/config/{php → services/php}/versions/php-7.2.js +1 -0
- package/lib/config/{php → services/php}/versions/php-7.3.js +1 -0
- package/lib/config/{php → services/php}/versions/php-7.4.js +1 -0
- package/lib/config/{php → services/php}/versions/php-8.1.js +1 -0
- package/lib/config/services/redis/index.js +5 -0
- package/lib/config/services/redis/redis-5.0.js +8 -0
- package/lib/config/services/redis/redis-6.0.js +8 -0
- package/lib/config/services/redis/redis-6.2.js +8 -0
- package/lib/config/{ssl-terminator → services/ssl-terminator}/index.js +3 -0
- package/lib/config/services/varnish/index.js +5 -0
- package/lib/config/{varnish → services/varnish}/varnish-6-0.js +5 -3
- package/lib/config/{varnish → services/varnish}/varnish-6-6.js +5 -3
- package/lib/config/{varnish → services/varnish}/varnish-7-0.js +5 -3
- package/lib/config/templates/magentorc.template +12 -5
- package/lib/config/templates/nginx.fastcgi_params.template +29 -0
- package/lib/config/templates/nginx.template.conf +1 -1
- package/lib/config/templates/php-debug.template.ini +31 -0
- package/lib/config/templates/php-fpm.template.conf +1 -2
- package/lib/config/templates/php.template.ini +5 -201
- package/lib/config/templates/ssl-terminator.template.conf +2 -0
- package/lib/config/templates/varnish.template.vcl +20 -13
- package/lib/config/versions/magento-2.2.10.js +39 -0
- package/lib/config/versions/magento-2.3.0.js +15 -19
- package/lib/config/versions/magento-2.3.1.js +15 -19
- package/lib/config/versions/magento-2.3.2-p1.js +15 -19
- package/lib/config/versions/magento-2.3.2-p2.js +15 -19
- package/lib/config/versions/magento-2.3.2.js +15 -19
- package/lib/config/versions/magento-2.3.3-p1.js +15 -19
- package/lib/config/versions/magento-2.3.3.js +15 -19
- package/lib/config/versions/magento-2.3.4-p1.js +15 -19
- package/lib/config/versions/magento-2.3.4-p2.js +15 -19
- package/lib/config/versions/magento-2.3.4.js +15 -19
- package/lib/config/versions/magento-2.3.5-p1.js +17 -22
- package/lib/config/versions/magento-2.3.5-p2.js +17 -22
- package/lib/config/versions/magento-2.3.5.js +17 -22
- package/lib/config/versions/magento-2.3.6-p1.js +17 -22
- package/lib/config/versions/magento-2.3.6.js +17 -22
- package/lib/config/versions/magento-2.3.7-p1.js +17 -22
- package/lib/config/versions/magento-2.3.7-p2.js +17 -22
- package/lib/config/versions/magento-2.3.7-p3.js +17 -22
- package/lib/config/versions/magento-2.3.7-p4.js +17 -22
- package/lib/config/versions/magento-2.3.7.js +17 -22
- package/lib/config/versions/magento-2.4.0-p1.js +17 -22
- package/lib/config/versions/magento-2.4.0.js +17 -22
- package/lib/config/versions/magento-2.4.1-p1.js +18 -23
- package/lib/config/versions/magento-2.4.1.js +18 -23
- package/lib/config/versions/magento-2.4.2-p1.js +18 -23
- package/lib/config/versions/magento-2.4.2-p2.js +18 -23
- package/lib/config/versions/magento-2.4.2.js +18 -23
- package/lib/config/versions/magento-2.4.3-p1.js +18 -23
- package/lib/config/versions/magento-2.4.3-p2.js +18 -23
- package/lib/config/versions/magento-2.4.3-p3.js +18 -23
- package/lib/config/versions/magento-2.4.3.js +18 -23
- package/lib/config/versions/magento-2.4.4-p1.js +18 -23
- package/lib/config/versions/magento-2.4.4-p2.js +41 -0
- package/lib/config/versions/magento-2.4.4.js +18 -23
- package/lib/config/versions/magento-2.4.5-p1.js +41 -0
- package/lib/config/versions/magento-2.4.5.js +18 -23
- package/lib/tasks/cli/create-bashrc-config.js +4 -2
- package/lib/tasks/composer/local-auth-json.js +1 -1
- package/lib/tasks/database/connect-to-database.js +6 -3
- package/lib/tasks/database/create-magento-database.js +5 -2
- package/lib/tasks/database/create-magento-user.js +50 -0
- package/lib/tasks/database/default-magento-database.js +3 -0
- package/lib/tasks/database/default-magento-user.js +7 -0
- package/lib/tasks/database/import-dump-to-database.js +3 -2
- package/lib/tasks/docker/api.d.ts +25 -1
- package/lib/tasks/docker/api.js +31 -1
- package/lib/tasks/docker/containers/container-api.d.ts +17 -0
- package/lib/tasks/docker/containers/container-api.js +64 -9
- package/lib/tasks/docker/containers/tasks.js +44 -13
- package/lib/tasks/docker/convert-composer-home-to-composer-cache-volume.js +52 -0
- package/lib/tasks/docker/convert-mysql-to-mariadb.js +2 -2
- package/lib/tasks/docker/image/image-api.d.ts +44 -0
- package/lib/tasks/docker/image/image-api.js +30 -2
- package/lib/tasks/docker/index.js +6 -1
- package/lib/tasks/docker/network/tasks.js +19 -14
- package/lib/tasks/docker/project-image-builder.js +39 -14
- package/lib/tasks/docker/system/index.js +5 -0
- package/lib/tasks/docker/system/system-api.d.ts +71 -0
- package/lib/tasks/docker/system/system-api.js +35 -0
- package/lib/tasks/docker/volume/index.js +2 -1
- package/lib/tasks/docker/volume/tasks.js +67 -9
- package/lib/tasks/docker/volume/volume-api.d.ts +40 -0
- package/lib/tasks/docker/volume/volume-api.js +55 -2
- package/lib/tasks/execute.js +5 -2
- package/lib/tasks/file-system/create-nginx-config.js +3 -5
- package/lib/tasks/file-system/create-php-config.js +2 -23
- package/lib/tasks/file-system/create-php-debug-config.js +45 -0
- package/lib/tasks/file-system/create-php-fpm-config.js +2 -4
- package/lib/tasks/file-system/create-phpstorm-config/database-config.js +24 -5
- package/lib/tasks/file-system/create-phpstorm-config/eslint-config.js +25 -13
- package/lib/tasks/file-system/create-phpstorm-config/exclude-folder-config.js +13 -3
- package/lib/tasks/file-system/create-phpstorm-config/index.js +2 -1
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/custom-ruleset-path-config.js +18 -7
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/paths.js +4 -0
- package/lib/tasks/file-system/create-ssl-terminator-config.js +23 -8
- package/lib/tasks/file-system/create-varnish-config.js +4 -7
- package/lib/tasks/file-system/create-vscode-config.js +2 -1
- package/lib/tasks/file-system/index.js +3 -2
- package/lib/tasks/magento/setup-magento/configure-elasticsearch.js +2 -4
- package/lib/tasks/magento/setup-magento/flush-redis-config.js +3 -6
- package/lib/tasks/magento/setup-magento/index.js +2 -0
- package/lib/tasks/magento/setup-magento/install-magento.js +8 -13
- package/lib/tasks/magento/setup-magento/set-base-url.js +2 -1
- package/lib/tasks/magento/setup-magento/set-mail-config.js +22 -0
- package/lib/tasks/magento/setup-magento/varnish-config.js +4 -9
- package/lib/tasks/magento/setup-magento/waiting-for-varnish.js +15 -16
- package/lib/tasks/php/php-container.js +1 -1
- package/lib/tasks/php/update-env-php.js +4 -6
- package/lib/tasks/{prefix → project-config}/index.js +6 -6
- package/lib/tasks/requirements/composer-credentials.js +7 -3
- package/lib/tasks/requirements/docker/context.js +88 -0
- package/lib/tasks/requirements/docker/index.js +111 -19
- package/lib/tasks/requirements/docker/install.js +21 -7
- package/lib/tasks/requirements/docker/permissions.js +2 -11
- package/lib/tasks/requirements/docker/running-status.js +94 -24
- package/lib/tasks/requirements/docker/version.js +1 -0
- package/lib/tasks/requirements/index.js +0 -2
- package/lib/tasks/requirements/php-version.js +4 -2
- package/lib/tasks/start.js +27 -8
- package/lib/tasks/status/index.js +86 -21
- package/lib/tasks/stop.js +2 -0
- package/lib/tasks/theme/retrieve-theme-data.js +12 -2
- package/lib/util/config-file-validator.js +17 -3
- package/lib/util/connection-string.js +62 -0
- package/lib/util/execute-in-container.js +7 -8
- package/lib/util/instance-metadata.js +14 -2
- package/lib/util/systemctl.js +62 -13
- package/package.json +2 -2
- package/typings/context.d.ts +11 -0
- package/typings/index.d.ts +46 -1
- package/lib/tasks/requirements/dependency/arch.js +0 -50
- package/lib/tasks/requirements/dependency/centos.js +0 -36
- package/lib/tasks/requirements/dependency/fedora.js +0 -36
- package/lib/tasks/requirements/dependency/index.js +0 -33
- package/lib/tasks/requirements/dependency/mac.js +0 -124
- package/lib/tasks/requirements/dependency/ubuntu.js +0 -83
package/lib/commands/cli.js
CHANGED
|
@@ -5,9 +5,9 @@ const getMagentoVersionConfig = require('../config/get-magento-version-config');
|
|
|
5
5
|
const logger = require('@scandipwa/scandipwa-dev-utils/logger');
|
|
6
6
|
const getProjectConfiguration = require('../config/get-project-configuration');
|
|
7
7
|
const checkConfigurationFile = require('../config/check-configuration-file');
|
|
8
|
-
// const { installComposer, installPrestissimo } = require('../tasks/composer');
|
|
9
8
|
const ConsoleBlock = require('../util/console-block');
|
|
10
9
|
const { checkComposerCredentials } = require('../tasks/requirements/composer-credentials');
|
|
10
|
+
const pkg = require('../../package.json');
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* @param {import('yargs')} yargs
|
|
@@ -42,10 +42,18 @@ module.exports = (yargs) => {
|
|
|
42
42
|
block
|
|
43
43
|
.addHeader('Create Magento App CLI')
|
|
44
44
|
.addEmptyLine()
|
|
45
|
+
.addLine(`Magento version: ${logger.style.link(ctx.magentoVersion)}`)
|
|
46
|
+
.addLine(`${logger.style.file('magento-scripts')} version: ${logger.style.link(pkg.version)}`)
|
|
47
|
+
.addEmptyLine()
|
|
45
48
|
.addLine(`Available aliases: ${logger.style.command('php')}, ${logger.style.command('magento')}, ${logger.style.command('composer')}`)
|
|
46
49
|
.addLine(`Available shortcuts: magento -> ${logger.style.command('m')}, composer -> ${logger.style.command('c')}`)
|
|
47
50
|
.addEmptyLine();
|
|
48
51
|
|
|
52
|
+
block
|
|
53
|
+
.addLine(`Execute into any service: ${logger.style.command('exec <service name>')}`)
|
|
54
|
+
.addLine(`Execute into PHP container: ${logger.style.command('exec php')}`)
|
|
55
|
+
.addEmptyLine();
|
|
56
|
+
|
|
49
57
|
if (ctx.config.overridenConfiguration.configuration.varnish.enabled) {
|
|
50
58
|
block.addLine(`Clear Varnish cache: ${logger.style.command('cvc')}`);
|
|
51
59
|
}
|
|
@@ -65,6 +73,15 @@ module.exports = (yargs) => {
|
|
|
65
73
|
.addLine(`Connect to MariaDB server as root: ${logger.style.command('mariadbroot')}`)
|
|
66
74
|
.addEmptyLine();
|
|
67
75
|
|
|
76
|
+
if (ctx.debug) {
|
|
77
|
+
block
|
|
78
|
+
.addLine('Debug PHP in CLI:')
|
|
79
|
+
.addLine('1. Start debugger in VSCode or PHPStorm')
|
|
80
|
+
.addLine(`2. Go to PHP container: ${ logger.style.command('exec php') }`)
|
|
81
|
+
.addLine(`3. Run CLI command with ${ logger.style.code('XDEBUG_SESSION=phpstorm') } environmental variable: ${ logger.style.command('XDEBUG_SESSION=phpstorm magento <command>') }`)
|
|
82
|
+
.addLine('4. Enjoy');
|
|
83
|
+
}
|
|
84
|
+
|
|
68
85
|
block.log();
|
|
69
86
|
|
|
70
87
|
return cli();
|
package/lib/commands/logs.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
const logger = require('@scandipwa/scandipwa-dev-utils/logger');
|
|
2
|
-
const {
|
|
2
|
+
const { Listr } = require('listr2');
|
|
3
|
+
const { checkRequirements } = require('../tasks/requirements');
|
|
4
|
+
const getMagentoVersionConfig = require('../config/get-magento-version-config');
|
|
3
5
|
const { execAsyncSpawn } = require('../util/exec-async-command');
|
|
6
|
+
const checkConfigurationFile = require('../config/check-configuration-file');
|
|
7
|
+
const getProjectConfiguration = require('../config/get-project-configuration');
|
|
8
|
+
const { getCachedPorts } = require('../config/get-port-config');
|
|
9
|
+
const dockerNetwork = require('../tasks/docker/network');
|
|
4
10
|
|
|
5
11
|
/**
|
|
6
12
|
* @param {import('yargs')} yargs
|
|
@@ -77,7 +83,27 @@ npm run logs re (will match redis)`);
|
|
|
77
83
|
);
|
|
78
84
|
},
|
|
79
85
|
async (argv) => {
|
|
80
|
-
const
|
|
86
|
+
const tasks = new Listr([
|
|
87
|
+
checkRequirements(),
|
|
88
|
+
getMagentoVersionConfig(),
|
|
89
|
+
checkConfigurationFile(),
|
|
90
|
+
getProjectConfiguration(),
|
|
91
|
+
getCachedPorts(),
|
|
92
|
+
dockerNetwork.tasks.createNetwork()
|
|
93
|
+
], {
|
|
94
|
+
concurrent: false,
|
|
95
|
+
exitOnError: true,
|
|
96
|
+
ctx: { throwMagentoVersionMissing: true },
|
|
97
|
+
rendererOptions: { collapse: false, clearOutput: true }
|
|
98
|
+
});
|
|
99
|
+
let ctx;
|
|
100
|
+
try {
|
|
101
|
+
ctx = await tasks.run();
|
|
102
|
+
} catch (e) {
|
|
103
|
+
logger.error(e.message || e);
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
const containers = ctx.config.docker.getContainers();
|
|
81
107
|
const services = Object.keys(containers);
|
|
82
108
|
|
|
83
109
|
if (services.includes(argv.scope) || services.some((service) => service.includes(argv.scope))) {
|
package/lib/commands/start.js
CHANGED
|
@@ -22,6 +22,7 @@ const reportErrors = async (errors) => {
|
|
|
22
22
|
const path = (error.path && ` Error path: ${error.path} `) || '';
|
|
23
23
|
if (error instanceof UnknownError || error instanceof KnownError) {
|
|
24
24
|
logger.error(error.message);
|
|
25
|
+
logger.error(error.stack);
|
|
25
26
|
if (error instanceof UnknownError) {
|
|
26
27
|
await googleAnalytics.trackError(`Unknown Error:${path}${error.stack}`);
|
|
27
28
|
} else {
|
|
@@ -29,9 +30,11 @@ const reportErrors = async (errors) => {
|
|
|
29
30
|
}
|
|
30
31
|
} else if (error instanceof Error) {
|
|
31
32
|
logger.error(error.message);
|
|
33
|
+
logger.error(error.stack);
|
|
32
34
|
await googleAnalytics.trackError(`Regular Error:${path}${error.message}`);
|
|
33
35
|
} else {
|
|
34
36
|
logger.error(error);
|
|
37
|
+
logger.error(error.stack);
|
|
35
38
|
await googleAnalytics.trackError(`Non Error:${path}${error}`); // track non-errors throws
|
|
36
39
|
}
|
|
37
40
|
}
|
|
@@ -83,6 +86,16 @@ module.exports = (yargs) => {
|
|
|
83
86
|
describe: 'Enable verbose logging',
|
|
84
87
|
type: 'boolean',
|
|
85
88
|
default: false
|
|
89
|
+
})
|
|
90
|
+
.option('pull-images', {
|
|
91
|
+
describe: 'Pull Docker images',
|
|
92
|
+
type: 'boolean',
|
|
93
|
+
default: false
|
|
94
|
+
})
|
|
95
|
+
.option('reset-global-config', {
|
|
96
|
+
describe: 'Reset global magento-scripts configuration',
|
|
97
|
+
type: 'boolean',
|
|
98
|
+
default: false
|
|
86
99
|
}),
|
|
87
100
|
async (args = {}) => {
|
|
88
101
|
/**
|
|
@@ -137,6 +150,13 @@ module.exports = (yargs) => {
|
|
|
137
150
|
block.addLine(` ${title}: ${text}`);
|
|
138
151
|
});
|
|
139
152
|
|
|
153
|
+
block.addEmptyLine();
|
|
154
|
+
|
|
155
|
+
block.addLine(logger.style.misc('MailDev'));
|
|
156
|
+
instanceMetadata.maildev.forEach(({ title, text }) => {
|
|
157
|
+
block.addLine(` ${title}: ${text}`);
|
|
158
|
+
});
|
|
159
|
+
|
|
140
160
|
const themes = await getCSAThemes();
|
|
141
161
|
if (themes.length > 0) {
|
|
142
162
|
const theme = themes[0];
|
|
@@ -170,10 +190,11 @@ module.exports = (yargs) => {
|
|
|
170
190
|
);
|
|
171
191
|
logger.log('');
|
|
172
192
|
|
|
173
|
-
if (
|
|
174
|
-
logger.warn('
|
|
193
|
+
if (tasks.err && tasks.err.length > 0) {
|
|
194
|
+
logger.warn('During the start, we encountered some errors that have not impacted the start-up process!');
|
|
195
|
+
logger.log('');
|
|
175
196
|
for (const err of tasks.err) {
|
|
176
|
-
logger.error(
|
|
197
|
+
logger.error(`Error path: ${err.path}\nError message: ${err.message}\n\nError stack: ${err.stack}`);
|
|
177
198
|
}
|
|
178
199
|
}
|
|
179
200
|
|
package/lib/commands/status.js
CHANGED
|
@@ -9,6 +9,8 @@ const { statusContainers } = require('../tasks/docker/containers');
|
|
|
9
9
|
const getProjectConfiguration = require('../config/get-project-configuration');
|
|
10
10
|
const checkConfigurationFile = require('../config/check-configuration-file');
|
|
11
11
|
const checkPHPVersion = require('../tasks/requirements/php-version');
|
|
12
|
+
const { getComposerVersionTask } = require('../tasks/composer');
|
|
13
|
+
const { systemApi } = require('../tasks/docker/system');
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* @param {import('yargs')} yargs
|
|
@@ -21,7 +23,23 @@ module.exports = (yargs) => {
|
|
|
21
23
|
checkConfigurationFile(),
|
|
22
24
|
getProjectConfiguration(),
|
|
23
25
|
getCachedPorts(),
|
|
24
|
-
|
|
26
|
+
{
|
|
27
|
+
task: (_ctx, task) => task.newListr([
|
|
28
|
+
checkPHPVersion(),
|
|
29
|
+
getComposerVersionTask(),
|
|
30
|
+
{
|
|
31
|
+
title: 'Retrieving Docker System data',
|
|
32
|
+
task: async (ctx) => {
|
|
33
|
+
ctx.systemDFData = await systemApi.df({
|
|
34
|
+
formatToJSON: true,
|
|
35
|
+
verbose: true
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
], {
|
|
40
|
+
concurrent: true
|
|
41
|
+
})
|
|
42
|
+
},
|
|
25
43
|
statusContainers()
|
|
26
44
|
], {
|
|
27
45
|
concurrent: false,
|
package/lib/config/config.js
CHANGED
|
@@ -2,6 +2,16 @@ const Conf = require('conf');
|
|
|
2
2
|
|
|
3
3
|
const pkg = require('../../package.json');
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* @typedef ProjectConfig
|
|
7
|
+
* @prop {String} [createdAt]
|
|
8
|
+
* @prop {String} [prefix]
|
|
9
|
+
* @prop {Boolean} debug
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @type {import('conf').default<Record<string, ProjectConfig>>}
|
|
14
|
+
*/
|
|
5
15
|
const projectsConfig = new Conf({
|
|
6
16
|
configName: 'projects',
|
|
7
17
|
projectName: 'create-magento-app',
|
|
@@ -10,6 +20,12 @@ const projectsConfig = new Conf({
|
|
|
10
20
|
});
|
|
11
21
|
const projectKey = process.cwd();
|
|
12
22
|
|
|
23
|
+
const setProjectConfig = (key, value) => {
|
|
24
|
+
projectsConfig.set(`${projectKey}.${key}`, value);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const getProjectConfig = () => projectsConfig.get(projectKey);
|
|
28
|
+
|
|
13
29
|
const getProjectsFromProjectKeys = (path, project) => {
|
|
14
30
|
if (project.createdAt) {
|
|
15
31
|
return { [path]: project };
|
|
@@ -21,7 +37,7 @@ const getProjectsFromProjectKeys = (path, project) => {
|
|
|
21
37
|
};
|
|
22
38
|
/**
|
|
23
39
|
*
|
|
24
|
-
* @returns {Record<string,
|
|
40
|
+
* @returns {Record<string, ProjectConfig>}
|
|
25
41
|
*/
|
|
26
42
|
const getProjects = () => {
|
|
27
43
|
const projects = {};
|
|
@@ -45,5 +61,7 @@ const getProjects = () => {
|
|
|
45
61
|
module.exports = {
|
|
46
62
|
projectsConfig,
|
|
47
63
|
projectKey,
|
|
48
|
-
getProjects
|
|
64
|
+
getProjects,
|
|
65
|
+
setProjectConfig,
|
|
66
|
+
getProjectConfig
|
|
49
67
|
};
|
|
@@ -1,132 +1,20 @@
|
|
|
1
|
-
const { getBrewCommandSync } = require('../util/get-brew-bin-path');
|
|
2
|
-
|
|
3
1
|
const dependenciesForPlatforms = {
|
|
4
2
|
darwin: {
|
|
5
|
-
dependencies: [
|
|
6
|
-
'zlib',
|
|
7
|
-
'bzip2',
|
|
8
|
-
'libiconv',
|
|
9
|
-
'libzip',
|
|
10
|
-
'libsodium',
|
|
11
|
-
'curl',
|
|
12
|
-
'libpng',
|
|
13
|
-
'gd',
|
|
14
|
-
'freetype',
|
|
15
|
-
'oniguruma',
|
|
16
|
-
'icu4c',
|
|
17
|
-
'libxml2',
|
|
18
|
-
'openssl@1.1'
|
|
19
|
-
],
|
|
20
|
-
installCommand: (deps, { native } = { native: false }) => `${getBrewCommandSync({ native })} install ${deps}`,
|
|
21
3
|
packageManager: 'brew'
|
|
22
4
|
},
|
|
23
5
|
'darwin-arm': {
|
|
24
|
-
dependencies: [
|
|
25
|
-
'php',
|
|
26
|
-
'autoconf',
|
|
27
|
-
'pkg-config',
|
|
28
|
-
'gd'
|
|
29
|
-
],
|
|
30
|
-
installCommand: (deps, { native } = { native: false }) => `${getBrewCommandSync({ native })} install ${deps}`,
|
|
31
6
|
packageManager: 'brew'
|
|
32
7
|
},
|
|
33
8
|
'Arch Linux': {
|
|
34
|
-
dependencies: [
|
|
35
|
-
'freetype2',
|
|
36
|
-
'openssl',
|
|
37
|
-
'oniguruma',
|
|
38
|
-
'libxslt',
|
|
39
|
-
'bzip2',
|
|
40
|
-
['libjpeg', 'libjpeg-turbo', 'libjpeg6-turbo'],
|
|
41
|
-
'libpng',
|
|
42
|
-
'icu',
|
|
43
|
-
'libxml2',
|
|
44
|
-
'autoconf',
|
|
45
|
-
'libzip',
|
|
46
|
-
'sqlite',
|
|
47
|
-
'readline',
|
|
48
|
-
'perl',
|
|
49
|
-
'libsodium',
|
|
50
|
-
'php',
|
|
51
|
-
'pkgconf'
|
|
52
|
-
],
|
|
53
|
-
installCommand: (deps) => `sudo pacman -S ${deps} --noconfirm`,
|
|
54
9
|
packageManager: 'pacman'
|
|
55
10
|
},
|
|
56
11
|
Fedora: {
|
|
57
|
-
|
|
58
|
-
'openssl-devel',
|
|
59
|
-
'libjpeg-turbo-devel',
|
|
60
|
-
'libpng-devel',
|
|
61
|
-
'gd-devel',
|
|
62
|
-
'libicu',
|
|
63
|
-
'libicu-devel',
|
|
64
|
-
'libzip-devel',
|
|
65
|
-
'libsodium',
|
|
66
|
-
'libsodium-devel',
|
|
67
|
-
'libtool-ltdl-devel',
|
|
68
|
-
'oniguruma-devel',
|
|
69
|
-
'libxml2-devel',
|
|
70
|
-
'bzip2-devel',
|
|
71
|
-
'curl-devel',
|
|
72
|
-
'libxslt-devel',
|
|
73
|
-
'autoconf',
|
|
74
|
-
'php'
|
|
75
|
-
],
|
|
76
|
-
installCommand: (deps) => `sudo yum install ${deps} -y`,
|
|
77
|
-
packageManager: 'yum'
|
|
12
|
+
packageManager: 'dnf'
|
|
78
13
|
},
|
|
79
14
|
CentOS: {
|
|
80
|
-
dependencies: [
|
|
81
|
-
'openssl-devel',
|
|
82
|
-
'libjpeg-turbo-devel',
|
|
83
|
-
'libpng-devel',
|
|
84
|
-
'gd-devel',
|
|
85
|
-
'libicu',
|
|
86
|
-
'libicu-devel',
|
|
87
|
-
'libzip-devel',
|
|
88
|
-
'libsodium',
|
|
89
|
-
'libsodium-devel',
|
|
90
|
-
'libtool-ltdl-devel',
|
|
91
|
-
'oniguruma-devel',
|
|
92
|
-
'libxml2-devel',
|
|
93
|
-
'bzip2-devel',
|
|
94
|
-
'curl-devel',
|
|
95
|
-
'libxslt-devel',
|
|
96
|
-
'autoconf',
|
|
97
|
-
'php'
|
|
98
|
-
],
|
|
99
|
-
installCommand: (deps) => `sudo yum install --enablerepo=PowerTools ${deps} -y`,
|
|
100
15
|
packageManager: 'yum'
|
|
101
16
|
},
|
|
102
17
|
Ubuntu: {
|
|
103
|
-
dependencies: [
|
|
104
|
-
'libcurl4-openssl-dev',
|
|
105
|
-
'libonig-dev',
|
|
106
|
-
'libjpeg-dev',
|
|
107
|
-
'libjpeg8-dev',
|
|
108
|
-
'libjpeg-turbo8-dev',
|
|
109
|
-
'libpng-dev',
|
|
110
|
-
'libicu-dev',
|
|
111
|
-
'libfreetype6-dev',
|
|
112
|
-
'libzip-dev',
|
|
113
|
-
'libssl-dev',
|
|
114
|
-
'build-essential',
|
|
115
|
-
'libbz2-dev',
|
|
116
|
-
'libreadline-dev',
|
|
117
|
-
'libsodium-dev',
|
|
118
|
-
'libsqlite3-dev',
|
|
119
|
-
'libxml2-dev',
|
|
120
|
-
['libxslt-dev', 'libxslt1-dev'],
|
|
121
|
-
'libonig-dev',
|
|
122
|
-
'php-cli',
|
|
123
|
-
'php-bz2',
|
|
124
|
-
'pkg-config',
|
|
125
|
-
'autoconf',
|
|
126
|
-
'cmake',
|
|
127
|
-
'php'
|
|
128
|
-
],
|
|
129
|
-
installCommand: (deps) => `sudo apt install ${deps} -y`,
|
|
130
18
|
packageManager: 'apt'
|
|
131
19
|
}
|
|
132
20
|
};
|