-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathplayground.ts
56 lines (55 loc) · 1.68 KB
/
playground.ts
1
2
3
4
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import type { AllLanguage } from './cli/utils.js';
import { createClientName, run, runComposerInstall } from './common.js';
export async function playground({ language, client }: { language: AllLanguage; client: string }): Promise<void> {
switch (language) {
case 'go':
await run(`go run . --client ${client}`, { cwd: 'playground/go', language });
break;
case 'dart':
await run(`dart pub get && dart run lib/${client}.dart`, {
cwd: 'playground/dart',
language,
});
break;
case 'javascript':
await run(`yarn workspace javascript-playground start ${client}`, { language });
break;
case 'java':
await run(
`./gradle/gradlew -p playground/java -PmainClass=com.algolia.playground.${createClientName(
client,
'java',
)} run`,
{ language },
);
break;
case 'kotlin':
await run(`./gradle/gradlew -p playground/kotlin run -Pclient=${createClientName(client, 'kotlin')}`, {
language,
});
break;
case 'php':
await runComposerInstall();
await run(`php ${client}.php`, { cwd: 'playground/php/src', language });
break;
case 'python':
await run(`poetry lock && poetry sync && poetry run ${client}`, {
cwd: 'playground/python',
language,
});
break;
case 'ruby':
await run(`bundle install && bundle exec ruby ${client}.rb`, {
cwd: 'playground/ruby',
language,
});
break;
case 'csharp':
await run(`dotnet run --property WarningLevel=0 --project Playground ${client}`, {
cwd: 'playground/csharp',
language,
});
break;
default:
}
}