@telia-ace/alliance-utilities 1.0.10-next.1 → 1.0.10-next.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.
- package/CHANGELOG.md +12 -0
- package/frontend/index.js +97 -102
- package/frontend/index.js.map +1 -1
- package/frontend/routing.d.ts +2 -1
- package/frontend/translations.d.ts +35 -40
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @telia-ace/alliance-utilities
|
|
2
2
|
|
|
3
|
+
## 1.0.10-next.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2452588: Remove unused translation texts.
|
|
8
|
+
|
|
9
|
+
## 1.0.10-next.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 1150fac: Improved handling of URLs.
|
|
14
|
+
|
|
3
15
|
## 1.0.10-next.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/frontend/index.js
CHANGED
|
@@ -1,220 +1,213 @@
|
|
|
1
|
-
var
|
|
2
|
-
var g = (e, r, t) => r in e ?
|
|
3
|
-
var
|
|
4
|
-
function
|
|
1
|
+
var s = Object.defineProperty;
|
|
2
|
+
var g = (e, r, t) => r in e ? s(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
|
|
3
|
+
var u = (e, r, t) => (g(e, typeof r != "symbol" ? r + "" : r, t), t);
|
|
4
|
+
function m(e) {
|
|
5
5
|
const t = Object.entries(e).reduce((i, o) => {
|
|
6
6
|
const [p, c] = o;
|
|
7
7
|
return typeof c > "u" || (typeof c == "object" && c !== null ? i[p] = JSON.stringify(c) : i[p] = c), i;
|
|
8
8
|
}, {});
|
|
9
9
|
return Object.keys(t).length ? `?${new URLSearchParams(t)}` : "";
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
const
|
|
13
|
-
return
|
|
11
|
+
function v() {
|
|
12
|
+
const e = a(), { href: r, search: t } = window.location;
|
|
13
|
+
return r.replace(e, "").replace(t, "");
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
const { origin: e, pathname: r } = window.location;
|
|
17
|
-
let t = "", i = "", o = "";
|
|
18
|
-
return D("https://alliance*.ace.teliacompany.net", e) ? [t, i, o] = r.split("/").filter((p) => !!p) : [i, o] = r.split("/").filter((p) => !!p), {
|
|
19
|
-
workspace: t,
|
|
20
|
-
app: i,
|
|
21
|
-
capability: o
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
function s(e) {
|
|
15
|
+
function A(e) {
|
|
25
16
|
return e.replaceAll(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
|
|
26
17
|
}
|
|
27
|
-
function
|
|
28
|
-
const
|
|
18
|
+
function E(e = "", r = "", t = {}) {
|
|
19
|
+
const i = a().replace(location.origin, ""), o = m(t);
|
|
20
|
+
return e ? r ? `${i}/${e}/${r}${o}` : `${i}/${e}${o}` : `${i}${o}`;
|
|
21
|
+
}
|
|
22
|
+
function O() {
|
|
23
|
+
const e = v(), [r = "", t = ""] = e.split("/").filter((i) => !!i);
|
|
24
|
+
return {
|
|
25
|
+
app: r,
|
|
26
|
+
capability: t
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function S(e, r) {
|
|
30
|
+
const t = A(e);
|
|
29
31
|
return new RegExp(`^${t.replaceAll("\\?", ".?").replaceAll("\\*", ".*")}`, "i").test(r);
|
|
30
32
|
}
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
+
function N() {
|
|
34
|
+
const { origin: e, pathname: r } = window.location;
|
|
35
|
+
if (S("https://alliance*.ace.teliacompany.net", e)) {
|
|
36
|
+
const [t] = r.split("/").filter((i) => !!i);
|
|
37
|
+
return globalThis.__ALLIANCE_RUNTIME_ROOT_URL = `${e}/${t}`;
|
|
38
|
+
}
|
|
39
|
+
return globalThis.__ALLIANCE_RUNTIME_ROOT_URL = e;
|
|
40
|
+
}
|
|
41
|
+
function a() {
|
|
42
|
+
return globalThis.__ALLIANCE_RUNTIME_ROOT_URL || N(), globalThis.__ALLIANCE_RUNTIME_ROOT_URL;
|
|
43
|
+
}
|
|
44
|
+
var h = /* @__PURE__ */ ((e) => (e[e.AlreadyExists = 0] = "AlreadyExists", e[e.ApiGatewayPortDescription = 1] = "ApiGatewayPortDescription", e[e.ApiServerModeDescription = 2] = "ApiServerModeDescription", e[e.AppConfigurationPath = 3] = "AppConfigurationPath", e[e.AppCreated = 4] = "AppCreated", e[e.AppEntryBuildOptionDescription = 5] = "AppEntryBuildOptionDescription", e[e.AppNameInquiry = 6] = "AppNameInquiry", e[e.BuildDescription = 7] = "BuildDescription", e[e.BuildModeOptionDescription = 8] = "BuildModeOptionDescription", e[e.BuildWatchDescription = 9] = "BuildWatchDescription", e[e.CreateAppDescription = 10] = "CreateAppDescription", e[e.CreateWorkspaceDescription = 11] = "CreateWorkspaceDescription", e[e.DevServerOpenDescription = 12] = "DevServerOpenDescription", e[e.DevServerPortDescription = 13] = "DevServerPortDescription", e[e.Done = 14] = "Done", e[e.FetchPackageVersionError = 15] = "FetchPackageVersionError", e[e.ManifestEntryBuildOptionDescription = 16] = "ManifestEntryBuildOptionDescription", e[e.MissingTranslationKey = 17] = "MissingTranslationKey", e[e.NoAppName = 18] = "NoAppName", e[e.NoAppNameFound = 19] = "NoAppNameFound", e[e.NoAppOrWorkspaceInCurrentDirectory = 20] = "NoAppOrWorkspaceInCurrentDirectory", e[e.NoWorkspaceName = 21] = "NoWorkspaceName", e[e.OperationCancelled = 22] = "OperationCancelled", e[e.ServeDescription = 23] = "ServeDescription", e[e.ServedStopped = 24] = "ServedStopped", e[e.ServerGatewayMode = 25] = "ServerGatewayMode", e[e.ServerMode = 26] = "ServerMode", e[e.ServerModeInquiry = 27] = "ServerModeInquiry", e[e.ServerProxyMode = 28] = "ServerProxyMode", e[e.StopServerInstructions = 29] = "StopServerInstructions", e[e.TemplateFrameworkInquiry = 30] = "TemplateFrameworkInquiry", e[e.TemplateLanguageInquiry = 31] = "TemplateLanguageInquiry", e[e.UnrecognizedCommand = 32] = "UnrecognizedCommand", e[e.WorkspaceCreated = 33] = "WorkspaceCreated", e[e.WorkspaceNameInquiry = 34] = "WorkspaceNameInquiry", e))(h || {});
|
|
45
|
+
const w = {
|
|
33
46
|
[
|
|
34
|
-
|
|
47
|
+
14
|
|
35
48
|
/* Done */
|
|
36
49
|
]: "Done",
|
|
37
50
|
[
|
|
38
|
-
|
|
51
|
+
21
|
|
39
52
|
/* NoWorkspaceName */
|
|
40
53
|
]: "No workspace name provided!",
|
|
41
54
|
[
|
|
42
|
-
|
|
55
|
+
18
|
|
43
56
|
/* NoAppName */
|
|
44
57
|
]: "No app name provided!",
|
|
45
58
|
[
|
|
46
|
-
|
|
59
|
+
0
|
|
47
60
|
/* AlreadyExists */
|
|
48
61
|
]: "File or directory '{0}' already exists!",
|
|
49
62
|
[
|
|
50
|
-
|
|
63
|
+
20
|
|
51
64
|
/* NoAppOrWorkspaceInCurrentDirectory */
|
|
52
|
-
]: "Could not find any app entry file at '{0}'
|
|
65
|
+
]: "Could not find any app entry file at '{0}'!",
|
|
53
66
|
[
|
|
54
|
-
|
|
67
|
+
32
|
|
55
68
|
/* UnrecognizedCommand */
|
|
56
69
|
]: "Unrecognized command(s) {0}!",
|
|
57
70
|
[
|
|
58
|
-
|
|
71
|
+
33
|
|
59
72
|
/* WorkspaceCreated */
|
|
60
73
|
]: "Workspace was created at path '{0}'!",
|
|
61
74
|
[
|
|
62
|
-
|
|
75
|
+
4
|
|
63
76
|
/* AppCreated */
|
|
64
77
|
]: "App was created at path '{0}'!",
|
|
65
78
|
[
|
|
66
|
-
|
|
79
|
+
24
|
|
67
80
|
/* ServedStopped */
|
|
68
81
|
]: "Server stopped.",
|
|
69
82
|
[
|
|
70
|
-
|
|
83
|
+
11
|
|
71
84
|
/* CreateWorkspaceDescription */
|
|
72
85
|
]: "Creates an Alliance Workspace in the current directory.",
|
|
73
86
|
[
|
|
74
|
-
|
|
87
|
+
10
|
|
75
88
|
/* CreateAppDescription */
|
|
76
89
|
]: "Creates an Alliance Application in the current directory or Alliance Workspace.",
|
|
77
90
|
[
|
|
78
|
-
|
|
91
|
+
23
|
|
79
92
|
/* ServeDescription */
|
|
80
93
|
]: "Starts a Alliance development server using the current directory package.json.",
|
|
81
94
|
[
|
|
82
|
-
|
|
95
|
+
7
|
|
83
96
|
/* BuildDescription */
|
|
84
97
|
]: "Builds an Alliance Application using Vite.",
|
|
85
98
|
[
|
|
86
|
-
|
|
99
|
+
34
|
|
87
100
|
/* WorkspaceNameInquiry */
|
|
88
101
|
]: "Enter the name of your workspace",
|
|
89
102
|
[
|
|
90
|
-
|
|
103
|
+
27
|
|
91
104
|
/* ServerModeInquiry */
|
|
92
105
|
]: "Which server mode do you want to use?",
|
|
93
106
|
[
|
|
94
|
-
|
|
107
|
+
6
|
|
95
108
|
/* AppNameInquiry */
|
|
96
109
|
]: "Enter the name of your app",
|
|
97
110
|
[
|
|
98
|
-
|
|
111
|
+
17
|
|
99
112
|
/* MissingTranslationKey */
|
|
100
113
|
]: "No translation key provided!",
|
|
101
114
|
[
|
|
102
|
-
|
|
115
|
+
22
|
|
103
116
|
/* OperationCancelled */
|
|
104
117
|
]: "Operation cancelled.",
|
|
105
118
|
[
|
|
106
|
-
|
|
119
|
+
29
|
|
107
120
|
/* StopServerInstructions */
|
|
108
121
|
]: `Press CTRL + C to stop the server.
|
|
109
122
|
`,
|
|
110
123
|
[
|
|
111
|
-
|
|
124
|
+
31
|
|
112
125
|
/* TemplateLanguageInquiry */
|
|
113
126
|
]: "Select preferred language",
|
|
114
127
|
[
|
|
115
|
-
|
|
128
|
+
30
|
|
116
129
|
/* TemplateFrameworkInquiry */
|
|
117
130
|
]: "Select preferred framework template",
|
|
118
131
|
[
|
|
119
|
-
|
|
132
|
+
13
|
|
120
133
|
/* DevServerPortDescription */
|
|
121
134
|
]: "The port that the dev server should use.",
|
|
122
135
|
[
|
|
123
|
-
|
|
136
|
+
1
|
|
124
137
|
/* ApiGatewayPortDescription */
|
|
125
138
|
]: "The port that the api gateway should use.",
|
|
126
139
|
[
|
|
127
|
-
|
|
140
|
+
2
|
|
128
141
|
/* ApiServerModeDescription */
|
|
129
142
|
]: "Which components to start. [server|server-proxy|server-gateway].",
|
|
130
143
|
[
|
|
131
|
-
|
|
144
|
+
12
|
|
132
145
|
/* DevServerOpenDescription */
|
|
133
146
|
]: "Whether the dev server should automatically open in your browser or not.",
|
|
134
147
|
[
|
|
135
|
-
|
|
148
|
+
9
|
|
136
149
|
/* BuildWatchDescription */
|
|
137
150
|
]: "Whether the build should start watching and rebuild when files change or not.",
|
|
138
151
|
[
|
|
139
|
-
|
|
140
|
-
/* CouldNotStartGatewayInDocker */
|
|
141
|
-
]: "Could not start Docker container with Alliance gateway.",
|
|
142
|
-
[
|
|
143
|
-
27
|
|
144
|
-
/* PullingLatestImage */
|
|
145
|
-
]: "Pulling latest image...",
|
|
146
|
-
[
|
|
147
|
-
28
|
|
152
|
+
5
|
|
148
153
|
/* AppEntryBuildOptionDescription */
|
|
149
154
|
]: "The entry file for the app (./src/app).",
|
|
150
155
|
[
|
|
151
|
-
|
|
156
|
+
16
|
|
152
157
|
/* ManifestEntryBuildOptionDescription */
|
|
153
158
|
]: "The entry file for the app manifest (./src/manifest).",
|
|
154
159
|
[
|
|
155
|
-
|
|
160
|
+
8
|
|
156
161
|
/* BuildModeOptionDescription */
|
|
157
|
-
]: "Which mode to use when building the app.
|
|
162
|
+
]: "Which mode to use when building the app.",
|
|
158
163
|
[
|
|
159
|
-
|
|
164
|
+
15
|
|
160
165
|
/* FetchPackageVersionError */
|
|
161
166
|
]: "Failed to fetch package info from the NPM registry for package '${0}'!",
|
|
162
167
|
[
|
|
163
|
-
|
|
164
|
-
/* DockerNotStartedOrInstalled */
|
|
165
|
-
]: "Docker not started or not installed.",
|
|
166
|
-
[
|
|
167
|
-
33
|
|
168
|
-
/* EnableDevAuthentication */
|
|
169
|
-
]: "Whether user authentication should be enabled or not.",
|
|
170
|
-
[
|
|
171
|
-
34
|
|
168
|
+
19
|
|
172
169
|
/* NoAppNameFound */
|
|
173
170
|
]: "Could not find app name in manifest.",
|
|
174
171
|
[
|
|
175
|
-
|
|
172
|
+
3
|
|
176
173
|
/* AppConfigurationPath */
|
|
177
174
|
]: "The path to the app configuration file.",
|
|
178
175
|
[
|
|
179
|
-
|
|
176
|
+
26
|
|
180
177
|
/* ServerMode */
|
|
181
178
|
]: "Server",
|
|
182
179
|
[
|
|
183
|
-
|
|
180
|
+
28
|
|
184
181
|
/* ServerProxyMode */
|
|
185
182
|
]: "Server with proxy",
|
|
186
183
|
[
|
|
187
|
-
|
|
184
|
+
25
|
|
188
185
|
/* ServerGatewayMode */
|
|
189
|
-
]: "Server with gateway"
|
|
190
|
-
|
|
191
|
-
39
|
|
192
|
-
/* DevLoginUrl */
|
|
193
|
-
]: "Log in using http://localhost:{0}/-/dev/login"
|
|
194
|
-
}, u = class {
|
|
186
|
+
]: "Server with gateway"
|
|
187
|
+
}, d = class {
|
|
195
188
|
};
|
|
196
|
-
let n =
|
|
197
|
-
|
|
198
|
-
const o =
|
|
189
|
+
let n = d;
|
|
190
|
+
u(n, "getTranslations", () => w), u(n, "getTranslation", (r, ...t) => {
|
|
191
|
+
const o = d.getTranslations()[r];
|
|
199
192
|
if (!o)
|
|
200
193
|
throw new Error(`Could not find text with given key '${r}'.`);
|
|
201
194
|
return t.reduce(
|
|
202
|
-
(c, l,
|
|
195
|
+
(c, l, f) => c.toString().replace(`{${f}}`, l.toString()),
|
|
203
196
|
o
|
|
204
197
|
).toString();
|
|
205
|
-
}),
|
|
206
|
-
function
|
|
207
|
-
return
|
|
198
|
+
}), u(n, "get", (r = h.MissingTranslationKey, ...t) => d.getTranslation(r, ...t));
|
|
199
|
+
function I(e, r) {
|
|
200
|
+
return C(Object.values(e), ({ name: t }) => ({
|
|
208
201
|
label: t,
|
|
209
202
|
value: t,
|
|
210
203
|
selected: r === t
|
|
211
204
|
}));
|
|
212
205
|
}
|
|
213
|
-
var
|
|
206
|
+
var D = /* @__PURE__ */ ((e) => (e.Primary = "primary", e.Secondary = "secondary", e.Expressive = "expressive", e.Destructive = "destructive", e.Text = "text", e.PrimaryWhite = "primary-white", e.SecondaryWhite = "secondary-white", e.ExpressiveWhite = "expressive-white", e.TertiaryPurple = "tertiary-purple", e))(D || {});
|
|
214
207
|
function W(e, r) {
|
|
215
208
|
return Object.values(e).find((i) => i.name === r);
|
|
216
209
|
}
|
|
217
|
-
function
|
|
210
|
+
function C(e, r) {
|
|
218
211
|
return e.reduce(
|
|
219
212
|
(t, i) => (t.push({
|
|
220
213
|
disabled: !1,
|
|
@@ -231,12 +224,12 @@ function k(e, r) {
|
|
|
231
224
|
]
|
|
232
225
|
);
|
|
233
226
|
}
|
|
234
|
-
function
|
|
227
|
+
function R(e) {
|
|
235
228
|
return (r) => {
|
|
236
229
|
r.key === "Enter" && e(r);
|
|
237
230
|
};
|
|
238
231
|
}
|
|
239
|
-
function
|
|
232
|
+
function M(e, r = "all") {
|
|
240
233
|
const { email: t, displayName: i } = e, o = i && i !== "unknown", p = !!t;
|
|
241
234
|
switch (r) {
|
|
242
235
|
case "all": {
|
|
@@ -256,21 +249,23 @@ function I(e, r = "all") {
|
|
|
256
249
|
}
|
|
257
250
|
return "<UNKNOWN USER>";
|
|
258
251
|
}
|
|
259
|
-
function
|
|
252
|
+
function P(...e) {
|
|
260
253
|
return e.filter((r) => !!r).join(" ");
|
|
261
254
|
}
|
|
262
255
|
export {
|
|
263
256
|
n as Texts,
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
257
|
+
h as TranslationsKey,
|
|
258
|
+
D as VocaButtonVariant,
|
|
259
|
+
P as classNames,
|
|
260
|
+
E as createCapabilityPath,
|
|
261
|
+
M as friendlyUserName,
|
|
262
|
+
O as getCurrentLocationInfo,
|
|
263
|
+
a as getRuntimeRootUrl,
|
|
270
264
|
W as getVocaIcon,
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
265
|
+
C as mapToVocaOptions,
|
|
266
|
+
S as matchRegExpLike,
|
|
267
|
+
R as onEnter,
|
|
268
|
+
N as setRuntimeRootUrl,
|
|
269
|
+
I as vocaIconsToOptions
|
|
275
270
|
};
|
|
276
271
|
//# sourceMappingURL=index.js.map
|
package/frontend/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/frontend/routing.ts","../src/frontend/translations.ts","../src/frontend/texts.ts","../src/frontend/ui.ts"],"sourcesContent":["import { SerializeableObject } from './types';\n\nfunction createQueryString(args: SerializeableObject) {\n const entries = Object.entries(args);\n\n const filteredArgs = entries.reduce<SerializeableObject>((acc, entry) => {\n const [key, value] = entry;\n\n if (typeof value === 'undefined') {\n return acc;\n } else if (typeof value === 'object' && value !== null) {\n acc[key] = JSON.stringify(value);\n } else {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n\n if (!Object.keys(filteredArgs).length) {\n return '';\n }\n\n return `?${new URLSearchParams(filteredArgs as Record<string, any>)}`;\n}\n\nexport function createCapabilityPath(\n app: string = '',\n capability: string = '',\n args: SerializeableObject = {}\n) {\n const { workspace } = getCurrentLocationInfo();\n const queryString = createQueryString(args);\n const base = workspace ? `/${workspace}` : '';\n\n if (!app) {\n return `${base}${queryString}`;\n }\n\n if (!capability) {\n return `${base}/${app}${queryString}`;\n }\n\n return `${base}/${app}/${capability}${queryString}`;\n}\n\nexport function getCurrentLocationInfo() {\n const { origin, pathname } = window.location;\n\n // @ts-ignore\n let workspace = '';\n let app = '';\n let capability = '';\n\n // If on Alliance cloud environment - the first part of path is workspace\n if (matchRegExpLike('https://alliance*.ace.teliacompany.net', origin)) {\n [workspace, app, capability] = pathname.split('/').filter((part) => !!part);\n } else {\n [app, capability] = pathname.split('/').filter((part) => !!part);\n }\n\n return {\n workspace,\n app,\n capability,\n };\n}\n\nfunction escapeRegex(str: string) {\n return str.replaceAll(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport function matchRegExpLike(regExpLikeStr: string, testStr: string): boolean {\n const escaped = escapeRegex(regExpLikeStr);\n const regExp = new RegExp(`^${escaped.replaceAll('\\\\?', '.?').replaceAll('\\\\*', '.*')}`, 'i');\n return regExp.test(testStr);\n}\n","export type Translations = {\n [key in TranslationsKey]: string;\n};\n\nexport enum TranslationsKey {\n Done,\n NoWorkspaceName,\n NoAppName,\n AlreadyExists,\n NoAppOrWorkspaceInCurrentDirectory,\n UnrecognizedCommand,\n WorkspaceCreated,\n AppCreated,\n ServedStopped,\n WorkspaceNameInquiry,\n AppNameInquiry,\n ServerModeInquiry,\n CreateWorkspaceDescription,\n CreateAppDescription,\n ServeDescription,\n BuildDescription,\n MissingTranslationKey,\n OperationCancelled,\n StopServerInstructions,\n TemplateLanguageInquiry,\n TemplateFrameworkInquiry,\n DevServerPortDescription,\n ApiGatewayPortDescription,\n ApiServerModeDescription,\n DevServerOpenDescription,\n BuildWatchDescription,\n CouldNotStartGatewayInDocker,\n PullingLatestImage,\n AppEntryBuildOptionDescription,\n ManifestEntryBuildOptionDescription,\n BuildModeOptionDescription,\n FetchPackageVersionError,\n DockerNotStartedOrInstalled,\n EnableDevAuthentication,\n NoAppNameFound,\n AppConfigurationPath,\n ServerGatewayMode,\n ServerProxyMode,\n ServerMode,\n DevLoginUrl,\n}\n\nexport const en: Translations = {\n [TranslationsKey.Done]: 'Done',\n [TranslationsKey.NoWorkspaceName]: 'No workspace name provided!',\n [TranslationsKey.NoAppName]: 'No app name provided!',\n [TranslationsKey.AlreadyExists]: \"File or directory '{0}' already exists!\",\n [TranslationsKey.NoAppOrWorkspaceInCurrentDirectory]:\n \"Could not find any app entry file at '{0}' or any apps under the alliance.apps property in '{1}'!\",\n [TranslationsKey.UnrecognizedCommand]: 'Unrecognized command(s) {0}!',\n [TranslationsKey.WorkspaceCreated]: \"Workspace was created at path '{0}'!\",\n [TranslationsKey.AppCreated]: \"App was created at path '{0}'!\",\n [TranslationsKey.ServedStopped]: 'Server stopped.',\n [TranslationsKey.CreateWorkspaceDescription]:\n 'Creates an Alliance Workspace in the current directory.',\n [TranslationsKey.CreateAppDescription]:\n 'Creates an Alliance Application in the current directory or Alliance Workspace.',\n [TranslationsKey.ServeDescription]:\n 'Starts a Alliance development server using the current directory package.json.',\n [TranslationsKey.BuildDescription]: 'Builds an Alliance Application using Vite.',\n [TranslationsKey.WorkspaceNameInquiry]: 'Enter the name of your workspace',\n [TranslationsKey.ServerModeInquiry]: 'Which server mode do you want to use?',\n [TranslationsKey.AppNameInquiry]: 'Enter the name of your app',\n [TranslationsKey.MissingTranslationKey]: 'No translation key provided!',\n [TranslationsKey.OperationCancelled]: 'Operation cancelled.',\n [TranslationsKey.StopServerInstructions]: 'Press CTRL + C to stop the server.\\n',\n [TranslationsKey.TemplateLanguageInquiry]: 'Select preferred language',\n [TranslationsKey.TemplateFrameworkInquiry]: 'Select preferred framework template',\n [TranslationsKey.DevServerPortDescription]: 'The port that the dev server should use.',\n [TranslationsKey.ApiGatewayPortDescription]: 'The port that the api gateway should use.',\n [TranslationsKey.ApiServerModeDescription]:\n 'Which components to start. [server|server-proxy|server-gateway].',\n [TranslationsKey.DevServerOpenDescription]:\n 'Whether the dev server should automatically open in your browser or not.',\n [TranslationsKey.BuildWatchDescription]:\n 'Whether the build should start watching and rebuild when files change or not.',\n [TranslationsKey.CouldNotStartGatewayInDocker]:\n 'Could not start Docker container with Alliance gateway.',\n [TranslationsKey.PullingLatestImage]: 'Pulling latest image...',\n [TranslationsKey.AppEntryBuildOptionDescription]: 'The entry file for the app (./src/app).',\n [TranslationsKey.ManifestEntryBuildOptionDescription]:\n 'The entry file for the app manifest (./src/manifest).',\n [TranslationsKey.BuildModeOptionDescription]:\n 'Which mode to use when building the app. [production|development]',\n [TranslationsKey.FetchPackageVersionError]:\n \"Failed to fetch package info from the NPM registry for package '${0}'!\",\n [TranslationsKey.DockerNotStartedOrInstalled]: 'Docker not started or not installed.',\n [TranslationsKey.EnableDevAuthentication]:\n 'Whether user authentication should be enabled or not.',\n [TranslationsKey.NoAppNameFound]: 'Could not find app name in manifest.',\n [TranslationsKey.AppConfigurationPath]: 'The path to the app configuration file.',\n [TranslationsKey.ServerMode]: 'Server',\n [TranslationsKey.ServerProxyMode]: 'Server with proxy',\n [TranslationsKey.ServerGatewayMode]: 'Server with gateway',\n [TranslationsKey.DevLoginUrl]: 'Log in using http://localhost:{0}/-/dev/login',\n};\n","import { en, TranslationsKey, type Translations } from './translations';\n\nexport type TextArgs = (string | number)[];\n\nexport class Texts {\n protected static getTranslations = (): Translations => {\n return en;\n };\n\n protected static getTranslation = (key: TranslationsKey, ...args: TextArgs): string => {\n const translations = Texts.getTranslations();\n const translation = translations[key];\n\n if (!translation) throw new Error(`Could not find text with given key '${key}'.`);\n\n const formattedTranslation = args.reduce(\n (acc, curr, index) => acc.toString().replace(`{${index}}`, curr.toString()),\n translation\n );\n\n return formattedTranslation.toString();\n };\n\n public static get = (\n key: TranslationsKey = TranslationsKey.MissingTranslationKey,\n ...args: TextArgs\n ) => this.getTranslation(key, ...args);\n}\n\nexport default Texts;\n","export function vocaIconsToOptions(vocaIcons: any, selected: string) {\n return mapToVocaOptions(Object.values(vocaIcons), ({ name }: any) => ({\n label: name,\n value: name,\n selected: selected === name,\n }));\n}\n\nexport type VocaIcon = { name: string; svg: string };\n\nexport enum VocaButtonVariant {\n Primary = 'primary',\n Secondary = 'secondary',\n Expressive = 'expressive',\n Destructive = 'destructive',\n Text = 'text',\n PrimaryWhite = 'primary-white',\n SecondaryWhite = 'secondary-white',\n ExpressiveWhite = 'expressive-white',\n TertiaryPurple = 'tertiary-purple',\n}\n\nexport type VocaOption = { label: string; value: string; disabled?: boolean; selected?: boolean };\n\nexport function getVocaIcon(vocaIcons: any, name: string) {\n const icon = Object.values(vocaIcons).find((icon: any) => icon.name === name);\n return icon as VocaIcon;\n}\n\nexport type Unpacked<T> = T extends (infer U)[] ? U : T;\n\nexport function mapToVocaOptions<T>(\n items: T,\n mapper: (item: Unpacked<T>) => VocaOption\n): VocaOption[] {\n return (items as []).reduce<VocaOption[]>(\n (acc, item) => {\n acc.push({\n disabled: false,\n selected: false,\n ...mapper(item),\n });\n\n return acc;\n },\n [\n {\n label: 'Choose...',\n value: '',\n disabled: true,\n selected: true,\n },\n ]\n );\n}\n\nexport function onEnter(fn: Function) {\n return (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n fn(e);\n }\n };\n}\n\nexport function friendlyUserName(\n user: { email: string; displayName: string },\n format: 'single' | 'all' = 'all'\n) {\n const { email, displayName } = user;\n\n const hasDisplayName = displayName && displayName !== 'unknown';\n const hasEmail = !!email;\n\n switch (format) {\n case 'all': {\n if (hasDisplayName && hasEmail) {\n return `${displayName} (${email})`;\n } else if (hasDisplayName) {\n return displayName;\n } else if (hasEmail) {\n return email;\n }\n }\n case 'single': {\n if (hasDisplayName) {\n return displayName;\n } else if (hasEmail) {\n return email;\n }\n }\n }\n\n return '<UNKNOWN USER>';\n}\n\nexport function classNames(...classes: string[]) {\n return classes.filter((c) => !!c).join(' ');\n}\n"],"names":["createQueryString","args","filteredArgs","acc","entry","key","value","createCapabilityPath","app","capability","workspace","getCurrentLocationInfo","queryString","base","origin","pathname","matchRegExpLike","part","escapeRegex","str","regExpLikeStr","testStr","escaped","TranslationsKey","TranslationsKey2","en","_Texts","Texts","__publicField","translation","curr","index","vocaIconsToOptions","vocaIcons","selected","mapToVocaOptions","name","VocaButtonVariant","getVocaIcon","icon","items","mapper","item","onEnter","fn","e","friendlyUserName","user","format","email","displayName","hasDisplayName","hasEmail","classNames","classes","c"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/frontend/routing.ts","../src/frontend/translations.ts","../src/frontend/texts.ts","../src/frontend/ui.ts"],"sourcesContent":["import { SerializeableObject } from './types';\n\nfunction createQueryString(args: SerializeableObject) {\n const entries = Object.entries(args);\n\n const filteredArgs = entries.reduce<SerializeableObject>((acc, entry) => {\n const [key, value] = entry;\n\n if (typeof value === 'undefined') {\n return acc;\n } else if (typeof value === 'object' && value !== null) {\n acc[key] = JSON.stringify(value);\n } else {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n\n if (!Object.keys(filteredArgs).length) {\n return '';\n }\n\n return `?${new URLSearchParams(filteredArgs as Record<string, any>)}`;\n}\n\nfunction getCurrentPath() {\n const runtimeRootUrl = getRuntimeRootUrl();\n const { href, search } = window.location;\n\n return href.replace(runtimeRootUrl, '').replace(search, '');\n}\n\nfunction escapeRegex(str: string) {\n return str.replaceAll(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport function createCapabilityPath(\n app: string = '',\n capability: string = '',\n args: SerializeableObject = {}\n) {\n const rootPath = getRuntimeRootUrl().replace(location.origin, '');\n const queryString = createQueryString(args);\n\n if (!app) {\n return `${rootPath}${queryString}`;\n }\n\n if (!capability) {\n return `${rootPath}/${app}${queryString}`;\n }\n\n return `${rootPath}/${app}/${capability}${queryString}`;\n}\n\nexport function getCurrentLocationInfo() {\n const currentPath = getCurrentPath();\n const [app = '', capability = ''] = currentPath.split('/').filter((part) => !!part);\n\n return {\n app,\n capability,\n };\n}\n\nexport function matchRegExpLike(regExpLikeStr: string, testStr: string): boolean {\n const escaped = escapeRegex(regExpLikeStr);\n const regExp = new RegExp(`^${escaped.replaceAll('\\\\?', '.?').replaceAll('\\\\*', '.*')}`, 'i');\n return regExp.test(testStr);\n}\n\nexport function setRuntimeRootUrl() {\n const { origin, pathname } = window.location;\n\n // If on Alliance cloud environment - the first part of path is workspace\n if (matchRegExpLike('https://alliance*.ace.teliacompany.net', origin)) {\n const [workspace] = pathname.split('/').filter((part) => !!part);\n\n return (globalThis.__ALLIANCE_RUNTIME_ROOT_URL = `${origin}/${workspace}`);\n }\n\n return (globalThis.__ALLIANCE_RUNTIME_ROOT_URL = origin);\n}\n\nexport function getRuntimeRootUrl() {\n if (!globalThis.__ALLIANCE_RUNTIME_ROOT_URL) {\n setRuntimeRootUrl();\n }\n\n return globalThis.__ALLIANCE_RUNTIME_ROOT_URL;\n}\n","export type Translations = {\n [key in TranslationsKey]: string;\n};\n\nexport enum TranslationsKey {\n AlreadyExists,\n ApiGatewayPortDescription,\n ApiServerModeDescription,\n AppConfigurationPath,\n AppCreated,\n AppEntryBuildOptionDescription,\n AppNameInquiry,\n BuildDescription,\n BuildModeOptionDescription,\n BuildWatchDescription,\n CreateAppDescription,\n CreateWorkspaceDescription,\n DevServerOpenDescription,\n DevServerPortDescription,\n Done,\n FetchPackageVersionError,\n ManifestEntryBuildOptionDescription,\n MissingTranslationKey,\n NoAppName,\n NoAppNameFound,\n NoAppOrWorkspaceInCurrentDirectory,\n NoWorkspaceName,\n OperationCancelled,\n ServeDescription,\n ServedStopped,\n ServerGatewayMode,\n ServerMode,\n ServerModeInquiry,\n ServerProxyMode,\n StopServerInstructions,\n TemplateFrameworkInquiry,\n TemplateLanguageInquiry,\n UnrecognizedCommand,\n WorkspaceCreated,\n WorkspaceNameInquiry,\n}\n\nexport const en: Translations = {\n [TranslationsKey.Done]: 'Done',\n [TranslationsKey.NoWorkspaceName]: 'No workspace name provided!',\n [TranslationsKey.NoAppName]: 'No app name provided!',\n [TranslationsKey.AlreadyExists]: \"File or directory '{0}' already exists!\",\n [TranslationsKey.NoAppOrWorkspaceInCurrentDirectory]:\n \"Could not find any app entry file at '{0}'!\",\n [TranslationsKey.UnrecognizedCommand]: 'Unrecognized command(s) {0}!',\n [TranslationsKey.WorkspaceCreated]: \"Workspace was created at path '{0}'!\",\n [TranslationsKey.AppCreated]: \"App was created at path '{0}'!\",\n [TranslationsKey.ServedStopped]: 'Server stopped.',\n [TranslationsKey.CreateWorkspaceDescription]:\n 'Creates an Alliance Workspace in the current directory.',\n [TranslationsKey.CreateAppDescription]:\n 'Creates an Alliance Application in the current directory or Alliance Workspace.',\n [TranslationsKey.ServeDescription]:\n 'Starts a Alliance development server using the current directory package.json.',\n [TranslationsKey.BuildDescription]: 'Builds an Alliance Application using Vite.',\n [TranslationsKey.WorkspaceNameInquiry]: 'Enter the name of your workspace',\n [TranslationsKey.ServerModeInquiry]: 'Which server mode do you want to use?',\n [TranslationsKey.AppNameInquiry]: 'Enter the name of your app',\n [TranslationsKey.MissingTranslationKey]: 'No translation key provided!',\n [TranslationsKey.OperationCancelled]: 'Operation cancelled.',\n [TranslationsKey.StopServerInstructions]: 'Press CTRL + C to stop the server.\\n',\n [TranslationsKey.TemplateLanguageInquiry]: 'Select preferred language',\n [TranslationsKey.TemplateFrameworkInquiry]: 'Select preferred framework template',\n [TranslationsKey.DevServerPortDescription]: 'The port that the dev server should use.',\n [TranslationsKey.ApiGatewayPortDescription]: 'The port that the api gateway should use.',\n [TranslationsKey.ApiServerModeDescription]:\n 'Which components to start. [server|server-proxy|server-gateway].',\n [TranslationsKey.DevServerOpenDescription]:\n 'Whether the dev server should automatically open in your browser or not.',\n [TranslationsKey.BuildWatchDescription]:\n 'Whether the build should start watching and rebuild when files change or not.',\n [TranslationsKey.AppEntryBuildOptionDescription]: 'The entry file for the app (./src/app).',\n [TranslationsKey.ManifestEntryBuildOptionDescription]:\n 'The entry file for the app manifest (./src/manifest).',\n [TranslationsKey.BuildModeOptionDescription]: 'Which mode to use when building the app.',\n [TranslationsKey.FetchPackageVersionError]:\n \"Failed to fetch package info from the NPM registry for package '${0}'!\",\n [TranslationsKey.NoAppNameFound]: 'Could not find app name in manifest.',\n [TranslationsKey.AppConfigurationPath]: 'The path to the app configuration file.',\n [TranslationsKey.ServerMode]: 'Server',\n [TranslationsKey.ServerProxyMode]: 'Server with proxy',\n [TranslationsKey.ServerGatewayMode]: 'Server with gateway',\n};\n","import { en, TranslationsKey, type Translations } from './translations';\n\nexport type TextArgs = (string | number)[];\n\nexport class Texts {\n protected static getTranslations = (): Translations => {\n return en;\n };\n\n protected static getTranslation = (key: TranslationsKey, ...args: TextArgs): string => {\n const translations = Texts.getTranslations();\n const translation = translations[key];\n\n if (!translation) throw new Error(`Could not find text with given key '${key}'.`);\n\n const formattedTranslation = args.reduce(\n (acc, curr, index) => acc.toString().replace(`{${index}}`, curr.toString()),\n translation\n );\n\n return formattedTranslation.toString();\n };\n\n public static get = (\n key: TranslationsKey = TranslationsKey.MissingTranslationKey,\n ...args: TextArgs\n ) => this.getTranslation(key, ...args);\n}\n\nexport default Texts;\n","export function vocaIconsToOptions(vocaIcons: any, selected: string) {\n return mapToVocaOptions(Object.values(vocaIcons), ({ name }: any) => ({\n label: name,\n value: name,\n selected: selected === name,\n }));\n}\n\nexport type VocaIcon = { name: string; svg: string };\n\nexport enum VocaButtonVariant {\n Primary = 'primary',\n Secondary = 'secondary',\n Expressive = 'expressive',\n Destructive = 'destructive',\n Text = 'text',\n PrimaryWhite = 'primary-white',\n SecondaryWhite = 'secondary-white',\n ExpressiveWhite = 'expressive-white',\n TertiaryPurple = 'tertiary-purple',\n}\n\nexport type VocaOption = { label: string; value: string; disabled?: boolean; selected?: boolean };\n\nexport function getVocaIcon(vocaIcons: any, name: string) {\n const icon = Object.values(vocaIcons).find((icon: any) => icon.name === name);\n return icon as VocaIcon;\n}\n\nexport type Unpacked<T> = T extends (infer U)[] ? U : T;\n\nexport function mapToVocaOptions<T>(\n items: T,\n mapper: (item: Unpacked<T>) => VocaOption\n): VocaOption[] {\n return (items as []).reduce<VocaOption[]>(\n (acc, item) => {\n acc.push({\n disabled: false,\n selected: false,\n ...mapper(item),\n });\n\n return acc;\n },\n [\n {\n label: 'Choose...',\n value: '',\n disabled: true,\n selected: true,\n },\n ]\n );\n}\n\nexport function onEnter(fn: Function) {\n return (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n fn(e);\n }\n };\n}\n\nexport function friendlyUserName(\n user: { email: string; displayName: string },\n format: 'single' | 'all' = 'all'\n) {\n const { email, displayName } = user;\n\n const hasDisplayName = displayName && displayName !== 'unknown';\n const hasEmail = !!email;\n\n switch (format) {\n case 'all': {\n if (hasDisplayName && hasEmail) {\n return `${displayName} (${email})`;\n } else if (hasDisplayName) {\n return displayName;\n } else if (hasEmail) {\n return email;\n }\n }\n case 'single': {\n if (hasDisplayName) {\n return displayName;\n } else if (hasEmail) {\n return email;\n }\n }\n }\n\n return '<UNKNOWN USER>';\n}\n\nexport function classNames(...classes: string[]) {\n return classes.filter((c) => !!c).join(' ');\n}\n"],"names":["createQueryString","args","filteredArgs","acc","entry","key","value","getCurrentPath","runtimeRootUrl","getRuntimeRootUrl","href","search","escapeRegex","str","createCapabilityPath","app","capability","rootPath","queryString","getCurrentLocationInfo","currentPath","part","matchRegExpLike","regExpLikeStr","testStr","escaped","setRuntimeRootUrl","origin","pathname","workspace","TranslationsKey","TranslationsKey2","en","_Texts","Texts","__publicField","translation","curr","index","vocaIconsToOptions","vocaIcons","selected","mapToVocaOptions","name","VocaButtonVariant","getVocaIcon","icon","items","mapper","item","onEnter","fn","e","friendlyUserName","user","format","email","displayName","hasDisplayName","hasEmail","classNames","classes","c"],"mappings":"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"}
|
package/frontend/routing.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { SerializeableObject } from './types';
|
|
2
2
|
export declare function createCapabilityPath(app?: string, capability?: string, args?: SerializeableObject): string;
|
|
3
3
|
export declare function getCurrentLocationInfo(): {
|
|
4
|
-
workspace: string;
|
|
5
4
|
app: string;
|
|
6
5
|
capability: string;
|
|
7
6
|
};
|
|
8
7
|
export declare function matchRegExpLike(regExpLikeStr: string, testStr: string): boolean;
|
|
8
|
+
export declare function setRuntimeRootUrl(): string;
|
|
9
|
+
export declare function getRuntimeRootUrl(): string;
|
|
@@ -2,45 +2,40 @@ export type Translations = {
|
|
|
2
2
|
[key in TranslationsKey]: string;
|
|
3
3
|
};
|
|
4
4
|
export declare enum TranslationsKey {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
AppConfigurationPath = 35,
|
|
41
|
-
ServerGatewayMode = 36,
|
|
42
|
-
ServerProxyMode = 37,
|
|
43
|
-
ServerMode = 38,
|
|
44
|
-
DevLoginUrl = 39
|
|
5
|
+
AlreadyExists = 0,
|
|
6
|
+
ApiGatewayPortDescription = 1,
|
|
7
|
+
ApiServerModeDescription = 2,
|
|
8
|
+
AppConfigurationPath = 3,
|
|
9
|
+
AppCreated = 4,
|
|
10
|
+
AppEntryBuildOptionDescription = 5,
|
|
11
|
+
AppNameInquiry = 6,
|
|
12
|
+
BuildDescription = 7,
|
|
13
|
+
BuildModeOptionDescription = 8,
|
|
14
|
+
BuildWatchDescription = 9,
|
|
15
|
+
CreateAppDescription = 10,
|
|
16
|
+
CreateWorkspaceDescription = 11,
|
|
17
|
+
DevServerOpenDescription = 12,
|
|
18
|
+
DevServerPortDescription = 13,
|
|
19
|
+
Done = 14,
|
|
20
|
+
FetchPackageVersionError = 15,
|
|
21
|
+
ManifestEntryBuildOptionDescription = 16,
|
|
22
|
+
MissingTranslationKey = 17,
|
|
23
|
+
NoAppName = 18,
|
|
24
|
+
NoAppNameFound = 19,
|
|
25
|
+
NoAppOrWorkspaceInCurrentDirectory = 20,
|
|
26
|
+
NoWorkspaceName = 21,
|
|
27
|
+
OperationCancelled = 22,
|
|
28
|
+
ServeDescription = 23,
|
|
29
|
+
ServedStopped = 24,
|
|
30
|
+
ServerGatewayMode = 25,
|
|
31
|
+
ServerMode = 26,
|
|
32
|
+
ServerModeInquiry = 27,
|
|
33
|
+
ServerProxyMode = 28,
|
|
34
|
+
StopServerInstructions = 29,
|
|
35
|
+
TemplateFrameworkInquiry = 30,
|
|
36
|
+
TemplateLanguageInquiry = 31,
|
|
37
|
+
UnrecognizedCommand = 32,
|
|
38
|
+
WorkspaceCreated = 33,
|
|
39
|
+
WorkspaceNameInquiry = 34
|
|
45
40
|
}
|
|
46
41
|
export declare const en: Translations;
|
package/package.json
CHANGED