@mittwald/cli 1.4.2 → 1.4.3

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.
@@ -13,7 +13,6 @@ export default class Create extends ExecRenderBaseCommand<typeof Create, CreateR
13
13
  }[];
14
14
  static flags: {
15
15
  hostname: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
- "path-to-dir": import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
16
  "path-to-app": import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
17
  "path-to-url": import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
18
  "project-id": import("@oclif/core/interfaces").OptionFlag<string>;
@@ -32,11 +32,6 @@ export default class Create extends ExecRenderBaseCommand {
32
32
  description: "the hostname of the ingress",
33
33
  required: true,
34
34
  }),
35
- "path-to-dir": Flags.string({
36
- summary: "add a path mapping to a directory",
37
- multiple: true,
38
- description: "This flag can be used to map a specific URL path to a directory in your project's file system; the value for this flag should be the URL path and the filesystem path, separated by a colon, e.g. /:/ or /:/some/sub/path. You can specify this flag multiple times to map multiple paths to different directories, and also combine it with the other --path-to-* flags.",
39
- }),
40
35
  "path-to-app": Flags.string({
41
36
  summary: "add a path mapping to an app",
42
37
  description: "This flag can be used to map a specific URL path to an app; the value for this flag should be the URL path and the app ID, separated by a colon, e.g. /:3ecaf1a9-6eb4-4869-b811-8a13c3a2e745. You can specify this flag multiple times to map multiple paths to different apps, and also combine it with the other --path-to-* flags.",
@@ -53,10 +48,6 @@ export default class Create extends ExecRenderBaseCommand {
53
48
  const process = makeProcessRenderer(this.flags, "Creating a new ingress");
54
49
  const { hostname } = this.flags;
55
50
  const paths = [];
56
- for (const pathToDir of this.flags["path-to-dir"] ?? []) {
57
- const [path, directory] = pathToDir.split(":");
58
- paths.push({ path, target: { directory } });
59
- }
60
51
  for (const pathToApp of this.flags["path-to-app"] ?? []) {
61
52
  const [path, installationId] = pathToApp.split(":");
62
53
  paths.push({ path, target: { installationId } });
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { GetBaseCommand } from "../../../lib/basecommands/GetBaseCommand.js";
3
3
  import { Args } from "@oclif/core";
4
4
  import { RenderBaseCommand } from "../../../lib/basecommands/RenderBaseCommand.js";
@@ -12,8 +12,8 @@ import { Box, Text } from "ink";
12
12
  import { Header } from "../../../rendering/react/components/Header.js";
13
13
  import { DnsValidationErrors } from "../../../rendering/react/components/Ingress/DnsValidationErrors.js";
14
14
  const IngressPathItem = ({ path }) => {
15
- if ("directory" in path.target) {
16
- return (_jsxs(Text, { children: ["->", " Local directory: ", _jsx(Value, { children: path.target.directory })] }));
15
+ if ("useDefaultPage" in path.target) {
16
+ return _jsxs(Text, { children: ["->", " Default page"] });
17
17
  }
18
18
  if ("url" in path.target) {
19
19
  return (_jsxs(Text, { children: ["->", " Redirect: ", _jsx(Value, { children: path.target.url })] }));
@@ -33,8 +33,11 @@ export declare class List extends ListBaseCommand<typeof List, ResponseItem, Res
33
33
  customerId: string;
34
34
  customerNumber: string;
35
35
  executingUserRoles?: import("node_modules/@mittwald/api-client/dist/types/generated/v2/types.js").MittwaldAPIV2.Components.Schemas.CustomerRole[] | undefined;
36
+ flags?: import("node_modules/@mittwald/api-client/dist/types/generated/v2/types.js").MittwaldAPIV2.Components.Schemas.CustomerCustomerFlag[] | undefined;
37
+ isAllowedToPlaceOrders?: boolean | undefined;
36
38
  isBanned?: boolean | undefined;
37
39
  isInDefaultOfPayment?: boolean | undefined;
40
+ levelOfUndeliverableDunningNotice?: "first" | "second" | undefined;
38
41
  memberCount: number;
39
42
  name: string;
40
43
  owner?: import("node_modules/@mittwald/api-client/dist/types/generated/v2/types.js").MittwaldAPIV2.Components.Schemas.CustomerContact | undefined;
@@ -33,8 +33,11 @@ export declare class ListOwn extends ListBaseCommand<typeof ListOwn, ResponseIte
33
33
  customerId: string;
34
34
  customerNumber: string;
35
35
  executingUserRoles?: import("node_modules/@mittwald/api-client/dist/types/generated/v2/types.js").MittwaldAPIV2.Components.Schemas.CustomerRole[] | undefined;
36
+ flags?: import("node_modules/@mittwald/api-client/dist/types/generated/v2/types.js").MittwaldAPIV2.Components.Schemas.CustomerCustomerFlag[] | undefined;
37
+ isAllowedToPlaceOrders?: boolean | undefined;
36
38
  isBanned?: boolean | undefined;
37
39
  isInDefaultOfPayment?: boolean | undefined;
40
+ levelOfUndeliverableDunningNotice?: "first" | "second" | undefined;
38
41
  memberCount: number;
39
42
  name: string;
40
43
  owner?: import("node_modules/@mittwald/api-client/dist/types/generated/v2/types.js").MittwaldAPIV2.Components.Schemas.CustomerContact | undefined;
@@ -21,11 +21,14 @@ export default class List extends ListBaseCommand<typeof List, ResponseItem, Res
21
21
  };
22
22
  getData(): Promise<Response>;
23
23
  protected mapData(data: SuccessfulResponse<Response, 200>["data"]): Promise<({
24
+ avatarRef?: string | undefined;
24
25
  email: string;
25
26
  expiresAt?: string | undefined;
27
+ firstName: string;
26
28
  id: string;
27
29
  inherited: boolean;
28
30
  inviteId?: string | undefined;
31
+ lastName: string;
29
32
  memberSince?: string | undefined;
30
33
  mfa: boolean;
31
34
  projectId: string;
@@ -1,9 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { assertStatus } from "@mittwald/api-client";
3
2
  import { typo3Installer } from "../../commands/app/install/typo3.js";
4
3
  import { wordpressInstaller } from "../../commands/app/install/wordpress.js";
5
4
  import { shopware6Installer } from "../../commands/app/install/shopware6.js";
6
- import { drupalInstaller } from "../../commands/app/install/drupal.js";
7
5
  import { Value } from "../../rendering/react/components/Value.js";
8
6
  import { Text } from "ink";
9
7
  /**
@@ -27,14 +25,6 @@ export const knownDDEVProjectTypes = [
27
25
  "typo3",
28
26
  "wordpress",
29
27
  ];
30
- async function getAppVersion(client, appId, appVersionId) {
31
- const r = await client.app.getAppversion({
32
- appId,
33
- appVersionId,
34
- });
35
- assertStatus(r, 200);
36
- return r.data;
37
- }
38
28
  /**
39
29
  * Determines the DDEV project type to use for the given app installation.
40
30
  *
@@ -82,14 +72,6 @@ export async function determineProjectTypeFromAppInstallation(client, inst) {
82
72
  return "wordpress";
83
73
  case shopware6Installer.appId:
84
74
  return "shopware6";
85
- case drupalInstaller.appId: {
86
- const version = await getAppVersion(client, inst.appId, inst.appVersion.desired);
87
- const [major] = version.externalVersion.split(".");
88
- if (major === "6" || major === "7") {
89
- return `drupal${major}`;
90
- }
91
- return "drupal";
92
- }
93
75
  default:
94
76
  return null;
95
77
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mittwald/cli",
3
- "version": "1.4.2",
3
+ "version": "1.4.3",
4
4
  "description": "Hand-crafted CLI for the mittwald API",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -42,8 +42,8 @@
42
42
  "dist/**/*.{js,d.ts}"
43
43
  ],
44
44
  "dependencies": {
45
- "@mittwald/api-client": "^4.9.0",
46
- "@mittwald/react-use-promise": "^2.1.2",
45
+ "@mittwald/api-client": "^4.131.0",
46
+ "@mittwald/react-use-promise": "^3.0.4",
47
47
  "@oclif/core": "^4.0.18",
48
48
  "@oclif/plugin-autocomplete": "^3.0.3",
49
49
  "@oclif/plugin-help": "^6.0.5",
@@ -147,6 +147,14 @@
147
147
  "conversation": {
148
148
  "description": "Manage your support cases"
149
149
  },
150
+ "contributor": {
151
+ "description": "Commands for mStudio marketplace contributors",
152
+ "subtopics": {
153
+ "extension": {
154
+ "description": "Manage your published mStudio extensions"
155
+ }
156
+ }
157
+ },
150
158
  "cronjob": {
151
159
  "description": "Manage cronjobs of your projects"
152
160
  },
@@ -1,12 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import React from "react";
3
- import { AppInstallationResult, AppInstaller } from "../../../lib/resources/app/Installer.js";
4
- export declare const drupalInstaller: AppInstaller<"version" | "host" | "admin-user" | "admin-email" | "admin-pass" | "site-title">;
5
- export default class InstallDrupal extends ExecRenderBaseCommand<typeof InstallDrupal, AppInstallationResult> {
6
- static description: string;
7
- static flags: import("@oclif/core/interfaces").FlagInput<import("../../../lib/resources/app/flags.js").RelevantFlags<readonly ("version" | "host" | "admin-user" | "admin-email" | "admin-pass" | ("wait" | "wait-timeout" | "site-title"))[]>>;
8
- protected exec(): Promise<{
9
- appInstallationId: string;
10
- }>;
11
- protected render(result: AppInstallationResult): React.ReactNode;
12
- }
@@ -1,20 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import { AppInstaller, } from "../../../lib/resources/app/Installer.js";
3
- export const drupalInstaller = new AppInstaller("3d8a261a-3d6f-4e09-b68c-bfe90aece514", "Drupal", [
4
- "version",
5
- "host",
6
- "admin-user",
7
- "admin-email",
8
- "admin-pass",
9
- "site-title",
10
- ]);
11
- export default class InstallDrupal extends ExecRenderBaseCommand {
12
- static description = drupalInstaller.description;
13
- static flags = drupalInstaller.flags;
14
- async exec() {
15
- return drupalInstaller.exec(this.apiClient, this.args, this.flags, this.config);
16
- }
17
- render(result) {
18
- return drupalInstaller.render(result, this.flags);
19
- }
20
- }
@@ -1,11 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import React from "react";
3
- import { AppInstallationResult } from "../../../lib/resources/app/Installer.js";
4
- export default class InstallGrav extends ExecRenderBaseCommand<typeof InstallGrav, AppInstallationResult> {
5
- static description: string;
6
- static flags: import("@oclif/core/interfaces").FlagInput<import("../../../lib/resources/app/flags.js").RelevantFlags<readonly ("version" | "admin-user" | "admin-email" | "admin-pass" | "admin-firstname" | "admin-lastname" | ("wait" | "wait-timeout" | "site-title"))[]>>;
7
- protected exec(): Promise<{
8
- appInstallationId: string;
9
- }>;
10
- protected render(result: AppInstallationResult): React.ReactNode;
11
- }
@@ -1,21 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import { AppInstaller, } from "../../../lib/resources/app/Installer.js";
3
- const installer = new AppInstaller("d3a465da-75a2-44ab-8e81-6960055f6255", "Grav", [
4
- "version",
5
- "admin-user",
6
- "admin-email",
7
- "admin-pass",
8
- "admin-firstname",
9
- "admin-lastname",
10
- "site-title",
11
- ]);
12
- export default class InstallGrav extends ExecRenderBaseCommand {
13
- static description = installer.description;
14
- static flags = installer.flags;
15
- async exec() {
16
- return installer.exec(this.apiClient, this.args, this.flags, this.config);
17
- }
18
- render(result) {
19
- return installer.render(result, this.flags);
20
- }
21
- }
@@ -1,12 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import React from "react";
3
- import { AppInstallationResult, AppInstaller } from "../../../lib/resources/app/Installer.js";
4
- export declare const humhubInstaller: AppInstaller<"version" | "host" | "admin-user" | "admin-email" | "admin-pass" | "admin-firstname" | "admin-lastname" | "site-title">;
5
- export default class InstallHumhub extends ExecRenderBaseCommand<typeof InstallHumhub, AppInstallationResult> {
6
- static description: string;
7
- static flags: import("@oclif/core/interfaces").FlagInput<import("../../../lib/resources/app/flags.js").RelevantFlags<readonly ("version" | "host" | "admin-user" | "admin-email" | "admin-pass" | "admin-firstname" | "admin-lastname" | ("wait" | "wait-timeout" | "site-title"))[]>>;
8
- protected exec(): Promise<{
9
- appInstallationId: string;
10
- }>;
11
- protected render(result: AppInstallationResult): React.ReactNode;
12
- }
@@ -1,22 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import { AppInstaller, } from "../../../lib/resources/app/Installer.js";
3
- export const humhubInstaller = new AppInstaller("e71c238f-f780-4bd4-9492-56f015294db6", "HumHub", [
4
- "version",
5
- "host",
6
- "admin-user",
7
- "admin-email",
8
- "admin-pass",
9
- "admin-firstname",
10
- "admin-lastname",
11
- "site-title",
12
- ]);
13
- export default class InstallHumhub extends ExecRenderBaseCommand {
14
- static description = humhubInstaller.description;
15
- static flags = humhubInstaller.flags;
16
- async exec() {
17
- return humhubInstaller.exec(this.apiClient, this.args, this.flags, this.config);
18
- }
19
- render(result) {
20
- return humhubInstaller.render(result, this.flags);
21
- }
22
- }
@@ -1,12 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import React from "react";
3
- import { AppInstallationResult, AppInstaller } from "../../../lib/resources/app/Installer.js";
4
- export declare const magento2Installer: AppInstaller<"version" | "host" | "admin-user" | "admin-email" | "admin-pass" | "admin-firstname" | "admin-lastname" | "site-title" | "shop-email" | "shop-lang" | "shop-currency" | "opensearch-host" | "opensearch-port">;
5
- export default class InstallMagento2 extends ExecRenderBaseCommand<typeof InstallMagento2, AppInstallationResult> {
6
- static description: string;
7
- static flags: import("@oclif/core/interfaces").FlagInput<import("../../../lib/resources/app/flags.js").RelevantFlags<readonly ("version" | "host" | "admin-user" | "admin-email" | "admin-pass" | "admin-firstname" | "admin-lastname" | "shop-email" | "shop-lang" | "shop-currency" | "opensearch-host" | "opensearch-port" | ("wait" | "wait-timeout" | "site-title"))[]>>;
8
- protected exec(): Promise<{
9
- appInstallationId: string;
10
- }>;
11
- protected render(result: AppInstallationResult): React.ReactNode;
12
- }
@@ -1,27 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import { AppInstaller, } from "../../../lib/resources/app/Installer.js";
3
- export const magento2Installer = new AppInstaller("03c7cd76-7e0d-4504-932c-06947b370020", "Magento 2", [
4
- "version",
5
- "host",
6
- "admin-user",
7
- "admin-email",
8
- "admin-pass",
9
- "admin-firstname",
10
- "admin-lastname",
11
- "site-title",
12
- "shop-email",
13
- "shop-lang",
14
- "shop-currency",
15
- "opensearch-host",
16
- "opensearch-port",
17
- ], { "shop-lang": "de_DE" });
18
- export default class InstallMagento2 extends ExecRenderBaseCommand {
19
- static description = magento2Installer.description;
20
- static flags = magento2Installer.flags;
21
- async exec() {
22
- return magento2Installer.exec(this.apiClient, this.args, this.flags, this.config);
23
- }
24
- render(result) {
25
- return magento2Installer.render(result, this.flags);
26
- }
27
- }
@@ -1,12 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import React from "react";
3
- import { AppInstallationResult, AppInstaller } from "../../../lib/resources/app/Installer.js";
4
- export declare const moodleInstaller: AppInstaller<"version" | "host" | "admin-user" | "admin-email" | "admin-pass" | "site-title">;
5
- export default class InstallMoodle extends ExecRenderBaseCommand<typeof InstallMoodle, AppInstallationResult> {
6
- static description: string;
7
- static flags: import("@oclif/core/interfaces").FlagInput<import("../../../lib/resources/app/flags.js").RelevantFlags<readonly ("version" | "host" | "admin-user" | "admin-email" | "admin-pass" | ("wait" | "wait-timeout" | "site-title"))[]>>;
8
- protected exec(): Promise<{
9
- appInstallationId: string;
10
- }>;
11
- protected render(result: AppInstallationResult): React.ReactNode;
12
- }
@@ -1,20 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import { AppInstaller, } from "../../../lib/resources/app/Installer.js";
3
- export const moodleInstaller = new AppInstaller("5ba3b4ea-9f79-460a-bbef-d901beca4cf1", "Moodle", [
4
- "version",
5
- "host",
6
- "admin-user",
7
- "admin-email",
8
- "admin-pass",
9
- "site-title",
10
- ]);
11
- export default class InstallMoodle extends ExecRenderBaseCommand {
12
- static description = moodleInstaller.description;
13
- static flags = moodleInstaller.flags;
14
- async exec() {
15
- return moodleInstaller.exec(this.apiClient, this.args, this.flags, this.config);
16
- }
17
- render(result) {
18
- return moodleInstaller.render(result, this.flags);
19
- }
20
- }
@@ -1,12 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import React from "react";
3
- import { AppInstallationResult, AppInstaller } from "../../../lib/resources/app/Installer.js";
4
- export declare const neosInstaller: AppInstaller<"version" | "admin-user" | "admin-pass" | "admin-firstname" | "admin-lastname" | "site-title">;
5
- export default class InstallNeos extends ExecRenderBaseCommand<typeof InstallNeos, AppInstallationResult> {
6
- static description: string;
7
- static flags: import("@oclif/core/interfaces").FlagInput<import("../../../lib/resources/app/flags.js").RelevantFlags<readonly ("version" | "admin-user" | "admin-pass" | "admin-firstname" | "admin-lastname" | ("wait" | "wait-timeout" | "site-title"))[]>>;
8
- protected exec(): Promise<{
9
- appInstallationId: string;
10
- }>;
11
- protected render(result: AppInstallationResult): React.ReactNode;
12
- }
@@ -1,20 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import { AppInstaller, } from "../../../lib/resources/app/Installer.js";
3
- export const neosInstaller = new AppInstaller("1f55f9fa-1902-409c-b305-7e428c5ed64d", "NEOS", [
4
- "version",
5
- "admin-user",
6
- "admin-pass",
7
- "admin-firstname",
8
- "admin-lastname",
9
- "site-title",
10
- ]);
11
- export default class InstallNeos extends ExecRenderBaseCommand {
12
- static description = neosInstaller.description;
13
- static flags = neosInstaller.flags;
14
- async exec() {
15
- return neosInstaller.exec(this.apiClient, this.args, this.flags, this.config);
16
- }
17
- render(result) {
18
- return neosInstaller.render(result, this.flags);
19
- }
20
- }
@@ -1,12 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import React from "react";
3
- import { AppInstallationResult, AppInstaller } from "../../../lib/resources/app/Installer.js";
4
- export declare const prestashopInstaller: AppInstaller<"version" | "host" | "admin-email" | "admin-pass" | "admin-firstname" | "admin-lastname" | "site-title" | "shop-lang">;
5
- export default class InstallPrestashop extends ExecRenderBaseCommand<typeof InstallPrestashop, AppInstallationResult> {
6
- static description: string;
7
- static flags: import("@oclif/core/interfaces").FlagInput<import("../../../lib/resources/app/flags.js").RelevantFlags<readonly ("version" | "host" | "admin-email" | "admin-pass" | "admin-firstname" | "admin-lastname" | "shop-lang" | ("wait" | "wait-timeout" | "site-title"))[]>>;
8
- protected exec(): Promise<{
9
- appInstallationId: string;
10
- }>;
11
- protected render(result: AppInstallationResult): React.ReactNode;
12
- }
@@ -1,22 +0,0 @@
1
- import { ExecRenderBaseCommand } from "../../../lib/basecommands/ExecRenderBaseCommand.js";
2
- import { AppInstaller, } from "../../../lib/resources/app/Installer.js";
3
- export const prestashopInstaller = new AppInstaller("3a231de7-6fd2-4aab-9948-45906952752f", "PrestaShop", [
4
- "version",
5
- "host",
6
- "admin-email",
7
- "admin-pass",
8
- "admin-firstname",
9
- "admin-lastname",
10
- "site-title",
11
- "shop-lang",
12
- ]);
13
- export default class InstallPrestashop extends ExecRenderBaseCommand {
14
- static description = prestashopInstaller.description;
15
- static flags = prestashopInstaller.flags;
16
- async exec() {
17
- return prestashopInstaller.exec(this.apiClient, this.args, this.flags, this.config);
18
- }
19
- render(result) {
20
- return prestashopInstaller.render(result, this.flags);
21
- }
22
- }