diff --git a/package-lock.json b/package-lock.json index d3043d9..85c4c05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "aurora-dockside", - "version": "2.0.0-alpha.31", + "version": "2.0.0-alpha.32", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "aurora-dockside", - "version": "2.0.0-alpha.31", + "version": "2.0.0-alpha.32", "hasInstallScript": true, "dependencies": { "@electron-toolkit/preload": "^3.0.2", diff --git a/package.json b/package.json index 8e1f4de..fd70399 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aurora-dockside", - "version": "2.0.0-alpha.31", + "version": "2.0.0-alpha.32", "description": "A modern, modular Docker development platform for building, running, and managing web applications locally.", "desktopName": "aurora-dockside.desktop", "main": "./out/main/index.js", diff --git a/packages/aurora-module-wordpress/main/index.cjs b/packages/aurora-module-wordpress/main/index.cjs index e421951..eca01fc 100644 --- a/packages/aurora-module-wordpress/main/index.cjs +++ b/packages/aurora-module-wordpress/main/index.cjs @@ -38,6 +38,7 @@ exports.projectCreate = async function projectCreate(context) { const s = context.settings const title = String(s.title || '').trim() || context.projectName const native = context.environment.runtimeEngine === 'native' + const nativePhpPrefix = native ? context.native.phpPrefixArgs || [] : [] const nativePrefix = native ? context.native.wpPrefixArgs || [] : [] const base = native ? [...nativePrefix, `--path=${context.directory}`] : wpArgs(context, false) const networkBase = native ? base : wpArgs(context, true) @@ -48,7 +49,7 @@ exports.projectCreate = async function projectCreate(context) { await context.native.start() const port = Number(context.native.databasePort) const bootstrap = `$db=new mysqli('127.0.0.1','root','',null,${port});if($db->connect_error)throw new Exception($db->connect_error);$db->query('CREATE DATABASE IF NOT EXISTS db');$db->query("CREATE USER IF NOT EXISTS 'db'@'127.0.0.1' IDENTIFIED BY 'db'");$db->query("GRANT ALL ON db.* TO 'db'@'127.0.0.1'");` - await context.run('database', context.native.php, ['-r', bootstrap]) + await context.run('database', context.native.php, [...nativePhpPrefix, '-r', bootstrap]) } else { await context.ensureRouter() await context.run('start', 'docker', [ diff --git a/packages/aurora-module-wordpress/manifest.json b/packages/aurora-module-wordpress/manifest.json index 04bf924..b015613 100644 --- a/packages/aurora-module-wordpress/manifest.json +++ b/packages/aurora-module-wordpress/manifest.json @@ -1,7 +1,7 @@ { "id": "wordpress", "name": "WordPress", - "version": "1.2.0", + "version": "1.2.1", "category": "application", "description": "WordPress CMS provisioning and WP-CLI tooling.", "main": "main/index.cjs", @@ -12,15 +12,89 @@ "settings": [], "creation": { "databases": ["mariadb", "mysql"], - "intro": { "title": "WordPress install", "description": "Core downloads automatically and the project starts for setup.", "icon": "globe" }, + "intro": { + "title": "WordPress install", + "description": "Core downloads automatically and the project starts for setup.", + "icon": "globe" + }, "setup": [ - { "id": "title", "label": "Site title", "type": "text", "default": "", "placeholder": "My WordPress Site", "icon": "title", "span": 2 }, - { "id": "admin_user", "label": "Admin username", "type": "text", "default": "admin", "required": true, "icon": "user" }, - { "id": "admin_password", "label": "Admin password", "type": "text", "default": "", "required": true, "secret": true, "icon": "key" }, - { "id": "admin_email", "label": "Admin email", "type": "text", "default": "", "required": true, "placeholder": "admin@example.com", "icon": "mail", "span": 2 }, - { "id": "locale", "label": "Select language", "type": "select", "default": "en_US", "advanced": true, "icon": "globe", "options": ["en_US", "en_GB", "de_DE", "es_ES", "fr_FR", "it_IT", "pt_BR", "nl_NL", "ja"], "optionLabels": { "en_US": "English (United States)", "en_GB": "English (UK)", "de_DE": "German", "es_ES": "Spanish (Spain)", "fr_FR": "French (France)", "it_IT": "Italian", "pt_BR": "Portuguese (Brazil)", "nl_NL": "Dutch", "ja": "Japanese" } }, - { "id": "multisite", "label": "Is this a WordPress Multisite?", "type": "select", "default": "none", "advanced": true, "icon": "settings", "options": ["none", "subdirectory", "subdomain"], "optionLabels": { "none": "No", "subdirectory": "Yes – Subdirectory", "subdomain": "Yes – Subdomain" } }, - { "id": "wp_debug", "label": "Enable WP_DEBUG", "type": "boolean", "default": true, "advanced": true } + { + "id": "title", + "label": "Site title", + "type": "text", + "default": "", + "placeholder": "My WordPress Site", + "icon": "title", + "span": 2 + }, + { + "id": "admin_user", + "label": "Admin username", + "type": "text", + "default": "admin", + "required": true, + "icon": "user" + }, + { + "id": "admin_password", + "label": "Admin password", + "type": "text", + "default": "", + "required": true, + "secret": true, + "icon": "key" + }, + { + "id": "admin_email", + "label": "Admin email", + "type": "text", + "default": "", + "required": true, + "placeholder": "admin@example.com", + "icon": "mail", + "span": 2 + }, + { + "id": "locale", + "label": "Select language", + "type": "select", + "default": "en_US", + "advanced": true, + "icon": "globe", + "options": ["en_US", "en_GB", "de_DE", "es_ES", "fr_FR", "it_IT", "pt_BR", "nl_NL", "ja"], + "optionLabels": { + "en_US": "English (United States)", + "en_GB": "English (UK)", + "de_DE": "German", + "es_ES": "Spanish (Spain)", + "fr_FR": "French (France)", + "it_IT": "Italian", + "pt_BR": "Portuguese (Brazil)", + "nl_NL": "Dutch", + "ja": "Japanese" + } + }, + { + "id": "multisite", + "label": "Is this a WordPress Multisite?", + "type": "select", + "default": "none", + "advanced": true, + "icon": "settings", + "options": ["none", "subdirectory", "subdomain"], + "optionLabels": { + "none": "No", + "subdirectory": "Yes – Subdirectory", + "subdomain": "Yes – Subdomain" + } + }, + { + "id": "wp_debug", + "label": "Enable WP_DEBUG", + "type": "boolean", + "default": true, + "advanced": true + } ] }, "project": { diff --git a/packages/aurora-module-wordpress/package.json b/packages/aurora-module-wordpress/package.json index 41abb3b..4ae5253 100644 --- a/packages/aurora-module-wordpress/package.json +++ b/packages/aurora-module-wordpress/package.json @@ -1,7 +1,11 @@ { "name": "@aurora/module-wordpress", - "version": "1.2.0", + "version": "1.2.1", "private": true, "description": "WordPress application module for Aurora Dockside", - "files": ["manifest.json", "main", "README.md"] + "files": [ + "manifest.json", + "main", + "README.md" + ] } diff --git a/src/main/moduleRuntime.ts b/src/main/moduleRuntime.ts index b02872d..25af374 100644 --- a/src/main/moduleRuntime.ts +++ b/src/main/moduleRuntime.ts @@ -118,6 +118,10 @@ export async function runModuleLifecycleHook( urls: urls ? Object.freeze(urls) : undefined, native: nativeDefinition ? Object.freeze({ + phpPrefixArgs: + process.platform === 'win32' + ? ['-c', join(directory!, '.aurora', 'native', 'config', 'php.ini')] + : [], php: process.platform === 'win32' ? join(runtimeRoot(), 'bin', 'php', 'php.exe') @@ -128,7 +132,13 @@ export async function runModuleLifecycleHook( : join(runtimeRoot(), 'bin', 'wp'), wpPrefixArgs: process.platform === 'win32' - ? ['-d', 'memory_limit=512M', join(runtimeRoot(), 'tools', 'wp-cli.phar')] + ? [ + '-c', + join(directory!, '.aurora', 'native', 'config', 'php.ini'), + '-d', + 'memory_limit=512M', + join(runtimeRoot(), 'tools', 'wp-cli.phar') + ] : [], databaseHost: '127.0.0.1', databasePort: nativeDefinition.ports.database, diff --git a/src/main/native/nativeProject.test.ts b/src/main/native/nativeProject.test.ts index 65e5615..34f43d5 100644 --- a/src/main/native/nativeProject.test.ts +++ b/src/main/native/nativeProject.test.ts @@ -145,6 +145,10 @@ it.runIf(Boolean(process.env.AURORA_NATIVE_WORDPRESS_SMOKE_ROOT))( https: `http://127.0.0.1:${definition.ports.http}` }, native: { + phpPrefixArgs: + process.platform === 'win32' + ? ['-c', join(root, '.aurora', 'native', 'config', 'php.ini')] + : [], php: runtimeCommand(runtime, 'php'), wp: process.platform === 'win32' @@ -152,7 +156,13 @@ it.runIf(Boolean(process.env.AURORA_NATIVE_WORDPRESS_SMOKE_ROOT))( : join(runtime, 'bin', 'wp'), wpPrefixArgs: process.platform === 'win32' - ? ['-d', 'memory_limit=512M', join(runtime, 'tools', 'wp-cli.phar')] + ? [ + '-c', + join(root, '.aurora', 'native', 'config', 'php.ini'), + '-d', + 'memory_limit=512M', + join(runtime, 'tools', 'wp-cli.phar') + ] : [], databasePort: definition.ports.database, start: () => startNativeProject(definition)