@elementor/wp-lite-env 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,117 @@
1
+ import { Config } from './config';
2
+ import path from 'path';
3
+
4
+ export const generateDockerComposeYmlTemplate = ( config: Config, basePath: string, port: string, configPath: string ) => {
5
+ const mappingsStringArray = Object.keys( config.mappings ).map( ( key ) => {
6
+ const value = config.mappings[ key ];
7
+ return ` - >-
8
+ ${ path.resolve( basePath, value ) }:/var/www/html/${ key }\n`;
9
+ } );
10
+ const pluginsStringArray = Object.keys( config.plugins ).map( ( key ) => {
11
+ const value = config.plugins[ key ];
12
+ return ` - >-
13
+ ${ path.resolve( basePath, value ) }:/var/www/html/wp-content/plugins/${ key }\n`;
14
+ } );
15
+ const themesStringArray = Object.keys( config.themes ).map( ( key ) => {
16
+ const value = config.themes[ key ];
17
+ return ` - >-
18
+ ${ path.resolve( basePath, value ) }:/var/www/html/wp-content/themes/${ key }\n`;
19
+ } );
20
+ const wpContent = ` - >-
21
+ wpcontent:/var/www/html\n`;
22
+ const wpConfig = ` - >-
23
+ ${ configPath }:/var/www/html/wp-config\n`;
24
+ const volumes = mappingsStringArray.concat( pluginsStringArray ).concat( themesStringArray ).concat( [ wpContent, wpConfig ] ).join( '' );
25
+ return `services:
26
+ mysql:
27
+ image: 'mariadb:lts'
28
+ ports:
29
+ - '\${WP_ENV_MYSQL_PORT:-}:3306'
30
+ environment:
31
+ MYSQL_ROOT_HOST: '%'
32
+ MYSQL_ROOT_PASSWORD: password
33
+ MYSQL_DATABASE: wordpress
34
+ volumes:
35
+ - 'mysql:/var/lib/mysql'
36
+ wordpress:
37
+ depends_on:
38
+ - mysql
39
+ build:
40
+ context: .
41
+ dockerfile: WordPress.Dockerfile
42
+ no_cache: true
43
+ args: &ref_0
44
+ HOST_USERNAME: yotams
45
+ HOST_UID: '502'
46
+ HOST_GID: '20'
47
+ ports:
48
+ - '\${WP_ENV_PORT:-${ port }}:80'
49
+ environment:
50
+ APACHE_RUN_USER: '#502'
51
+ APACHE_RUN_GROUP: '#20'
52
+ WORDPRESS_DB_USER: root
53
+ WORDPRESS_DB_PASSWORD: password
54
+ WORDPRESS_DB_NAME: wordpress
55
+ volumes: &ref_1
56
+ ${ volumes }
57
+ extra_hosts:
58
+ - 'host.docker.internal:host-gateway'
59
+ cli:
60
+ depends_on:
61
+ - wordpress
62
+ build:
63
+ context: .
64
+ dockerfile: CLI.Dockerfile
65
+ args: *ref_0
66
+ volumes: *ref_1
67
+ user: '502:20'
68
+ environment:
69
+ WORDPRESS_DB_USER: root
70
+ WORDPRESS_DB_PASSWORD: password
71
+ WORDPRESS_DB_NAME: wordpress
72
+ extra_hosts:
73
+ - 'host.docker.internal:host-gateway'
74
+ volumes:
75
+ mysql: {}
76
+ wpcontent: {}
77
+ `;
78
+ };
79
+
80
+ export const generateWordPressDockerfileTemplate = ( config: Config ) => {
81
+ return `FROM wordpress:${ config.core }-php${ config.phpVersion }
82
+ ARG HOST_USERNAME
83
+ ARG HOST_UID
84
+ ARG HOST_GID
85
+ # When the IDs are already in use we can still safely move on.
86
+ RUN groupadd -o -g $HOST_GID $HOST_USERNAME || true
87
+ RUN useradd -mlo -u $HOST_UID -g $HOST_GID $HOST_USERNAME || true
88
+ `;
89
+ };
90
+
91
+ export const generateCliDockerfileTemplate = ( config: Config ) => {
92
+ return `FROM wordpress:cli-php${ config.phpVersion }
93
+ ARG HOST_USERNAME
94
+ ARG HOST_UID
95
+ ARG HOST_GID
96
+ # When the IDs are already in use we can still safely move on.
97
+ RUN addgroup -g $HOST_GID $HOST_USERNAME || true
98
+ RUN useradd -mlo -u $HOST_UID -g $HOST_GID $HOST_USERNAME || true
99
+ # RUN adduser -h /home/$HOST_USERNAME -G $( getent group $HOST_GID | cut -d: -f1 ) -u $HOST_UID $HOST_USERNAME || true
100
+
101
+ # Have the container sleep infinitely to keep it alive for us to run commands on it.
102
+ CMD [ "/bin/sh", "-c", "while true; do sleep 2073600; done" ]
103
+ `;
104
+ };
105
+
106
+ export const generateConfiguration = ( config: Config, port: string ) => {
107
+ const header = `#!/bin/bash
108
+ set -eox pipefail
109
+ `;
110
+ const configStringArray = Object.keys( config.config ).map( ( key ) => {
111
+ const value = config.config[ key ];
112
+ return `wp config set ${ key } ${ value } --raw`;
113
+ } );
114
+ const wpCoreInstall = `wp core install --url="http://localhost:${ port }" --title="test" --admin_user=admin --admin_password=password --admin_email=wordpress@example.com --skip-email`;
115
+
116
+ return [ header, wpCoreInstall ].concat( configStringArray ).join( '\n' );
117
+ };
@@ -0,0 +1,16 @@
1
+ {
2
+ "core": "6.7",
3
+ "phpVersion": "8.2",
4
+ "plugins": {
5
+ },
6
+ "themes": {
7
+ },
8
+ "mappings": {
9
+ "tests": "./tests"
10
+ },
11
+ "config": {
12
+ "ELEMENTOR_SHOW_HIDDEN_EXPERIMENTS": true,
13
+ "SCRIPT_DEBUG": false,
14
+ "WP_DEBUG": false
15
+ }
16
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "display": "Node 18 + ESM + Strictest",
4
+ "compilerOptions": {
5
+ "lib": [
6
+ "es2022"
7
+ ],
8
+ "outDir": "dist",
9
+ "module": "esnext",
10
+ "target": "ESNext",
11
+ "declaration": true,
12
+ "declarationMap": true,
13
+ "esModuleInterop": true,
14
+ "skipLibCheck": true,
15
+ "forceConsistentCasingInFileNames": true,
16
+ "moduleResolution": "node",
17
+ "allowUnusedLabels": false,
18
+ "allowUnreachableCode": false,
19
+ "noFallthroughCasesInSwitch": true,
20
+ "noImplicitOverride": true,
21
+ "noImplicitReturns": true,
22
+ "noImplicitAny": true,
23
+ "noPropertyAccessFromIndexSignature": false,
24
+ "noUncheckedIndexedAccess": true,
25
+ "noUnusedLocals": true,
26
+ "noUnusedParameters": true,
27
+ "checkJs": false,
28
+ "allowJs": false,
29
+ "resolveJsonModule": true
30
+ },
31
+ "include": ["./package.json", "index.*", "src/**/*"],
32
+ }
package/index.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAC,OAAO,CAAC,CAAC;CACxC,CAAA;AAED,eAAO,MAAM,SAAS,oBAAsB,MAAM,KAAI,MAuBrD,CAAC"}
package/src/run.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/run.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,KAAK,SAAiB,MAAM,WAAW,MAAM,kBASzD,CAAC;AAEF,eAAO,MAAM,IAAI,SAAiB,MAAM,WAAW,MAAM,kBAOxD,CAAC;AAWF,eAAO,MAAM,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAE,CAAE,IAAI,EAAE,MAAM,KAAM,OAAO,CAAC,IAAI,CAAC,CAAE,GAAG,CAAE,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAM,OAAO,CAAC,IAAI,CAAC,CAAE,CAAA;CAIxJ,CAAC;AAIF,eAAO,MAAM,aAAa,SAAW,MAAM,kBAAkB,MAAM,WA4BlE,CAAC;AAYF,eAAO,MAAM,iBAAiB,gBAAkB,MAAM,EAAE,WAEvD,CAAC;AAEF,eAAO,MAAM,aAAa,gBAAkB,MAAM,EAAE,WAEnD,CAAC;AAEF,eAAO,MAAM,OAAO,gBAAkB,MAAM,EAAE,WAE7C,CAAC;AAEF,eAAO,MAAM,OAAO,SAAW,MAAM,WAAW,MAAM,SAGrD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,eAAO,MAAM,gCAAgC,WAAa,MAAM,YAAY,MAAM,QAAQ,MAAM,cAAc,MAAM,WA0EnH,CAAC;AAEF,eAAO,MAAM,mCAAmC,WAAa,MAAM,WASlE,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAAa,MAAM,WAa5D,CAAC;AAEF,eAAO,MAAM,qBAAqB,WAAa,MAAM,QAAQ,MAAM,WAWlE,CAAC"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes