@webship.co/workspace-sandboxes 0.0.0-stage → 1.0.0-alpha1
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/README.md +56 -2
- package/commands/cmd-cucumber11-0-x-project.sh +29 -0
- package/commands/cmd-drupal10-3-x-recommended-project.sh +29 -0
- package/commands/cmd-drupal10-recommended-project.sh +29 -0
- package/commands/cmd-drupal11-0-x-recommended-project.sh +29 -0
- package/commands/cmd-drupal11-4-0-recommended-project.sh +29 -0
- package/commands/cmd-drupal11-4-x-recommended-project.sh +29 -0
- package/commands/cmd-drupal11-recommended-project.sh +30 -0
- package/commands/cmd-drupal12-recommended-project.sh +41 -0
- package/commands/cmd-drupal9-recommended-project.sh +29 -0
- package/commands/cmd-drupalcms2-1-0-project.sh +29 -0
- package/commands/cmd-drupalcms2-x-project.sh +29 -0
- package/commands/cmd-odoo20-project.sh +21 -0
- package/commands/cmd-tools-add-users.sh +24 -0
- package/commands/cmd-tools-backup-sandboxes.sh +21 -0
- package/commands/cmd-tools-cancel-users.sh +24 -0
- package/commands/cmd-tools-checks.sh +20 -0
- package/commands/cmd-tools-clone.sh +27 -0
- package/commands/cmd-tools-graphify.sh +27 -0
- package/commands/cmd-tools-hostnames.sh +39 -0
- package/commands/cmd-tools-obsidian.sh +31 -0
- package/commands/cmd-tools-ragify.sh +28 -0
- package/commands/cmd-tools-reclaim.sh +24 -0
- package/commands/cmd-tools-remove.sh +46 -0
- package/commands/cmd-tools-screen.sh +21 -0
- package/commands/cmd-tools-testing.sh +22 -0
- package/commands/cmd-tools-update-all.sh +29 -0
- package/commands/cmd-webship11-0-0-project.sh +32 -0
- package/commands/cmd-webship11-0-x-project.sh +29 -0
- package/commands/cmd-webships2-0-0-project.sh +29 -0
- package/commands/cmd-webships2-0-x-project.sh +29 -0
- package/commands/cmd-webships3-0-x-project.sh +40 -0
- package/commands/cmd-wordpress-project.sh +21 -0
- package/commands/cmd-wpbedrock1-project.sh +21 -0
- package/config/workspace.sandboxes.settings.yml +17 -0
- package/dist/src/index.d.ts +11 -0
- package/dist/src/index.js +17 -0
- package/dist/src/index.js.map +1 -0
- package/docs/AGENTS.md +52 -0
- package/docs/CLAUDE.md +7 -0
- package/docs/README.md +5 -0
- package/features/sandboxes.feature +12 -0
- package/package.json +83 -4
package/README.md
CHANGED
|
@@ -1,3 +1,57 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @webship.co/workspace-sandboxes
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The **Sandboxes** workspace of the [Webship Workspace](https://github.com/webship/workspace) dashboard:
|
|
4
|
+
the `sandboxes/` folder (type `sites`), its settings file (`core/config/workspace.sandboxes.settings.yml`),
|
|
5
|
+
its commands and its docs, as a plugin.
|
|
6
|
+
|
|
7
|
+
## Use it
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
cd ~/workspace
|
|
11
|
+
bash core/scripts/plugins.sh --require github:webship/workspace-sandboxes
|
|
12
|
+
bash core/scripts/plugins.sh --activate sandboxes # puts `sandboxes` on the workspaces list of settings.yml
|
|
13
|
+
bash core/scripts/plugins.sh --install sandboxes # the folder, its settings file (once), its commands, its docs (once)
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The settings file and the docs are placed once and never overwritten: they hold what you put there.
|
|
17
|
+
`--deactivate` takes the workspace off the list; the folder and its content stay.
|
|
18
|
+
|
|
19
|
+
## The commands
|
|
20
|
+
|
|
21
|
+
| Command |
|
|
22
|
+
| --- |
|
|
23
|
+
| `cmd-cucumber11-0-x-project.sh` |
|
|
24
|
+
| `cmd-drupal10-3-x-recommended-project.sh` |
|
|
25
|
+
| `cmd-drupal10-recommended-project.sh` |
|
|
26
|
+
| `cmd-drupal11-0-x-recommended-project.sh` |
|
|
27
|
+
| `cmd-drupal11-4-0-recommended-project.sh` |
|
|
28
|
+
| `cmd-drupal11-4-x-recommended-project.sh` |
|
|
29
|
+
| `cmd-drupal11-recommended-project.sh` |
|
|
30
|
+
| `cmd-drupal12-recommended-project.sh` |
|
|
31
|
+
| `cmd-drupal9-recommended-project.sh` |
|
|
32
|
+
| `cmd-drupalcms2-1-0-project.sh` |
|
|
33
|
+
| `cmd-drupalcms2-x-project.sh` |
|
|
34
|
+
| `cmd-odoo20-project.sh` |
|
|
35
|
+
| `cmd-tools-add-users.sh` |
|
|
36
|
+
| `cmd-tools-backup-sandboxes.sh` |
|
|
37
|
+
| `cmd-tools-cancel-users.sh` |
|
|
38
|
+
| `cmd-tools-checks.sh` |
|
|
39
|
+
| `cmd-tools-clone.sh` |
|
|
40
|
+
| `cmd-tools-graphify.sh` |
|
|
41
|
+
| `cmd-tools-hostnames.sh` |
|
|
42
|
+
| `cmd-tools-obsidian.sh` |
|
|
43
|
+
| `cmd-tools-ragify.sh` |
|
|
44
|
+
| `cmd-tools-reclaim.sh` |
|
|
45
|
+
| `cmd-tools-remove.sh` |
|
|
46
|
+
| `cmd-tools-screen.sh` |
|
|
47
|
+
| `cmd-tools-testing.sh` |
|
|
48
|
+
| `cmd-tools-update-all.sh` |
|
|
49
|
+
| `cmd-webship11-0-0-project.sh` |
|
|
50
|
+
| `cmd-webship11-0-x-project.sh` |
|
|
51
|
+
| `cmd-webships2-0-0-project.sh` |
|
|
52
|
+
| `cmd-webships2-0-x-project.sh` |
|
|
53
|
+
| `cmd-webships3-0-x-project.sh` |
|
|
54
|
+
| `cmd-wordpress-project.sh` |
|
|
55
|
+
| `cmd-wpbedrock1-project.sh` |
|
|
56
|
+
|
|
57
|
+
The bash functions these commands call live in the dashboard's `core/scripts/functions`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Cucumber 11.0.x
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set the version.
|
|
14
|
+
site_version="11.0.x-dev";
|
|
15
|
+
|
|
16
|
+
# Distribution.
|
|
17
|
+
distribution_name="cucumber";
|
|
18
|
+
distribution_title="Cucumber";
|
|
19
|
+
distribution_webroot="web";
|
|
20
|
+
distribution_profile_repo="webship/cucumber";
|
|
21
|
+
distribution_project_template="webship/cucumber-project";
|
|
22
|
+
|
|
23
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
24
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
25
|
+
|
|
26
|
+
shift $#;
|
|
27
|
+
|
|
28
|
+
# Build the distribution.
|
|
29
|
+
build_distribution ;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Drupal 10.3.x (recommended project)
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="10.3.x-dev";
|
|
15
|
+
|
|
16
|
+
# Distribution.
|
|
17
|
+
distribution_name="drupal";
|
|
18
|
+
distribution_title="Drupal";
|
|
19
|
+
distribution_webroot="web";
|
|
20
|
+
distribution_profile_repo="drupal/core";
|
|
21
|
+
distribution_project_template="drupal/recommended-project";
|
|
22
|
+
|
|
23
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
24
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
25
|
+
|
|
26
|
+
shift $#;
|
|
27
|
+
|
|
28
|
+
# Build the distribution.
|
|
29
|
+
build_distribution ;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Drupal 10 (recommended project)
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="~10.0";
|
|
15
|
+
|
|
16
|
+
# Distribution.
|
|
17
|
+
distribution_name="drupal";
|
|
18
|
+
distribution_title="Drupal";
|
|
19
|
+
distribution_webroot="web";
|
|
20
|
+
distribution_profile_repo="drupal/core";
|
|
21
|
+
distribution_project_template="drupal/recommended-project";
|
|
22
|
+
|
|
23
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
24
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
25
|
+
|
|
26
|
+
shift $#;
|
|
27
|
+
|
|
28
|
+
# Build the distribution.
|
|
29
|
+
build_distribution ;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Drupal 11.0.x (recommended project)
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="11.0.x-dev";
|
|
15
|
+
|
|
16
|
+
# Distribution.
|
|
17
|
+
distribution_name="drupal";
|
|
18
|
+
distribution_title="Drupal";
|
|
19
|
+
distribution_webroot="web";
|
|
20
|
+
distribution_profile_repo="drupal/core";
|
|
21
|
+
distribution_project_template="drupal/recommended-project";
|
|
22
|
+
|
|
23
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
24
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
25
|
+
|
|
26
|
+
shift $#;
|
|
27
|
+
|
|
28
|
+
# Build the distribution.
|
|
29
|
+
build_distribution ;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Drupal 11.4.0 (recommended project)
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="~11.4.0";
|
|
15
|
+
|
|
16
|
+
# Distribution.
|
|
17
|
+
distribution_name="drupal";
|
|
18
|
+
distribution_title="Drupal";
|
|
19
|
+
distribution_webroot="web";
|
|
20
|
+
distribution_profile_repo="drupal/core";
|
|
21
|
+
distribution_project_template="drupal/recommended-project";
|
|
22
|
+
|
|
23
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
24
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
25
|
+
|
|
26
|
+
shift $#;
|
|
27
|
+
|
|
28
|
+
# Build the distribution.
|
|
29
|
+
build_distribution ;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Drupal 11.4.x (recommended project)
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="11.4.x-dev";
|
|
15
|
+
|
|
16
|
+
# Distribution.
|
|
17
|
+
distribution_name="drupal";
|
|
18
|
+
distribution_title="Drupal";
|
|
19
|
+
distribution_webroot="web";
|
|
20
|
+
distribution_profile_repo="drupal/core";
|
|
21
|
+
distribution_project_template="drupal/recommended-project";
|
|
22
|
+
|
|
23
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
24
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
25
|
+
|
|
26
|
+
shift $#;
|
|
27
|
+
|
|
28
|
+
# Build the distribution.
|
|
29
|
+
build_distribution ;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Drupal 11 (latest)
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="^11";
|
|
15
|
+
site_version_dev="11.x-dev";
|
|
16
|
+
|
|
17
|
+
# Distribution.
|
|
18
|
+
distribution_name="drupal";
|
|
19
|
+
distribution_title="Drupal";
|
|
20
|
+
distribution_webroot="web";
|
|
21
|
+
distribution_profile_repo="drupal/core";
|
|
22
|
+
distribution_project_template="drupal/recommended-project";
|
|
23
|
+
|
|
24
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
25
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
26
|
+
|
|
27
|
+
shift $#;
|
|
28
|
+
|
|
29
|
+
# Build the distribution.
|
|
30
|
+
build_distribution ;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Drupal 12 (latest)
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="^12";
|
|
15
|
+
site_version_dev="12.x-dev";
|
|
16
|
+
# Drupal 12 has no stable release yet, so the caret constraint above matches only a
|
|
17
|
+
# pre-release and composer's default `stable` minimum would resolve to nothing. This is
|
|
18
|
+
# the floor this builder accepts; composer still takes the highest match, so 12.0.0 wins
|
|
19
|
+
# the day it lands and this line can simply go.
|
|
20
|
+
site_version_stability="alpha";
|
|
21
|
+
# drupal/core 12 requires php >= 8.5.0, and DDEV's default is 8.4.
|
|
22
|
+
site_php_version="8.5";
|
|
23
|
+
# Core 12 requires guzzle 8. Every TAGGED Drush requires guzzle ^7 — 14.x is the first
|
|
24
|
+
# branch to allow 8 and it has no release yet, so the development branch is the only
|
|
25
|
+
# Drush that can sit beside Drupal 12 today. Swap this for `^14` when 14.0.0 is tagged.
|
|
26
|
+
site_drush_version="14.x-dev";
|
|
27
|
+
|
|
28
|
+
# Distribution.
|
|
29
|
+
distribution_name="drupal";
|
|
30
|
+
distribution_title="Drupal";
|
|
31
|
+
distribution_webroot="web";
|
|
32
|
+
distribution_profile_repo="drupal/core";
|
|
33
|
+
distribution_project_template="drupal/recommended-project";
|
|
34
|
+
|
|
35
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
36
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
37
|
+
|
|
38
|
+
shift $#;
|
|
39
|
+
|
|
40
|
+
# Build the distribution.
|
|
41
|
+
build_distribution ;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Drupal 9 (recommended project)
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="~9";
|
|
15
|
+
|
|
16
|
+
# Distribution.
|
|
17
|
+
distribution_name="drupal";
|
|
18
|
+
distribution_title="Drupal";
|
|
19
|
+
distribution_webroot="web";
|
|
20
|
+
distribution_profile_repo="drupal/core";
|
|
21
|
+
distribution_project_template="drupal/recommended-project";
|
|
22
|
+
|
|
23
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
24
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
25
|
+
|
|
26
|
+
shift $#;
|
|
27
|
+
|
|
28
|
+
# Build the distribution.
|
|
29
|
+
build_distribution ;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Drupal CMS 2.1.0
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="~2.1.0";
|
|
15
|
+
|
|
16
|
+
# Distribution.
|
|
17
|
+
distribution_name="drupal_cms";
|
|
18
|
+
distribution_title="Drupal CMS";
|
|
19
|
+
distribution_webroot="web";
|
|
20
|
+
distribution_profile_repo="drupal/cms";
|
|
21
|
+
distribution_project_template="drupal/cms";
|
|
22
|
+
|
|
23
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
24
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
25
|
+
|
|
26
|
+
shift $#;
|
|
27
|
+
|
|
28
|
+
# Build the distribution.
|
|
29
|
+
build_distribution ;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Drupal CMS 2.x
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings and extra lists.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="^2";
|
|
15
|
+
|
|
16
|
+
# Distribution.
|
|
17
|
+
distribution_name="drupal_cms";
|
|
18
|
+
distribution_title="Drupal CMS";
|
|
19
|
+
distribution_webroot="web";
|
|
20
|
+
distribution_profile_repo="drupal/cms";
|
|
21
|
+
distribution_project_template="drupal/cms";
|
|
22
|
+
|
|
23
|
+
ARGPARSE_DESCRIPTION="Build a ${distribution_title} ${site_version} project"
|
|
24
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-${distribution_name}.sh || exit 1 ;
|
|
25
|
+
|
|
26
|
+
shift $#;
|
|
27
|
+
|
|
28
|
+
# Build the distribution.
|
|
29
|
+
build_distribution ;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Odoo 20 Community
|
|
4
|
+
|
|
5
|
+
# Bootstrap.
|
|
6
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
7
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
8
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
9
|
+
|
|
10
|
+
# Load workspace settings.
|
|
11
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
12
|
+
|
|
13
|
+
# Set site version.
|
|
14
|
+
site_version="20.0";
|
|
15
|
+
|
|
16
|
+
ARGPARSE_DESCRIPTION="Build an Odoo Community project, on PostgreSQL"
|
|
17
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-odoo.sh || exit 1 ;
|
|
18
|
+
|
|
19
|
+
shift $#;
|
|
20
|
+
|
|
21
|
+
build_odoo ;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Bootstrap.
|
|
4
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
5
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
6
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
7
|
+
|
|
8
|
+
# Load workspace settings and extra lists.
|
|
9
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
10
|
+
|
|
11
|
+
ARGPARSE_DESCRIPTION="Add users to a project"
|
|
12
|
+
argparse "$@" <<EOF || exit 1
|
|
13
|
+
parser.add_argument('PROJECT_NAME',
|
|
14
|
+
help='The name of the project.')
|
|
15
|
+
parser.add_argument('DISTRIBUTION_NAME',
|
|
16
|
+
help='The name of the user list for the profile.')
|
|
17
|
+
EOF
|
|
18
|
+
|
|
19
|
+
shift $#;
|
|
20
|
+
trim_project_name ; # "v11x00b1/" -> "v11x00b1" — see functions/fun-project-name.sh
|
|
21
|
+
|
|
22
|
+
distribution_name=${DISTRIBUTION_NAME};
|
|
23
|
+
|
|
24
|
+
add_users ${PROJECT_NAME} ${distribution_name};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Bootstrap.
|
|
4
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
5
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
6
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
7
|
+
|
|
8
|
+
# Load workspace settings and extra lists.
|
|
9
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
10
|
+
|
|
11
|
+
ARGPARSE_DESCRIPTION="Backup a sandboxes project"
|
|
12
|
+
argparse "$@" <<EOF || exit 1
|
|
13
|
+
parser.add_argument('PROJECT_NAME',
|
|
14
|
+
help='The name of the project.')
|
|
15
|
+
EOF
|
|
16
|
+
|
|
17
|
+
shift $#;
|
|
18
|
+
trim_project_name ; # "v11x00b1/" -> "v11x00b1" — see functions/fun-project-name.sh
|
|
19
|
+
|
|
20
|
+
backup_workspace_item "${PROJECT_NAME}" || exit 1 ;
|
|
21
|
+
(cd ${PROJECT_NAME} && ddev export-db --file=${backups}/${doc_name}/${doc_name}---${PROJECT_NAME}--${BACKUP_TIME}-db.sql.gz) ;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Bootstrap.
|
|
4
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
5
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
6
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
7
|
+
|
|
8
|
+
# Load workspace settings and extra lists.
|
|
9
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
10
|
+
|
|
11
|
+
ARGPARSE_DESCRIPTION="Cancle users from a project and delete their content"
|
|
12
|
+
argparse "$@" <<EOF || exit 1
|
|
13
|
+
parser.add_argument('PROJECT_NAME',
|
|
14
|
+
help='The name of the project.')
|
|
15
|
+
parser.add_argument('DISTRIBUTION_NAME',
|
|
16
|
+
help='The name of the user list for the profile.')
|
|
17
|
+
EOF
|
|
18
|
+
|
|
19
|
+
shift $#;
|
|
20
|
+
trim_project_name ; # "v11x00b1/" -> "v11x00b1" — see functions/fun-project-name.sh
|
|
21
|
+
|
|
22
|
+
distribution_name=${DISTRIBUTION_NAME};
|
|
23
|
+
|
|
24
|
+
cancel_users ${PROJECT_NAME} ${distribution_name};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Run the code-quality checks a package in this workspace already declares in its package.json —
|
|
4
|
+
# lint:js, lint:css, lint:yaml, spellcheck, phpcs, and the browser suite — mapped onto one set of
|
|
5
|
+
# canonical names so the command means the same thing in every workspace.
|
|
6
|
+
|
|
7
|
+
# Bootstrap.
|
|
8
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
9
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
10
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
11
|
+
|
|
12
|
+
# Load workspace settings and extra lists.
|
|
13
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
14
|
+
|
|
15
|
+
ARGPARSE_DESCRIPTION="Run the code-quality checks a sandboxes item already declares"
|
|
16
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-checks.sh || exit 1 ;
|
|
17
|
+
|
|
18
|
+
shift $#;
|
|
19
|
+
|
|
20
|
+
checks_command ;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Clone a project — folder and database — into a new name, in this workspace or
|
|
4
|
+
# another one. The clone becomes an independent DDEV project with its own name,
|
|
5
|
+
# containers and database; the source is never modified.
|
|
6
|
+
#
|
|
7
|
+
# bash cmd-tools-clone.sh <project> --to <name>
|
|
8
|
+
# bash cmd-tools-clone.sh <project> --to <name> --target-workspace sandboxes
|
|
9
|
+
#
|
|
10
|
+
# When the project is a git checkout it can be cloned as a git WORKTREE instead:
|
|
11
|
+
# one shared .git and one history, a branch per folder, and still its own DDEV
|
|
12
|
+
# project at its own URL with its own database.
|
|
13
|
+
#
|
|
14
|
+
# bash cmd-tools-clone.sh <project> --to <name> --worktree
|
|
15
|
+
# bash cmd-tools-clone.sh <project> --to <name> --worktree --branch 3512345-the-fix
|
|
16
|
+
|
|
17
|
+
# Bootstrap.
|
|
18
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
19
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
20
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
21
|
+
|
|
22
|
+
ARGPARSE_DESCRIPTION="Clone a project (folder + database) into a new name, here or in another workspace"
|
|
23
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-clone.sh || exit 1 ;
|
|
24
|
+
|
|
25
|
+
shift $#;
|
|
26
|
+
|
|
27
|
+
clone_project ;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Map a project in this workspace into a queryable knowledge graph with
|
|
4
|
+
# graphify (https://github.com/Graphify-Labs/graphify), or ask an existing
|
|
5
|
+
# graph a question.
|
|
6
|
+
|
|
7
|
+
# Bootstrap.
|
|
8
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
9
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
10
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
11
|
+
|
|
12
|
+
# Load workspace settings and extra lists.
|
|
13
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
14
|
+
|
|
15
|
+
ARGPARSE_DESCRIPTION="Build or query the knowledge graph of a project in the sandboxes workspace"
|
|
16
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-graphify.sh || exit 1 ;
|
|
17
|
+
|
|
18
|
+
shift $#;
|
|
19
|
+
|
|
20
|
+
if [ ! "${STORE}" == '_none_' ] ; then
|
|
21
|
+
ensure_graphify || exit 1 ;
|
|
22
|
+
graphify_store_url "${WORKSPACE_ROOT}/${doc_name}/${PROJECT_NAME}" "${STORE}" ;
|
|
23
|
+
elif [ -n "${QUERY}" ] ; then
|
|
24
|
+
graphify_query_project ;
|
|
25
|
+
else
|
|
26
|
+
graphify_project ;
|
|
27
|
+
fi
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# workspace-name: Hostnames (extra domains)
|
|
4
|
+
#
|
|
5
|
+
# What a project answers at, and how to give it another address.
|
|
6
|
+
#
|
|
7
|
+
# A DDEV project's URL comes from its NAME (`<name>.ddev.site`), and the dashboard
|
|
8
|
+
# hands out a second, hierarchical one (`<project>.sandboxes.workspace.ddev.site`).
|
|
9
|
+
# This adds a THIRD shape: a flat hostname of your choosing, so the same project
|
|
10
|
+
# name in two workspaces can be told apart —
|
|
11
|
+
# `test3-sandboxes.ddev.site` beside `test3-test.ddev.site`.
|
|
12
|
+
#
|
|
13
|
+
# It ADDS rather than renames. Renaming a DDEV project kills the old URL,
|
|
14
|
+
# recreates its containers and volumes, and leaves the project name no longer
|
|
15
|
+
# matching the folder — which is what makes a git worktree collide with its
|
|
16
|
+
# source. An extra hostname costs nothing and is reversible.
|
|
17
|
+
#
|
|
18
|
+
# bash cmd-tools-hostnames.sh # every project here
|
|
19
|
+
# bash cmd-tools-hostnames.sh myproject # just this one
|
|
20
|
+
# bash cmd-tools-hostnames.sh myproject --with-workspace --start
|
|
21
|
+
# bash cmd-tools-hostnames.sh myproject --add staging --start
|
|
22
|
+
# bash cmd-tools-hostnames.sh myproject --remove staging
|
|
23
|
+
|
|
24
|
+
# Bootstrap.
|
|
25
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
26
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
27
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
28
|
+
|
|
29
|
+
# Load workspace settings.
|
|
30
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
31
|
+
|
|
32
|
+
ARGPARSE_DESCRIPTION="What a project answers at, and how to add another address"
|
|
33
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-hostnames.sh || exit 1 ;
|
|
34
|
+
|
|
35
|
+
shift $#;
|
|
36
|
+
|
|
37
|
+
cd ${WORKSPACE_ROOT}/${doc_name};
|
|
38
|
+
|
|
39
|
+
hostnames_command ;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Turn a project's knowledge graph into an Obsidian vault — one note per entity,
|
|
4
|
+
# a [[wikilink]] per relation, and a JSON Canvas of the map. Written next to the
|
|
5
|
+
# graph in graphs/sandboxes/<project>/obsidian/.
|
|
6
|
+
#
|
|
7
|
+
# Build the graph first with cmd-tools-graphify.sh: this reads what that wrote
|
|
8
|
+
# rather than parsing the project a second time.
|
|
9
|
+
|
|
10
|
+
# Bootstrap.
|
|
11
|
+
# Find the workspace tooling from this script, so a fresh clone needs no setup.
|
|
12
|
+
WORKSPACE_SCRIPTS="${WORKSPACE_SCRIPTS:-$(cd "$(dirname "${BASH_SOURCE[0]}")/../core/scripts" && pwd)}";
|
|
13
|
+
source ${WORKSPACE_SCRIPTS}/bootstrap.sh || exit 1 ;
|
|
14
|
+
|
|
15
|
+
# Load workspace settings and extra lists.
|
|
16
|
+
eval $(parse_yaml ${WORKSPACE_CONFIG}/workspace.sandboxes.settings.yml);
|
|
17
|
+
|
|
18
|
+
ARGPARSE_DESCRIPTION="Build an Obsidian vault from the knowledge graph of a project in the sandboxes workspace"
|
|
19
|
+
source ${WORKSPACE_SCRIPTS}/args/arg-obsidian.sh || exit 1 ;
|
|
20
|
+
|
|
21
|
+
shift $#;
|
|
22
|
+
|
|
23
|
+
export MAX_CANVAS_NODES="${MAX_CANVAS_NODES}";
|
|
24
|
+
|
|
25
|
+
if [ "${REMOVE}" == 'yes' ] ; then
|
|
26
|
+
obsidian_remove ;
|
|
27
|
+
elif [ "${STATUS}" == 'yes' ] ; then
|
|
28
|
+
obsidian_status ;
|
|
29
|
+
else
|
|
30
|
+
obsidian_project ;
|
|
31
|
+
fi
|