@webship.co/workspace-drupal-cms 0.0.0-stage → 1.0.7

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/package.json CHANGED
@@ -1,6 +1,75 @@
1
1
  {
2
2
  "name": "@webship.co/workspace-drupal-cms",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "1.0.7",
4
+ "description": "Drupal CMS for Webship Workspace: one builder for Drupal CMS (`cmd-drupal-cms-project.sh`, a release, a site template and add-on recipes) and its Drush tool in every sites folder, the default accounts, the Drupal CMS step pack wired into the testing setup, and two AI agents in the AI Agents folder.",
5
+ "main": "dist/src/index.js",
6
+ "types": "dist/src/index.d.ts",
7
+ "license": "ISC",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/webship/workspace-drupal-cms.git"
11
+ },
12
+ "files": [
13
+ "dist/src",
14
+ "agents",
15
+ "commands",
16
+ "features",
17
+ "scripts",
18
+ "testing",
19
+ "README.md"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsc -p tsconfig.json",
23
+ "prepare": "npm run build",
24
+ "test": "npm run build && node --test dist/tests/*.test.js",
25
+ "lint": "tsc -p tsconfig.json --noEmit"
26
+ },
27
+ "workspacePlugin": {
28
+ "name": "drupal-cms",
29
+ "label": "Drupal CMS",
30
+ "commands": {
31
+ "types": [
32
+ "sites"
33
+ ],
34
+ "workspaces": [
35
+ "dev",
36
+ "test",
37
+ "sandboxes",
38
+ "demos"
39
+ ],
40
+ "files": [
41
+ "commands/cmd-drupal-cms-project.sh",
42
+ "commands/cmd-tools-drupal-cms-cli.sh"
43
+ ]
44
+ },
45
+ "scripts": {
46
+ "functions": [
47
+ "scripts/functions/fun-drupal-cms.sh"
48
+ ],
49
+ "args": [
50
+ "scripts/args/arg-drupal-cms.sh",
51
+ "scripts/args/arg-drupal-cms-cli.sh"
52
+ ],
53
+ "machine": [
54
+ "testing/site.feature"
55
+ ]
56
+ },
57
+ "ai": {
58
+ "agents": [
59
+ "agents/drupal-cms-site-builder.md",
60
+ "agents/drupal-cms-tester.md"
61
+ ]
62
+ },
63
+ "features": [
64
+ "features/drupal-cms.feature"
65
+ ]
66
+ },
67
+ "devDependencies": {
68
+ "@types/node": "^24.0.0",
69
+ "@webship.co/workspace-plugin-api": "^1.0.7",
70
+ "typescript": "^5.9.0"
71
+ },
72
+ "publishConfig": {
73
+ "access": "public"
74
+ }
75
+ }
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env bash
2
+
3
+ argparse "$@" <<ARGEOF || exit 1
4
+ parser.add_argument('PROJECT_NAME',
5
+ help='The Drupal CMS project in this workspace.')
6
+ parser.add_argument('-r', '--run',
7
+ default="_none_",
8
+ help='A Drush command to run in the project, without the leading drush. Example: --run "pm:list --status=enabled"')
9
+ parser.add_argument('-R', '--recipe',
10
+ default="_none_",
11
+ help='Add-on recipes to apply to the site, separated by commas; a short name stands for drupal_cms_<name>. Example: --recipe forms,search')
12
+ parser.add_argument('-u', '--update',
13
+ action='store_true',
14
+ default=False,
15
+ help='Update the code with composer, run the database updates and rebuild the cache.')
16
+ parser.add_argument('-b', '--cache-rebuild',
17
+ action='store_true',
18
+ default=False,
19
+ help='Rebuild the cache, and nothing else.')
20
+ parser.add_argument('-l', '--login',
21
+ action='store_true',
22
+ default=False,
23
+ help='Print a one-time login link for the first account of the site.')
24
+ parser.add_argument('-a', '--add-users',
25
+ action='store_true',
26
+ default=False,
27
+ help='Add the default accounts. An account that is already there is left as it is.')
28
+ parser.add_argument('-c', '--cancel-users',
29
+ action='store_true',
30
+ default=False,
31
+ help='Delete the default accounts and what they wrote.')
32
+ ARGEOF
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env bash
2
+
3
+ argparse "$@" <<ARGEOF || exit 1
4
+ parser.add_argument('PROJECT_NAME',
5
+ help='The name of the project: its folder, its DDEV project and its host name.')
6
+ parser.add_argument('-v', '--version',
7
+ default="${site_version}",
8
+ help='The Drupal CMS to build: a release line for its latest release (2.x), a release (2.2.9), or a development branch (2.x-dev). Example: --version 2.2.9 [default %(default)s]')
9
+ parser.add_argument('-t', '--template',
10
+ default="starter",
11
+ help='The site template the installer applies: starter, blank, or the name of another template recipe. Example: --template blank [default %(default)s]')
12
+ parser.add_argument('--template-package',
13
+ default="",
14
+ help='The composer package of a site template that is not drupal/<its recipe name>. Example: --template-package drupal/haven')
15
+ parser.add_argument('-r', '--recipes',
16
+ default="_none_",
17
+ help='With --install, add-on recipes to apply after the install, separated by commas; a short name stands for drupal_cms_<name>. Example: --recipes forms,search')
18
+ parser.add_argument('-i', '--install',
19
+ action='store_true',
20
+ default=False,
21
+ help='Install the site, with the workspace account as the administrator.')
22
+ parser.add_argument('-a', '--add-users',
23
+ action='store_true',
24
+ default=False,
25
+ help='With --install, add the default accounts: an administrator, a content editor and an account with no role, the ones the test scenarios log in as.')
26
+ parser.add_argument('-l', '--launch',
27
+ action='store_true',
28
+ default=False,
29
+ help='Open the site in a browser when it is ready.')
30
+ parser.add_argument('--php-version',
31
+ default="",
32
+ choices=['8.5', '8.4', '8.3'],
33
+ help='PHP version for the project container; empty means the one the project template names. Example: --php-version 8.4')
34
+ parser.add_argument('--dry-run',
35
+ action='store_true',
36
+ default=False,
37
+ help='Say what would be built (the code, the container, the site template, the recipes) and build nothing.')
38
+ ARGEOF