@osdk/create-app 0.19.0-beta.5 → 0.19.0-beta.6
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 +6 -0
- package/build/browser/cli.d.ts +2 -0
- package/build/browser/cli.d.ts.map +1 -0
- package/build/browser/cli.js +95 -0
- package/build/browser/cli.js.map +1 -0
- package/build/browser/cli.test.d.ts +2 -0
- package/build/browser/cli.test.d.ts.map +1 -0
- package/build/browser/cli.test.js +59 -0
- package/build/browser/cli.test.js.map +1 -0
- package/build/browser/consola.d.ts +3 -0
- package/build/browser/consola.d.ts.map +1 -0
- package/build/browser/consola.js +28 -0
- package/build/browser/consola.js.map +1 -0
- package/build/browser/generate/generateEnv.d.ts +13 -0
- package/build/browser/generate/generateEnv.d.ts.map +1 -0
- package/build/browser/generate/generateEnv.js +50 -0
- package/build/browser/generate/generateEnv.js.map +1 -0
- package/build/browser/generate/generateEnv.test.d.ts +2 -0
- package/build/browser/generate/generateEnv.test.d.ts.map +1 -0
- package/build/browser/generate/generateEnv.test.js +70 -0
- package/build/browser/generate/generateEnv.test.js.map +1 -0
- package/build/browser/generate/generateFoundryConfigJson.d.ts +6 -0
- package/build/browser/generate/generateFoundryConfigJson.d.ts.map +1 -0
- package/build/browser/generate/generateFoundryConfigJson.js +33 -0
- package/build/browser/generate/generateFoundryConfigJson.js.map +1 -0
- package/build/browser/generate/generateFoundryConfigJson.test.d.ts +2 -0
- package/build/browser/generate/generateFoundryConfigJson.test.d.ts.map +1 -0
- package/build/browser/generate/generateFoundryConfigJson.test.js +38 -0
- package/build/browser/generate/generateFoundryConfigJson.test.js.map +1 -0
- package/build/browser/generate/generateNpmRc.d.ts +5 -0
- package/build/browser/generate/generateNpmRc.d.ts.map +1 -0
- package/build/browser/generate/generateNpmRc.js +27 -0
- package/build/browser/generate/generateNpmRc.js.map +1 -0
- package/build/browser/generate/generateNpmRc.test.d.ts +2 -0
- package/build/browser/generate/generateNpmRc.test.d.ts.map +1 -0
- package/build/browser/generate/generateNpmRc.test.js +28 -0
- package/build/browser/generate/generateNpmRc.test.js.map +1 -0
- package/build/browser/highlight.d.ts +3 -0
- package/build/browser/highlight.d.ts.map +1 -0
- package/build/browser/highlight.js +23 -0
- package/build/browser/highlight.js.map +1 -0
- package/build/browser/index.d.ts +5 -0
- package/build/browser/index.d.ts.map +1 -0
- package/build/browser/index.js +18 -540
- package/build/browser/index.js.map +1 -1
- package/build/browser/prompts/promptApplicationRid.d.ts +4 -0
- package/build/browser/prompts/promptApplicationRid.d.ts.map +1 -0
- package/build/browser/prompts/promptApplicationRid.js +31 -0
- package/build/browser/prompts/promptApplicationRid.js.map +1 -0
- package/build/browser/prompts/promptApplicationRid.test.d.ts +2 -0
- package/build/browser/prompts/promptApplicationRid.test.d.ts.map +1 -0
- package/build/browser/prompts/promptApplicationRid.test.js +48 -0
- package/build/browser/prompts/promptApplicationRid.test.js.map +1 -0
- package/build/browser/prompts/promptApplicationUrl.d.ts +5 -0
- package/build/browser/prompts/promptApplicationUrl.d.ts.map +1 -0
- package/build/browser/prompts/promptApplicationUrl.js +50 -0
- package/build/browser/prompts/promptApplicationUrl.js.map +1 -0
- package/build/browser/prompts/promptApplicationUrl.test.d.ts +2 -0
- package/build/browser/prompts/promptApplicationUrl.test.d.ts.map +1 -0
- package/build/browser/prompts/promptApplicationUrl.test.js +68 -0
- package/build/browser/prompts/promptApplicationUrl.test.js.map +1 -0
- package/build/browser/prompts/promptClientId.d.ts +4 -0
- package/build/browser/prompts/promptClientId.d.ts.map +1 -0
- package/build/browser/prompts/promptClientId.js +31 -0
- package/build/browser/prompts/promptClientId.js.map +1 -0
- package/build/browser/prompts/promptClientId.test.d.ts +2 -0
- package/build/browser/prompts/promptClientId.test.d.ts.map +1 -0
- package/build/browser/prompts/promptClientId.test.js +47 -0
- package/build/browser/prompts/promptClientId.test.js.map +1 -0
- package/build/browser/prompts/promptCorsProxy.d.ts +4 -0
- package/build/browser/prompts/promptCorsProxy.d.ts.map +1 -0
- package/build/browser/prompts/promptCorsProxy.js +29 -0
- package/build/browser/prompts/promptCorsProxy.js.map +1 -0
- package/build/browser/prompts/promptCorsProxy.test.d.ts +2 -0
- package/build/browser/prompts/promptCorsProxy.test.d.ts.map +1 -0
- package/build/browser/prompts/promptCorsProxy.test.js +44 -0
- package/build/browser/prompts/promptCorsProxy.test.js.map +1 -0
- package/build/browser/prompts/promptFoundryUrl.d.ts +4 -0
- package/build/browser/prompts/promptFoundryUrl.d.ts.map +1 -0
- package/build/browser/prompts/promptFoundryUrl.js +31 -0
- package/build/browser/prompts/promptFoundryUrl.js.map +1 -0
- package/build/browser/prompts/promptFoundryUrl.test.d.ts +2 -0
- package/build/browser/prompts/promptFoundryUrl.test.d.ts.map +1 -0
- package/build/browser/prompts/promptFoundryUrl.test.js +55 -0
- package/build/browser/prompts/promptFoundryUrl.test.js.map +1 -0
- package/build/browser/prompts/promptOsdkPackage.d.ts +4 -0
- package/build/browser/prompts/promptOsdkPackage.d.ts.map +1 -0
- package/build/browser/prompts/promptOsdkPackage.js +31 -0
- package/build/browser/prompts/promptOsdkPackage.js.map +1 -0
- package/build/browser/prompts/promptOsdkPackage.test.d.ts +2 -0
- package/build/browser/prompts/promptOsdkPackage.test.d.ts.map +1 -0
- package/build/browser/prompts/promptOsdkPackage.test.js +48 -0
- package/build/browser/prompts/promptOsdkPackage.test.js.map +1 -0
- package/build/browser/prompts/promptOsdkRegistryUrl.d.ts +4 -0
- package/build/browser/prompts/promptOsdkRegistryUrl.d.ts.map +1 -0
- package/build/browser/prompts/promptOsdkRegistryUrl.js +31 -0
- package/build/browser/prompts/promptOsdkRegistryUrl.js.map +1 -0
- package/build/browser/prompts/promptOsdkRegistryUrl.test.d.ts +2 -0
- package/build/browser/prompts/promptOsdkRegistryUrl.test.d.ts.map +1 -0
- package/build/browser/prompts/promptOsdkRegistryUrl.test.js +54 -0
- package/build/browser/prompts/promptOsdkRegistryUrl.test.js.map +1 -0
- package/build/browser/prompts/promptOverwrite.d.ts +5 -0
- package/build/browser/prompts/promptOverwrite.d.ts.map +1 -0
- package/build/browser/prompts/promptOverwrite.js +53 -0
- package/build/browser/prompts/promptOverwrite.js.map +1 -0
- package/build/browser/prompts/promptOverwrite.test.d.ts +2 -0
- package/build/browser/prompts/promptOverwrite.test.d.ts.map +1 -0
- package/build/browser/prompts/promptOverwrite.test.js +55 -0
- package/build/browser/prompts/promptOverwrite.test.js.map +1 -0
- package/build/browser/prompts/promptProject.d.ts +4 -0
- package/build/browser/prompts/promptProject.d.ts.map +1 -0
- package/build/browser/prompts/promptProject.js +32 -0
- package/build/browser/prompts/promptProject.js.map +1 -0
- package/build/browser/prompts/promptProject.test.d.ts +2 -0
- package/build/browser/prompts/promptProject.test.d.ts.map +1 -0
- package/build/browser/prompts/promptProject.test.js +47 -0
- package/build/browser/prompts/promptProject.test.js.map +1 -0
- package/build/browser/prompts/promptTemplate.d.ts +6 -0
- package/build/browser/prompts/promptTemplate.d.ts.map +1 -0
- package/build/browser/prompts/promptTemplate.js +45 -0
- package/build/browser/prompts/promptTemplate.js.map +1 -0
- package/build/browser/prompts/promptTemplate.test.d.ts +2 -0
- package/build/browser/prompts/promptTemplate.test.d.ts.map +1 -0
- package/build/browser/prompts/promptTemplate.test.js +48 -0
- package/build/browser/prompts/promptTemplate.test.js.map +1 -0
- package/build/browser/run.d.ts +16 -0
- package/build/browser/run.d.ts.map +1 -0
- package/build/browser/run.js +132 -0
- package/build/browser/run.js.map +1 -0
- package/build/browser/templates.d.ts +23 -0
- package/build/browser/templates.d.ts.map +1 -0
- package/build/browser/templates.js +56 -0
- package/build/browser/templates.js.map +1 -0
- package/build/esm/cli.js +95 -0
- package/build/esm/cli.js.map +1 -0
- package/build/esm/cli.test.js +59 -0
- package/build/esm/cli.test.js.map +1 -0
- package/build/esm/consola.js +28 -0
- package/build/esm/consola.js.map +1 -0
- package/build/esm/generate/generateEnv.js +50 -0
- package/build/esm/generate/generateEnv.js.map +1 -0
- package/build/esm/generate/generateEnv.test.js +70 -0
- package/build/esm/generate/generateEnv.test.js.map +1 -0
- package/build/esm/generate/generateFoundryConfigJson.js +33 -0
- package/build/esm/generate/generateFoundryConfigJson.js.map +1 -0
- package/build/esm/generate/generateFoundryConfigJson.test.js +38 -0
- package/build/esm/generate/generateFoundryConfigJson.test.js.map +1 -0
- package/build/esm/generate/generateNpmRc.js +27 -0
- package/build/esm/generate/generateNpmRc.js.map +1 -0
- package/build/esm/generate/generateNpmRc.test.js +28 -0
- package/build/esm/generate/generateNpmRc.test.js.map +1 -0
- package/build/esm/highlight.js +23 -0
- package/build/esm/highlight.js.map +1 -0
- package/build/esm/index.js +18 -540
- package/build/esm/index.js.map +1 -1
- package/build/esm/prompts/promptApplicationRid.js +31 -0
- package/build/esm/prompts/promptApplicationRid.js.map +1 -0
- package/build/esm/prompts/promptApplicationRid.test.js +48 -0
- package/build/esm/prompts/promptApplicationRid.test.js.map +1 -0
- package/build/esm/prompts/promptApplicationUrl.js +50 -0
- package/build/esm/prompts/promptApplicationUrl.js.map +1 -0
- package/build/esm/prompts/promptApplicationUrl.test.js +68 -0
- package/build/esm/prompts/promptApplicationUrl.test.js.map +1 -0
- package/build/esm/prompts/promptClientId.js +31 -0
- package/build/esm/prompts/promptClientId.js.map +1 -0
- package/build/esm/prompts/promptClientId.test.js +47 -0
- package/build/esm/prompts/promptClientId.test.js.map +1 -0
- package/build/esm/prompts/promptCorsProxy.js +29 -0
- package/build/esm/prompts/promptCorsProxy.js.map +1 -0
- package/build/esm/prompts/promptCorsProxy.test.js +44 -0
- package/build/esm/prompts/promptCorsProxy.test.js.map +1 -0
- package/build/esm/prompts/promptFoundryUrl.js +31 -0
- package/build/esm/prompts/promptFoundryUrl.js.map +1 -0
- package/build/esm/prompts/promptFoundryUrl.test.js +55 -0
- package/build/esm/prompts/promptFoundryUrl.test.js.map +1 -0
- package/build/esm/prompts/promptOsdkPackage.js +31 -0
- package/build/esm/prompts/promptOsdkPackage.js.map +1 -0
- package/build/esm/prompts/promptOsdkPackage.test.js +48 -0
- package/build/esm/prompts/promptOsdkPackage.test.js.map +1 -0
- package/build/esm/prompts/promptOsdkRegistryUrl.js +31 -0
- package/build/esm/prompts/promptOsdkRegistryUrl.js.map +1 -0
- package/build/esm/prompts/promptOsdkRegistryUrl.test.js +54 -0
- package/build/esm/prompts/promptOsdkRegistryUrl.test.js.map +1 -0
- package/build/esm/prompts/promptOverwrite.js +53 -0
- package/build/esm/prompts/promptOverwrite.js.map +1 -0
- package/build/esm/prompts/promptOverwrite.test.js +55 -0
- package/build/esm/prompts/promptOverwrite.test.js.map +1 -0
- package/build/esm/prompts/promptProject.js +32 -0
- package/build/esm/prompts/promptProject.js.map +1 -0
- package/build/esm/prompts/promptProject.test.js +47 -0
- package/build/esm/prompts/promptProject.test.js.map +1 -0
- package/build/esm/prompts/promptTemplate.js +45 -0
- package/build/esm/prompts/promptTemplate.js.map +1 -0
- package/build/esm/prompts/promptTemplate.test.js +48 -0
- package/build/esm/prompts/promptTemplate.test.js.map +1 -0
- package/build/esm/run.js +132 -0
- package/build/esm/run.js.map +1 -0
- package/build/esm/templates.js +56 -0
- package/build/esm/templates.js.map +1 -0
- package/package.json +8 -10
- package/build/browser/esm-D3BAJ7G6.js +0 -456
- package/build/browser/esm-D3BAJ7G6.js.map +0 -1
- package/build/browser/esm-OBQZ3MUJ.js +0 -383
- package/build/browser/esm-OBQZ3MUJ.js.map +0 -1
- package/build/browser/esm-QBJCFCPI.js +0 -375
- package/build/browser/esm-QBJCFCPI.js.map +0 -1
- package/build/browser/esm-QPUX3UHH.js +0 -908
- package/build/browser/esm-QPUX3UHH.js.map +0 -1
- package/build/browser/esm-W6PA7H72.js +0 -1176
- package/build/browser/esm-W6PA7H72.js.map +0 -1
- package/build/browser/esm-Y4LEDX6D.js +0 -253
- package/build/browser/esm-Y4LEDX6D.js.map +0 -1
- package/build/esm/esm-D3BAJ7G6.js +0 -456
- package/build/esm/esm-D3BAJ7G6.js.map +0 -1
- package/build/esm/esm-OBQZ3MUJ.js +0 -383
- package/build/esm/esm-OBQZ3MUJ.js.map +0 -1
- package/build/esm/esm-QBJCFCPI.js +0 -375
- package/build/esm/esm-QBJCFCPI.js.map +0 -1
- package/build/esm/esm-QPUX3UHH.js +0 -908
- package/build/esm/esm-QPUX3UHH.js.map +0 -1
- package/build/esm/esm-W6PA7H72.js +0 -1176
- package/build/esm/esm-W6PA7H72.js.map +0 -1
- package/build/esm/esm-Y4LEDX6D.js +0 -253
- package/build/esm/esm-Y4LEDX6D.js.map +0 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { consola } from "../consola.js";
|
|
17
|
+
import { italic } from "../highlight.js";
|
|
18
|
+
export async function promptApplicationRid({
|
|
19
|
+
application
|
|
20
|
+
}) {
|
|
21
|
+
while (application == null || !/^ri\.third-party-applications\.[^.]+\.application\.[^.]+$/.test(application)) {
|
|
22
|
+
if (application != null) {
|
|
23
|
+
consola.fail("Please enter a valid application resource identifier (rid)");
|
|
24
|
+
}
|
|
25
|
+
application = await consola.prompt(`Enter the application resource identifier (rid) for your application from Developer Console:\n${italic("(Example: ri.third-party-applications.main.application.1c66b352-4e00-40d2-995d-061c9d533ace)")}`, {
|
|
26
|
+
type: "text"
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return application;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=promptApplicationRid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptApplicationRid.js","names":["consola","italic","promptApplicationRid","application","test","fail","prompt","type"],"sources":["promptApplicationRid.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptApplicationRid({ application }) {\n while (application == null\n || !/^ri\\.third-party-applications\\.[^.]+\\.application\\.[^.]+$/.test(application)) {\n if (application != null) {\n consola.fail(\"Please enter a valid application resource identifier (rid)\");\n }\n application = await consola.prompt(`Enter the application resource identifier (rid) for your application from Developer Console:\\n${italic(\"(Example: ri.third-party-applications.main.application.1c66b352-4e00-40d2-995d-061c9d533ace)\")}`, { type: \"text\" });\n }\n return application;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,eAAe;AACvC,SAASC,MAAM,QAAQ,iBAAiB;AACxC,OAAO,eAAeC,oBAAoBA,CAAC;EAAEC;AAAY,CAAC,EAAE;EACxD,OAAOA,WAAW,IAAI,IAAI,IACnB,CAAC,2DAA2D,CAACC,IAAI,CAACD,WAAW,CAAC,EAAE;IACnF,IAAIA,WAAW,IAAI,IAAI,EAAE;MACrBH,OAAO,CAACK,IAAI,CAAC,4DAA4D,CAAC;IAC9E;IACAF,WAAW,GAAG,MAAMH,OAAO,CAACM,MAAM,CAAC,iGAAiGL,MAAM,CAAC,8FAA8F,CAAC,EAAE,EAAE;MAAEM,IAAI,EAAE;IAAO,CAAC,CAAC;EACnQ;EACA,OAAOJ,WAAW;AACtB","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { afterEach, expect, test, vi } from "vitest";
|
|
17
|
+
import { consola } from "../consola.js";
|
|
18
|
+
import { promptApplicationRid } from "./promptApplicationRid.js";
|
|
19
|
+
vi.mock("../consola.js");
|
|
20
|
+
afterEach(() => {
|
|
21
|
+
vi.restoreAllMocks();
|
|
22
|
+
});
|
|
23
|
+
const valid = "ri.third-party-applications.main.application.fake";
|
|
24
|
+
test("it accepts valid application rid from prompt", async () => {
|
|
25
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid);
|
|
26
|
+
expect(await promptApplicationRid({})).toEqual(valid);
|
|
27
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
28
|
+
});
|
|
29
|
+
test("it prompts again if answered value is invalid", async () => {
|
|
30
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("ri.something.else.and.fake");
|
|
31
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid);
|
|
32
|
+
expect(await promptApplicationRid({})).toEqual(valid);
|
|
33
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(2);
|
|
34
|
+
});
|
|
35
|
+
test("it accepts valid initial value without prompt", async () => {
|
|
36
|
+
expect(await promptApplicationRid({
|
|
37
|
+
application: valid
|
|
38
|
+
})).toEqual(valid);
|
|
39
|
+
expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();
|
|
40
|
+
});
|
|
41
|
+
test("it prompts if initial value is invalid", async () => {
|
|
42
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid);
|
|
43
|
+
expect(await promptApplicationRid({
|
|
44
|
+
application: "ri.something.else.and.fake"
|
|
45
|
+
})).toEqual(valid);
|
|
46
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=promptApplicationRid.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptApplicationRid.test.js","names":["afterEach","expect","test","vi","consola","promptApplicationRid","mock","restoreAllMocks","valid","mocked","prompt","mockResolvedValueOnce","toEqual","toHaveBeenCalledTimes","application","not","toHaveBeenCalled"],"sources":["promptApplicationRid.test.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { afterEach, expect, test, vi } from \"vitest\";\nimport { consola } from \"../consola.js\";\nimport { promptApplicationRid } from \"./promptApplicationRid.js\";\nvi.mock(\"../consola.js\");\nafterEach(() => {\n vi.restoreAllMocks();\n});\nconst valid = \"ri.third-party-applications.main.application.fake\";\ntest(\"it accepts valid application rid from prompt\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid);\n expect(await promptApplicationRid({})).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\ntest(\"it prompts again if answered value is invalid\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"ri.something.else.and.fake\");\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid);\n expect(await promptApplicationRid({})).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(2);\n});\ntest(\"it accepts valid initial value without prompt\", async () => {\n expect(await promptApplicationRid({ application: valid })).toEqual(valid);\n expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();\n});\ntest(\"it prompts if initial value is invalid\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid);\n expect(await promptApplicationRid({ application: \"ri.something.else.and.fake\" })).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,MAAM,EAAEC,IAAI,EAAEC,EAAE,QAAQ,QAAQ;AACpD,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,oBAAoB,QAAQ,2BAA2B;AAChEF,EAAE,CAACG,IAAI,CAAC,eAAe,CAAC;AACxBN,SAAS,CAAC,MAAM;EACZG,EAAE,CAACI,eAAe,CAAC,CAAC;AACxB,CAAC,CAAC;AACF,MAAMC,KAAK,GAAG,mDAAmD;AACjEN,IAAI,CAAC,8CAA8C,EAAE,YAAY;EAC7DC,EAAE,CAACM,MAAM,CAACL,OAAO,CAAC,CAACM,MAAM,CAACC,qBAAqB,CAACH,KAAK,CAAC;EACtDP,MAAM,CAAC,MAAMI,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAACO,OAAO,CAACJ,KAAK,CAAC;EACrDP,MAAM,CAACE,EAAE,CAACM,MAAM,CAACL,OAAO,CAAC,CAACM,MAAM,CAAC,CAACG,qBAAqB,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AACFX,IAAI,CAAC,+CAA+C,EAAE,YAAY;EAC9DC,EAAE,CAACM,MAAM,CAACL,OAAO,CAAC,CAACM,MAAM,CAACC,qBAAqB,CAAC,4BAA4B,CAAC;EAC7ER,EAAE,CAACM,MAAM,CAACL,OAAO,CAAC,CAACM,MAAM,CAACC,qBAAqB,CAACH,KAAK,CAAC;EACtDP,MAAM,CAAC,MAAMI,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAACO,OAAO,CAACJ,KAAK,CAAC;EACrDP,MAAM,CAACE,EAAE,CAACM,MAAM,CAACL,OAAO,CAAC,CAACM,MAAM,CAAC,CAACG,qBAAqB,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AACFX,IAAI,CAAC,+CAA+C,EAAE,YAAY;EAC9DD,MAAM,CAAC,MAAMI,oBAAoB,CAAC;IAAES,WAAW,EAAEN;EAAM,CAAC,CAAC,CAAC,CAACI,OAAO,CAACJ,KAAK,CAAC;EACzEP,MAAM,CAACE,EAAE,CAACM,MAAM,CAACL,OAAO,CAAC,CAACM,MAAM,CAAC,CAACK,GAAG,CAACC,gBAAgB,CAAC,CAAC;AAC5D,CAAC,CAAC;AACFd,IAAI,CAAC,wCAAwC,EAAE,YAAY;EACvDC,EAAE,CAACM,MAAM,CAACL,OAAO,CAAC,CAACM,MAAM,CAACC,qBAAqB,CAACH,KAAK,CAAC;EACtDP,MAAM,CAAC,MAAMI,oBAAoB,CAAC;IAAES,WAAW,EAAE;EAA6B,CAAC,CAAC,CAAC,CAACF,OAAO,CAACJ,KAAK,CAAC;EAChGP,MAAM,CAACE,EAAE,CAACM,MAAM,CAACL,OAAO,CAAC,CAACM,MAAM,CAAC,CAACG,qBAAqB,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { consola } from "../consola.js";
|
|
17
|
+
import { italic } from "../highlight.js";
|
|
18
|
+
export async function promptApplicationUrl({
|
|
19
|
+
skipApplicationUrl,
|
|
20
|
+
applicationUrl
|
|
21
|
+
}) {
|
|
22
|
+
if (skipApplicationUrl) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
if (applicationUrl == null) {
|
|
26
|
+
const skip = await consola.prompt(`Do you know the URL your production application will be hosted on? This is required to create a production build of your application with the correct OAuth redirect URL.`, {
|
|
27
|
+
type: "select",
|
|
28
|
+
options: [{
|
|
29
|
+
label: "Yes, let me fill it here",
|
|
30
|
+
value: "yes"
|
|
31
|
+
}, {
|
|
32
|
+
label: "No, I will fill it in later following the instructions in the generated README",
|
|
33
|
+
value: "no"
|
|
34
|
+
}]
|
|
35
|
+
});
|
|
36
|
+
if (skip === "no") {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
while (applicationUrl == null || !/^https?:\/\//.test(applicationUrl)) {
|
|
41
|
+
if (applicationUrl != null) {
|
|
42
|
+
consola.fail("Please enter a valid application URL");
|
|
43
|
+
}
|
|
44
|
+
applicationUrl = await consola.prompt(`Enter the URL your production application will be hosted on:\n${italic("(Example: https://myapp.example.palantirfoundry.com)")}`, {
|
|
45
|
+
type: "text"
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return applicationUrl.replace(/\/$/, "");
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=promptApplicationUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptApplicationUrl.js","names":["consola","italic","promptApplicationUrl","skipApplicationUrl","applicationUrl","undefined","skip","prompt","type","options","label","value","test","fail","replace"],"sources":["promptApplicationUrl.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptApplicationUrl({ skipApplicationUrl, applicationUrl }) {\n if (skipApplicationUrl) {\n return undefined;\n }\n if (applicationUrl == null) {\n const skip = (await consola.prompt(`Do you know the URL your production application will be hosted on? This is required to create a production build of your application with the correct OAuth redirect URL.`, {\n type: \"select\",\n options: [\n { label: \"Yes, let me fill it here\", value: \"yes\" },\n {\n label: \"No, I will fill it in later following the instructions in the generated README\",\n value: \"no\",\n },\n ],\n }));\n if (skip === \"no\") {\n return undefined;\n }\n }\n while (applicationUrl == null || !/^https?:\\/\\//.test(applicationUrl)) {\n if (applicationUrl != null) {\n consola.fail(\"Please enter a valid application URL\");\n }\n applicationUrl = await consola.prompt(`Enter the URL your production application will be hosted on:\\n${italic(\"(Example: https://myapp.example.palantirfoundry.com)\")}`, { type: \"text\" });\n }\n return applicationUrl.replace(/\\/$/, \"\");\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,eAAe;AACvC,SAASC,MAAM,QAAQ,iBAAiB;AACxC,OAAO,eAAeC,oBAAoBA,CAAC;EAAEC,kBAAkB;EAAEC;AAAe,CAAC,EAAE;EAC/E,IAAID,kBAAkB,EAAE;IACpB,OAAOE,SAAS;EACpB;EACA,IAAID,cAAc,IAAI,IAAI,EAAE;IACxB,MAAME,IAAI,GAAI,MAAMN,OAAO,CAACO,MAAM,CAAC,2KAA2K,EAAE;MAC5MC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,CACL;QAAEC,KAAK,EAAE,0BAA0B;QAAEC,KAAK,EAAE;MAAM,CAAC,EACnD;QACID,KAAK,EAAE,gFAAgF;QACvFC,KAAK,EAAE;MACX,CAAC;IAET,CAAC,CAAE;IACH,IAAIL,IAAI,KAAK,IAAI,EAAE;MACf,OAAOD,SAAS;IACpB;EACJ;EACA,OAAOD,cAAc,IAAI,IAAI,IAAI,CAAC,cAAc,CAACQ,IAAI,CAACR,cAAc,CAAC,EAAE;IACnE,IAAIA,cAAc,IAAI,IAAI,EAAE;MACxBJ,OAAO,CAACa,IAAI,CAAC,sCAAsC,CAAC;IACxD;IACAT,cAAc,GAAG,MAAMJ,OAAO,CAACO,MAAM,CAAC,iEAAiEN,MAAM,CAAC,sDAAsD,CAAC,EAAE,EAAE;MAAEO,IAAI,EAAE;IAAO,CAAC,CAAC;EAC9L;EACA,OAAOJ,cAAc,CAACU,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAC5C","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { afterEach, expect, test, vi } from "vitest";
|
|
17
|
+
import { consola } from "../consola.js";
|
|
18
|
+
import { promptApplicationUrl } from "./promptApplicationUrl.js";
|
|
19
|
+
vi.mock("../consola.js");
|
|
20
|
+
afterEach(() => {
|
|
21
|
+
vi.restoreAllMocks();
|
|
22
|
+
});
|
|
23
|
+
const valid = "https://app.com";
|
|
24
|
+
test("it accepts valid application url from prompt", async () => {
|
|
25
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("yes");
|
|
26
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid);
|
|
27
|
+
expect(await promptApplicationUrl({})).toEqual(valid);
|
|
28
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(2);
|
|
29
|
+
});
|
|
30
|
+
test("it prompts again if answered value is invalid", async () => {
|
|
31
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("yes");
|
|
32
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("invalid");
|
|
33
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("ftp://abc.com");
|
|
34
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid);
|
|
35
|
+
expect(await promptApplicationUrl({})).toEqual(valid);
|
|
36
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(4);
|
|
37
|
+
});
|
|
38
|
+
test("it accepts valid initial value without prompt", async () => {
|
|
39
|
+
expect(await promptApplicationUrl({
|
|
40
|
+
applicationUrl: valid
|
|
41
|
+
})).toEqual(valid);
|
|
42
|
+
expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();
|
|
43
|
+
});
|
|
44
|
+
test("it prompts if initial value is invalid", async () => {
|
|
45
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid);
|
|
46
|
+
expect(await promptApplicationUrl({
|
|
47
|
+
applicationUrl: "invalid"
|
|
48
|
+
})).toEqual(valid);
|
|
49
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
50
|
+
});
|
|
51
|
+
test("it strips trailing slash from url", async () => {
|
|
52
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("yes");
|
|
53
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid + "/");
|
|
54
|
+
expect(await promptApplicationUrl({})).toEqual(valid);
|
|
55
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(2);
|
|
56
|
+
});
|
|
57
|
+
test("it skips prompting application url if told to fill in later", async () => {
|
|
58
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("no");
|
|
59
|
+
expect(await promptApplicationUrl({})).toEqual(undefined);
|
|
60
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
61
|
+
});
|
|
62
|
+
test("it skips prompting completely if told to", async () => {
|
|
63
|
+
expect(await promptApplicationUrl({
|
|
64
|
+
skipApplicationUrl: true
|
|
65
|
+
})).toEqual(undefined);
|
|
66
|
+
expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=promptApplicationUrl.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptApplicationUrl.test.js","names":["afterEach","expect","test","vi","consola","promptApplicationUrl","mock","restoreAllMocks","valid","mocked","prompt","mockResolvedValueOnce","toEqual","toHaveBeenCalledTimes","applicationUrl","not","toHaveBeenCalled","undefined","skipApplicationUrl"],"sources":["promptApplicationUrl.test.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { afterEach, expect, test, vi } from \"vitest\";\nimport { consola } from \"../consola.js\";\nimport { promptApplicationUrl } from \"./promptApplicationUrl.js\";\nvi.mock(\"../consola.js\");\nafterEach(() => {\n vi.restoreAllMocks();\n});\nconst valid = \"https://app.com\";\ntest(\"it accepts valid application url from prompt\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"yes\");\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid);\n expect(await promptApplicationUrl({})).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(2);\n});\ntest(\"it prompts again if answered value is invalid\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"yes\");\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"invalid\");\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"ftp://abc.com\");\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid);\n expect(await promptApplicationUrl({})).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(4);\n});\ntest(\"it accepts valid initial value without prompt\", async () => {\n expect(await promptApplicationUrl({ applicationUrl: valid })).toEqual(valid);\n expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();\n});\ntest(\"it prompts if initial value is invalid\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid);\n expect(await promptApplicationUrl({ applicationUrl: \"invalid\" })).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\ntest(\"it strips trailing slash from url\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"yes\");\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid + \"/\");\n expect(await promptApplicationUrl({})).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(2);\n});\ntest(\"it skips prompting application url if told to fill in later\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"no\");\n expect(await promptApplicationUrl({})).toEqual(undefined);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\ntest(\"it skips prompting completely if told to\", async () => {\n expect(await promptApplicationUrl({ skipApplicationUrl: true })).toEqual(undefined);\n expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { consola } from "../consola.js";
|
|
17
|
+
import { italic } from "../highlight.js";
|
|
18
|
+
export async function promptClientId({
|
|
19
|
+
clientId
|
|
20
|
+
}) {
|
|
21
|
+
while (clientId == null || !/^[0-9a-f]+$/.test(clientId)) {
|
|
22
|
+
if (clientId != null) {
|
|
23
|
+
consola.fail("Please enter a valid OAuth client ID");
|
|
24
|
+
}
|
|
25
|
+
clientId = await consola.prompt(`Enter the OAuth client ID for your application from Developer Console:\n${italic("(Example: 2650385ab6c5e0df3b44aff776b00a42)")}`, {
|
|
26
|
+
type: "text"
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return clientId;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=promptClientId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptClientId.js","names":["consola","italic","promptClientId","clientId","test","fail","prompt","type"],"sources":["promptClientId.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptClientId({ clientId }) {\n while (clientId == null || !/^[0-9a-f]+$/.test(clientId)) {\n if (clientId != null) {\n consola.fail(\"Please enter a valid OAuth client ID\");\n }\n clientId = await consola.prompt(`Enter the OAuth client ID for your application from Developer Console:\\n${italic(\"(Example: 2650385ab6c5e0df3b44aff776b00a42)\")}`, { type: \"text\" });\n }\n return clientId;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,eAAe;AACvC,SAASC,MAAM,QAAQ,iBAAiB;AACxC,OAAO,eAAeC,cAAcA,CAAC;EAAEC;AAAS,CAAC,EAAE;EAC/C,OAAOA,QAAQ,IAAI,IAAI,IAAI,CAAC,aAAa,CAACC,IAAI,CAACD,QAAQ,CAAC,EAAE;IACtD,IAAIA,QAAQ,IAAI,IAAI,EAAE;MAClBH,OAAO,CAACK,IAAI,CAAC,sCAAsC,CAAC;IACxD;IACAF,QAAQ,GAAG,MAAMH,OAAO,CAACM,MAAM,CAAC,2EAA2EL,MAAM,CAAC,6CAA6C,CAAC,EAAE,EAAE;MAAEM,IAAI,EAAE;IAAO,CAAC,CAAC;EACzL;EACA,OAAOJ,QAAQ;AACnB","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { afterEach, expect, test, vi } from "vitest";
|
|
17
|
+
import { consola } from "../consola.js";
|
|
18
|
+
import { promptClientId } from "./promptClientId.js";
|
|
19
|
+
vi.mock("../consola.js");
|
|
20
|
+
afterEach(() => {
|
|
21
|
+
vi.restoreAllMocks();
|
|
22
|
+
});
|
|
23
|
+
test("it accepts valid client id from prompt", async () => {
|
|
24
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("123abc");
|
|
25
|
+
expect(await promptClientId({})).toEqual("123abc");
|
|
26
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
27
|
+
});
|
|
28
|
+
test("it prompts again if answered value is invalid", async () => {
|
|
29
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("***invalid***");
|
|
30
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("123abc");
|
|
31
|
+
expect(await promptClientId({})).toEqual("123abc");
|
|
32
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(2);
|
|
33
|
+
});
|
|
34
|
+
test("it accepts valid initial value without prompt", async () => {
|
|
35
|
+
expect(await promptClientId({
|
|
36
|
+
clientId: "123abc"
|
|
37
|
+
})).toEqual("123abc");
|
|
38
|
+
expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();
|
|
39
|
+
});
|
|
40
|
+
test("it prompts if initial value is invalid", async () => {
|
|
41
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("123abc");
|
|
42
|
+
expect(await promptClientId({
|
|
43
|
+
clientId: "***invalid***"
|
|
44
|
+
})).toEqual("123abc");
|
|
45
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=promptClientId.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptClientId.test.js","names":["afterEach","expect","test","vi","consola","promptClientId","mock","restoreAllMocks","mocked","prompt","mockResolvedValueOnce","toEqual","toHaveBeenCalledTimes","clientId","not","toHaveBeenCalled"],"sources":["promptClientId.test.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { afterEach, expect, test, vi } from \"vitest\";\nimport { consola } from \"../consola.js\";\nimport { promptClientId } from \"./promptClientId.js\";\nvi.mock(\"../consola.js\");\nafterEach(() => {\n vi.restoreAllMocks();\n});\ntest(\"it accepts valid client id from prompt\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"123abc\");\n expect(await promptClientId({})).toEqual(\"123abc\");\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\ntest(\"it prompts again if answered value is invalid\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"***invalid***\");\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"123abc\");\n expect(await promptClientId({})).toEqual(\"123abc\");\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(2);\n});\ntest(\"it accepts valid initial value without prompt\", async () => {\n expect(await promptClientId({ clientId: \"123abc\" })).toEqual(\"123abc\");\n expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();\n});\ntest(\"it prompts if initial value is invalid\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"123abc\");\n expect(await promptClientId({ clientId: \"***invalid***\" })).toEqual(\"123abc\");\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,MAAM,EAAEC,IAAI,EAAEC,EAAE,QAAQ,QAAQ;AACpD,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,cAAc,QAAQ,qBAAqB;AACpDF,EAAE,CAACG,IAAI,CAAC,eAAe,CAAC;AACxBN,SAAS,CAAC,MAAM;EACZG,EAAE,CAACI,eAAe,CAAC,CAAC;AACxB,CAAC,CAAC;AACFL,IAAI,CAAC,wCAAwC,EAAE,YAAY;EACvDC,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAACC,qBAAqB,CAAC,QAAQ,CAAC;EACzDT,MAAM,CAAC,MAAMI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAACM,OAAO,CAAC,QAAQ,CAAC;EAClDV,MAAM,CAACE,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACG,qBAAqB,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AACFV,IAAI,CAAC,+CAA+C,EAAE,YAAY;EAC9DC,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAACC,qBAAqB,CAAC,eAAe,CAAC;EAChEP,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAACC,qBAAqB,CAAC,QAAQ,CAAC;EACzDT,MAAM,CAAC,MAAMI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAACM,OAAO,CAAC,QAAQ,CAAC;EAClDV,MAAM,CAACE,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACG,qBAAqB,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AACFV,IAAI,CAAC,+CAA+C,EAAE,YAAY;EAC9DD,MAAM,CAAC,MAAMI,cAAc,CAAC;IAAEQ,QAAQ,EAAE;EAAS,CAAC,CAAC,CAAC,CAACF,OAAO,CAAC,QAAQ,CAAC;EACtEV,MAAM,CAACE,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACK,GAAG,CAACC,gBAAgB,CAAC,CAAC;AAC5D,CAAC,CAAC;AACFb,IAAI,CAAC,wCAAwC,EAAE,YAAY;EACvDC,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAACC,qBAAqB,CAAC,QAAQ,CAAC;EACzDT,MAAM,CAAC,MAAMI,cAAc,CAAC;IAAEQ,QAAQ,EAAE;EAAgB,CAAC,CAAC,CAAC,CAACF,OAAO,CAAC,QAAQ,CAAC;EAC7EV,MAAM,CAACE,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACG,qBAAqB,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { consola } from "../consola.js";
|
|
17
|
+
import { italic } from "../highlight.js";
|
|
18
|
+
export async function promptCorsProxy({
|
|
19
|
+
corsProxy
|
|
20
|
+
}) {
|
|
21
|
+
if (corsProxy != null) {
|
|
22
|
+
return corsProxy;
|
|
23
|
+
}
|
|
24
|
+
return consola.prompt(`Include a CORS proxy for Foundry API requests during local development?\n${italic("This is required if your enrollment has not allowed localhost for CORS.")}`, {
|
|
25
|
+
type: "confirm",
|
|
26
|
+
initial: false
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=promptCorsProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptCorsProxy.js","names":["consola","italic","promptCorsProxy","corsProxy","prompt","type","initial"],"sources":["promptCorsProxy.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptCorsProxy({ corsProxy }) {\n if (corsProxy != null) {\n return corsProxy;\n }\n return consola.prompt(`Include a CORS proxy for Foundry API requests during local development?\\n${italic(\"This is required if your enrollment has not allowed localhost for CORS.\")}`, { type: \"confirm\", initial: false });\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,eAAe;AACvC,SAASC,MAAM,QAAQ,iBAAiB;AACxC,OAAO,eAAeC,eAAeA,CAAC;EAAEC;AAAU,CAAC,EAAE;EACjD,IAAIA,SAAS,IAAI,IAAI,EAAE;IACnB,OAAOA,SAAS;EACpB;EACA,OAAOH,OAAO,CAACI,MAAM,CAAC,4EAA4EH,MAAM,CAAC,yEAAyE,CAAC,EAAE,EAAE;IAAEI,IAAI,EAAE,SAAS;IAAEC,OAAO,EAAE;EAAM,CAAC,CAAC;AAC/N","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { afterEach, expect, test, vi } from "vitest";
|
|
17
|
+
import { consola } from "../consola.js";
|
|
18
|
+
import { promptCorsProxy } from "./promptCorsProxy.js";
|
|
19
|
+
vi.mock("../consola.js");
|
|
20
|
+
vi.mock("node:fs");
|
|
21
|
+
afterEach(() => {
|
|
22
|
+
vi.restoreAllMocks();
|
|
23
|
+
});
|
|
24
|
+
test("it accepts 'corsProxy' true from prompt", async () => {
|
|
25
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(true);
|
|
26
|
+
expect(await promptCorsProxy({})).toBe(true);
|
|
27
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
28
|
+
});
|
|
29
|
+
test("it accepts 'corsProxy' false from prompt", async () => {
|
|
30
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(false);
|
|
31
|
+
expect(await promptCorsProxy({})).toBe(false);
|
|
32
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
33
|
+
});
|
|
34
|
+
test("it accepts initial value without prompt", async () => {
|
|
35
|
+
expect(await promptCorsProxy({
|
|
36
|
+
corsProxy: true
|
|
37
|
+
})).toBe(true);
|
|
38
|
+
expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();
|
|
39
|
+
expect(await promptCorsProxy({
|
|
40
|
+
corsProxy: false
|
|
41
|
+
})).toBe(false);
|
|
42
|
+
expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=promptCorsProxy.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptCorsProxy.test.js","names":["afterEach","expect","test","vi","consola","promptCorsProxy","mock","restoreAllMocks","mocked","prompt","mockResolvedValueOnce","toBe","toHaveBeenCalledTimes","corsProxy","not","toHaveBeenCalled"],"sources":["promptCorsProxy.test.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { afterEach, expect, test, vi } from \"vitest\";\nimport { consola } from \"../consola.js\";\nimport { promptCorsProxy } from \"./promptCorsProxy.js\";\nvi.mock(\"../consola.js\");\nvi.mock(\"node:fs\");\nafterEach(() => {\n vi.restoreAllMocks();\n});\ntest(\"it accepts 'corsProxy' true from prompt\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(true);\n expect(await promptCorsProxy({})).toBe(true);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\ntest(\"it accepts 'corsProxy' false from prompt\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(false);\n expect(await promptCorsProxy({})).toBe(false);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\ntest(\"it accepts initial value without prompt\", async () => {\n expect(await promptCorsProxy({ corsProxy: true })).toBe(true);\n expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();\n expect(await promptCorsProxy({ corsProxy: false })).toBe(false);\n expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,MAAM,EAAEC,IAAI,EAAEC,EAAE,QAAQ,QAAQ;AACpD,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,eAAe,QAAQ,sBAAsB;AACtDF,EAAE,CAACG,IAAI,CAAC,eAAe,CAAC;AACxBH,EAAE,CAACG,IAAI,CAAC,SAAS,CAAC;AAClBN,SAAS,CAAC,MAAM;EACZG,EAAE,CAACI,eAAe,CAAC,CAAC;AACxB,CAAC,CAAC;AACFL,IAAI,CAAC,yCAAyC,EAAE,YAAY;EACxDC,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAACC,qBAAqB,CAAC,IAAI,CAAC;EACrDT,MAAM,CAAC,MAAMI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAACM,IAAI,CAAC,IAAI,CAAC;EAC5CV,MAAM,CAACE,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACG,qBAAqB,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AACFV,IAAI,CAAC,0CAA0C,EAAE,YAAY;EACzDC,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAACC,qBAAqB,CAAC,KAAK,CAAC;EACtDT,MAAM,CAAC,MAAMI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAACM,IAAI,CAAC,KAAK,CAAC;EAC7CV,MAAM,CAACE,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACG,qBAAqB,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AACFV,IAAI,CAAC,yCAAyC,EAAE,YAAY;EACxDD,MAAM,CAAC,MAAMI,eAAe,CAAC;IAAEQ,SAAS,EAAE;EAAK,CAAC,CAAC,CAAC,CAACF,IAAI,CAAC,IAAI,CAAC;EAC7DV,MAAM,CAACE,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACK,GAAG,CAACC,gBAAgB,CAAC,CAAC;EACxDd,MAAM,CAAC,MAAMI,eAAe,CAAC;IAAEQ,SAAS,EAAE;EAAM,CAAC,CAAC,CAAC,CAACF,IAAI,CAAC,KAAK,CAAC;EAC/DV,MAAM,CAACE,EAAE,CAACK,MAAM,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACK,GAAG,CAACC,gBAAgB,CAAC,CAAC;AAC5D,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { consola } from "../consola.js";
|
|
17
|
+
import { italic } from "../highlight.js";
|
|
18
|
+
export async function promptFoundryUrl({
|
|
19
|
+
foundryUrl
|
|
20
|
+
}) {
|
|
21
|
+
while (foundryUrl == null || !foundryUrl.startsWith("https://")) {
|
|
22
|
+
if (foundryUrl != null) {
|
|
23
|
+
consola.fail("Please enter a valid Foundry URL");
|
|
24
|
+
}
|
|
25
|
+
foundryUrl = await consola.prompt(`Enter the URL for your Foundry stack:\n${italic("(Example: https://example.palantirfoundry.com)")}`, {
|
|
26
|
+
type: "text"
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return foundryUrl.replace(/\/$/, "");
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=promptFoundryUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptFoundryUrl.js","names":["consola","italic","promptFoundryUrl","foundryUrl","startsWith","fail","prompt","type","replace"],"sources":["promptFoundryUrl.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptFoundryUrl({ foundryUrl }) {\n while (foundryUrl == null || !foundryUrl.startsWith(\"https://\")) {\n if (foundryUrl != null) {\n consola.fail(\"Please enter a valid Foundry URL\");\n }\n foundryUrl = await consola.prompt(`Enter the URL for your Foundry stack:\\n${italic(\"(Example: https://example.palantirfoundry.com)\")}`, { type: \"text\" });\n }\n return foundryUrl.replace(/\\/$/, \"\");\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,eAAe;AACvC,SAASC,MAAM,QAAQ,iBAAiB;AACxC,OAAO,eAAeC,gBAAgBA,CAAC;EAAEC;AAAW,CAAC,EAAE;EACnD,OAAOA,UAAU,IAAI,IAAI,IAAI,CAACA,UAAU,CAACC,UAAU,CAAC,UAAU,CAAC,EAAE;IAC7D,IAAID,UAAU,IAAI,IAAI,EAAE;MACpBH,OAAO,CAACK,IAAI,CAAC,kCAAkC,CAAC;IACpD;IACAF,UAAU,GAAG,MAAMH,OAAO,CAACM,MAAM,CAAC,0CAA0CL,MAAM,CAAC,gDAAgD,CAAC,EAAE,EAAE;MAAEM,IAAI,EAAE;IAAO,CAAC,CAAC;EAC7J;EACA,OAAOJ,UAAU,CAACK,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACxC","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { afterEach, expect, test, vi } from "vitest";
|
|
17
|
+
import { consola } from "../consola.js";
|
|
18
|
+
import { promptFoundryUrl } from "./promptFoundryUrl.js";
|
|
19
|
+
vi.mock("../consola.js");
|
|
20
|
+
afterEach(() => {
|
|
21
|
+
vi.restoreAllMocks();
|
|
22
|
+
});
|
|
23
|
+
const valid = "https://example.palantirfoundry.com";
|
|
24
|
+
test("it accepts valid foundry url from prompt", async () => {
|
|
25
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid);
|
|
26
|
+
expect(await promptFoundryUrl({})).toEqual(valid);
|
|
27
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
28
|
+
});
|
|
29
|
+
test("it prompts again if answered value is invalid", async () => {
|
|
30
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("invalid");
|
|
31
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("ftp://abc.com");
|
|
32
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("http://abc.com");
|
|
33
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid);
|
|
34
|
+
expect(await promptFoundryUrl({})).toEqual(valid);
|
|
35
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(4);
|
|
36
|
+
});
|
|
37
|
+
test("it accepts valid initial value without prompt", async () => {
|
|
38
|
+
expect(await promptFoundryUrl({
|
|
39
|
+
foundryUrl: valid
|
|
40
|
+
})).toEqual(valid);
|
|
41
|
+
expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();
|
|
42
|
+
});
|
|
43
|
+
test("it prompts if initial value is invalid", async () => {
|
|
44
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid);
|
|
45
|
+
expect(await promptFoundryUrl({
|
|
46
|
+
foundryUrl: "invalid"
|
|
47
|
+
})).toEqual(valid);
|
|
48
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
49
|
+
});
|
|
50
|
+
test("it strips trailing slash from url", async () => {
|
|
51
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce(valid + "/");
|
|
52
|
+
expect(await promptFoundryUrl({})).toEqual(valid);
|
|
53
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=promptFoundryUrl.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptFoundryUrl.test.js","names":["afterEach","expect","test","vi","consola","promptFoundryUrl","mock","restoreAllMocks","valid","mocked","prompt","mockResolvedValueOnce","toEqual","toHaveBeenCalledTimes","foundryUrl","not","toHaveBeenCalled"],"sources":["promptFoundryUrl.test.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { afterEach, expect, test, vi } from \"vitest\";\nimport { consola } from \"../consola.js\";\nimport { promptFoundryUrl } from \"./promptFoundryUrl.js\";\nvi.mock(\"../consola.js\");\nafterEach(() => {\n vi.restoreAllMocks();\n});\nconst valid = \"https://example.palantirfoundry.com\";\ntest(\"it accepts valid foundry url from prompt\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid);\n expect(await promptFoundryUrl({})).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\ntest(\"it prompts again if answered value is invalid\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"invalid\");\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"ftp://abc.com\");\n vi.mocked(consola).prompt.mockResolvedValueOnce(\"http://abc.com\");\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid);\n expect(await promptFoundryUrl({})).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(4);\n});\ntest(\"it accepts valid initial value without prompt\", async () => {\n expect(await promptFoundryUrl({ foundryUrl: valid })).toEqual(valid);\n expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();\n});\ntest(\"it prompts if initial value is invalid\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid);\n expect(await promptFoundryUrl({ foundryUrl: \"invalid\" })).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\ntest(\"it strips trailing slash from url\", async () => {\n vi.mocked(consola).prompt.mockResolvedValueOnce(valid + \"/\");\n expect(await promptFoundryUrl({})).toEqual(valid);\n expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { consola } from "../consola.js";
|
|
17
|
+
import { italic } from "../highlight.js";
|
|
18
|
+
export async function promptOsdkPackage({
|
|
19
|
+
osdkPackage
|
|
20
|
+
}) {
|
|
21
|
+
while (osdkPackage == null || !/^@[a-z0-9-]+\/sdk$/.test(osdkPackage)) {
|
|
22
|
+
if (osdkPackage != null) {
|
|
23
|
+
consola.fail("Please enter a valid OSDK package name");
|
|
24
|
+
}
|
|
25
|
+
osdkPackage = await consola.prompt(`Enter the OSDK package name for your application from Developer Console:\n${italic("(Example: @my-app/sdk)")}`, {
|
|
26
|
+
type: "text"
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return osdkPackage;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=promptOsdkPackage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptOsdkPackage.js","names":["consola","italic","promptOsdkPackage","osdkPackage","test","fail","prompt","type"],"sources":["promptOsdkPackage.js"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptOsdkPackage({ osdkPackage }) {\n while (osdkPackage == null || !/^@[a-z0-9-]+\\/sdk$/.test(osdkPackage)) {\n if (osdkPackage != null) {\n consola.fail(\"Please enter a valid OSDK package name\");\n }\n osdkPackage = await consola.prompt(`Enter the OSDK package name for your application from Developer Console:\\n${italic(\"(Example: @my-app/sdk)\")}`, { type: \"text\" });\n }\n return osdkPackage;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,eAAe;AACvC,SAASC,MAAM,QAAQ,iBAAiB;AACxC,OAAO,eAAeC,iBAAiBA,CAAC;EAAEC;AAAY,CAAC,EAAE;EACrD,OAAOA,WAAW,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAACC,IAAI,CAACD,WAAW,CAAC,EAAE;IACnE,IAAIA,WAAW,IAAI,IAAI,EAAE;MACrBH,OAAO,CAACK,IAAI,CAAC,wCAAwC,CAAC;IAC1D;IACAF,WAAW,GAAG,MAAMH,OAAO,CAACM,MAAM,CAAC,6EAA6EL,MAAM,CAAC,wBAAwB,CAAC,EAAE,EAAE;MAAEM,IAAI,EAAE;IAAO,CAAC,CAAC;EACzK;EACA,OAAOJ,WAAW;AACtB","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { afterEach, expect, test, vi } from "vitest";
|
|
17
|
+
import { consola } from "../consola.js";
|
|
18
|
+
import { promptOsdkPackage } from "./promptOsdkPackage.js";
|
|
19
|
+
vi.mock("../consola.js");
|
|
20
|
+
afterEach(() => {
|
|
21
|
+
vi.restoreAllMocks();
|
|
22
|
+
});
|
|
23
|
+
test("it accepts valid osdk package from prompt", async () => {
|
|
24
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("@myapp/sdk");
|
|
25
|
+
expect(await promptOsdkPackage({})).toEqual("@myapp/sdk");
|
|
26
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
27
|
+
});
|
|
28
|
+
test("it prompts again if answered value is invalid", async () => {
|
|
29
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("some-package");
|
|
30
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("@some/package");
|
|
31
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("@myapp/sdk");
|
|
32
|
+
expect(await promptOsdkPackage({})).toEqual("@myapp/sdk");
|
|
33
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(3);
|
|
34
|
+
});
|
|
35
|
+
test("it accepts valid initial value without prompt", async () => {
|
|
36
|
+
expect(await promptOsdkPackage({
|
|
37
|
+
osdkPackage: "@myapp/sdk"
|
|
38
|
+
})).toEqual("@myapp/sdk");
|
|
39
|
+
expect(vi.mocked(consola).prompt).not.toHaveBeenCalled();
|
|
40
|
+
});
|
|
41
|
+
test("it prompts if initial value is invalid", async () => {
|
|
42
|
+
vi.mocked(consola).prompt.mockResolvedValueOnce("@myapp/sdk");
|
|
43
|
+
expect(await promptOsdkPackage({
|
|
44
|
+
osdkPackage: "some-package"
|
|
45
|
+
})).toEqual("@myapp/sdk");
|
|
46
|
+
expect(vi.mocked(consola).prompt).toHaveBeenCalledTimes(1);
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=promptOsdkPackage.test.js.map
|