@posthog/wizard 1.31.1 → 1.32.0
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/README.md +2 -1
- package/dist/bin.js +14 -1
- package/dist/bin.js.map +1 -1
- package/dist/src/__tests__/run.test.js +5 -5
- package/dist/src/__tests__/run.test.js.map +1 -1
- package/dist/src/android/android-wizard-agent.d.ts +6 -0
- package/dist/src/android/android-wizard-agent.js +140 -0
- package/dist/src/android/android-wizard-agent.js.map +1 -0
- package/dist/src/android/utils.d.ts +11 -0
- package/dist/src/android/utils.js +97 -0
- package/dist/src/android/utils.js.map +1 -0
- package/dist/src/angular/angular-wizard-agent.d.ts +4 -0
- package/dist/src/angular/angular-wizard-agent.js +67 -0
- package/dist/src/angular/angular-wizard-agent.js.map +1 -0
- package/dist/src/angular/utils.d.ts +4 -0
- package/dist/src/angular/utils.js +9 -0
- package/dist/src/angular/utils.js.map +1 -0
- package/dist/src/astro/astro-wizard-agent.d.ts +7 -0
- package/dist/src/astro/astro-wizard-agent.js +102 -0
- package/dist/src/astro/astro-wizard-agent.js.map +1 -0
- package/dist/src/astro/utils.d.ts +17 -0
- package/dist/src/astro/utils.js +163 -0
- package/dist/src/astro/utils.js.map +1 -0
- package/dist/src/django/django-wizard-agent.d.ts +8 -5
- package/dist/src/django/django-wizard-agent.js +62 -51
- package/dist/src/django/django-wizard-agent.js.map +1 -1
- package/dist/src/django/utils.d.ts +1 -1
- package/dist/src/django/utils.js +3 -22
- package/dist/src/django/utils.js.map +1 -1
- package/dist/src/fastapi/fastapi-wizard-agent.d.ts +7 -0
- package/dist/src/fastapi/fastapi-wizard-agent.js +217 -0
- package/dist/src/fastapi/fastapi-wizard-agent.js.map +1 -0
- package/dist/src/fastapi/utils.d.ts +26 -0
- package/dist/src/fastapi/utils.js +258 -0
- package/dist/src/fastapi/utils.js.map +1 -0
- package/dist/src/flask/flask-wizard-agent.d.ts +8 -5
- package/dist/src/flask/flask-wizard-agent.js +67 -51
- package/dist/src/flask/flask-wizard-agent.js.map +1 -1
- package/dist/src/flask/utils.d.ts +1 -1
- package/dist/src/flask/utils.js +3 -22
- package/dist/src/flask/utils.js.map +1 -1
- package/dist/src/laravel/laravel-wizard-agent.d.ts +10 -5
- package/dist/src/laravel/laravel-wizard-agent.js +50 -53
- package/dist/src/laravel/laravel-wizard-agent.js.map +1 -1
- package/dist/src/laravel/utils.d.ts +1 -1
- package/dist/src/laravel/utils.js +3 -22
- package/dist/src/laravel/utils.js.map +1 -1
- package/dist/src/lib/__tests__/agent-interface.test.js +1 -0
- package/dist/src/lib/__tests__/agent-interface.test.js.map +1 -1
- package/dist/src/lib/agent-interface.d.ts +4 -1
- package/dist/src/lib/agent-interface.js +36 -3
- package/dist/src/lib/agent-interface.js.map +1 -1
- package/dist/src/lib/agent-runner.js +69 -6
- package/dist/src/lib/agent-runner.js.map +1 -1
- package/dist/src/lib/api.d.ts +4 -4
- package/dist/src/lib/constants.d.ts +15 -14
- package/dist/src/lib/constants.js +17 -40
- package/dist/src/lib/constants.js.map +1 -1
- package/dist/src/lib/env-file-tools.d.ts +11 -0
- package/dist/src/lib/env-file-tools.js +154 -0
- package/dist/src/lib/env-file-tools.js.map +1 -0
- package/dist/src/lib/framework-config.d.ts +34 -16
- package/dist/src/lib/framework-config.js.map +1 -1
- package/dist/src/lib/registry.d.ts +3 -0
- package/dist/src/lib/registry.js +41 -0
- package/dist/src/lib/registry.js.map +1 -0
- package/dist/src/nextjs/nextjs-wizard-agent.d.ts +7 -5
- package/dist/src/nextjs/nextjs-wizard-agent.js +16 -79
- package/dist/src/nextjs/nextjs-wizard-agent.js.map +1 -1
- package/dist/src/nextjs/utils.d.ts +1 -1
- package/dist/src/nextjs/utils.js +3 -22
- package/dist/src/nextjs/utils.js.map +1 -1
- package/dist/src/nuxt/nuxt-wizard-agent.d.ts +6 -0
- package/dist/src/nuxt/nuxt-wizard-agent.js +77 -0
- package/dist/src/nuxt/nuxt-wizard-agent.js.map +1 -0
- package/dist/src/python/python-wizard-agent.d.ts +7 -0
- package/dist/src/python/python-wizard-agent.js +269 -0
- package/dist/src/python/python-wizard-agent.js.map +1 -0
- package/dist/src/python/utils.d.ts +28 -0
- package/dist/src/python/utils.js +147 -0
- package/dist/src/python/utils.js.map +1 -0
- package/dist/src/react-native/react-native-wizard-agent.d.ts +7 -0
- package/dist/src/react-native/react-native-wizard-agent.js +91 -0
- package/dist/src/react-native/react-native-wizard-agent.js.map +1 -0
- package/dist/src/react-native/utils.d.ts +8 -0
- package/dist/src/react-native/utils.js +31 -0
- package/dist/src/react-native/utils.js.map +1 -0
- package/dist/src/react-router/react-router-wizard-agent.d.ts +7 -5
- package/dist/src/react-router/react-router-wizard-agent.js +18 -80
- package/dist/src/react-router/react-router-wizard-agent.js.map +1 -1
- package/dist/src/react-router/utils.d.ts +1 -1
- package/dist/src/react-router/utils.js +3 -21
- package/dist/src/react-router/utils.js.map +1 -1
- package/dist/src/run.d.ts +1 -0
- package/dist/src/run.js +28 -76
- package/dist/src/run.js.map +1 -1
- package/dist/src/steps/add-mcp-server-to-clients/clients/claude-code.d.ts +6 -6
- package/dist/src/steps/add-mcp-server-to-clients/clients/claude.d.ts +6 -6
- package/dist/src/steps/add-mcp-server-to-clients/clients/codex.d.ts +6 -6
- package/dist/src/steps/add-mcp-server-to-clients/clients/cursor.d.ts +6 -6
- package/dist/src/steps/add-mcp-server-to-clients/clients/visual-studio-code.d.ts +6 -6
- package/dist/src/steps/add-mcp-server-to-clients/clients/zed.d.ts +6 -6
- package/dist/src/steps/add-mcp-server-to-clients/defaults.d.ts +6 -6
- package/dist/src/svelte/svelte-wizard-agent.d.ts +4 -0
- package/dist/src/svelte/svelte-wizard-agent.js +60 -0
- package/dist/src/svelte/svelte-wizard-agent.js.map +1 -0
- package/dist/src/swift/swift-wizard-agent.d.ts +7 -0
- package/dist/src/swift/swift-wizard-agent.js +141 -0
- package/dist/src/swift/swift-wizard-agent.js.map +1 -0
- package/dist/src/swift/utils.d.ts +8 -0
- package/dist/src/swift/utils.js +105 -0
- package/dist/src/swift/utils.js.map +1 -0
- package/dist/src/tanstack-router/tanstack-router-wizard-agent.d.ts +7 -0
- package/dist/src/tanstack-router/tanstack-router-wizard-agent.js +93 -0
- package/dist/src/tanstack-router/tanstack-router-wizard-agent.js.map +1 -0
- package/dist/src/tanstack-router/utils.d.ts +17 -0
- package/dist/src/tanstack-router/utils.js +192 -0
- package/dist/src/tanstack-router/utils.js.map +1 -0
- package/dist/src/tanstack-start/tanstack-start-wizard-agent.d.ts +4 -0
- package/dist/src/tanstack-start/tanstack-start-wizard-agent.js +66 -0
- package/dist/src/tanstack-start/tanstack-start-wizard-agent.js.map +1 -0
- package/dist/src/tanstack-start/utils.d.ts +4 -0
- package/dist/src/tanstack-start/utils.js +9 -0
- package/dist/src/tanstack-start/utils.js.map +1 -0
- package/dist/src/utils/__tests__/semver.test.d.ts +1 -0
- package/dist/src/utils/__tests__/semver.test.js +117 -0
- package/dist/src/utils/__tests__/semver.test.js.map +1 -0
- package/dist/src/utils/clack-utils.js +3 -5
- package/dist/src/utils/clack-utils.js.map +1 -1
- package/dist/src/utils/debug.d.ts +2 -0
- package/dist/src/utils/debug.js +17 -5
- package/dist/src/utils/debug.js.map +1 -1
- package/dist/src/utils/file-utils.d.ts +1 -31
- package/dist/src/utils/file-utils.js +0 -163
- package/dist/src/utils/file-utils.js.map +1 -1
- package/dist/src/utils/semver.d.ts +16 -0
- package/dist/src/utils/semver.js +37 -0
- package/dist/src/utils/semver.js.map +1 -1
- package/dist/src/utils/types.d.ts +4 -0
- package/dist/src/utils/types.js.map +1 -1
- package/dist/src/vue/vue-wizard-agent.d.ts +4 -0
- package/dist/src/vue/vue-wizard-agent.js +64 -0
- package/dist/src/vue/vue-wizard-agent.js.map +1 -0
- package/package.json +1 -1
- package/dist/src/astro/astro-wizard.d.ts +0 -2
- package/dist/src/astro/astro-wizard.js +0 -89
- package/dist/src/astro/astro-wizard.js.map +0 -1
- package/dist/src/astro/docs.d.ts +0 -4
- package/dist/src/astro/docs.js +0 -101
- package/dist/src/astro/docs.js.map +0 -1
- package/dist/src/lib/config.d.ts +0 -104
- package/dist/src/lib/config.js +0 -368
- package/dist/src/lib/config.js.map +0 -1
- package/dist/src/lib/messages.d.ts +0 -16
- package/dist/src/lib/messages.js +0 -66
- package/dist/src/lib/messages.js.map +0 -1
- package/dist/src/lib/prompts.d.ts +0 -16
- package/dist/src/lib/prompts.js +0 -83
- package/dist/src/lib/prompts.js.map +0 -1
- package/dist/src/react/docs.d.ts +0 -4
- package/dist/src/react/docs.js +0 -49
- package/dist/src/react/docs.js.map +0 -1
- package/dist/src/react/react-wizard.d.ts +0 -2
- package/dist/src/react/react-wizard.js +0 -121
- package/dist/src/react/react-wizard.js.map +0 -1
- package/dist/src/react-native/docs.d.ts +0 -5
- package/dist/src/react-native/docs.js +0 -31
- package/dist/src/react-native/docs.js.map +0 -1
- package/dist/src/react-native/react-native-wizard.d.ts +0 -2
- package/dist/src/react-native/react-native-wizard.js +0 -128
- package/dist/src/react-native/react-native-wizard.js.map +0 -1
- package/dist/src/svelte/docs.d.ts +0 -3
- package/dist/src/svelte/docs.js +0 -111
- package/dist/src/svelte/docs.js.map +0 -1
- package/dist/src/svelte/svelte-wizard.d.ts +0 -2
- package/dist/src/svelte/svelte-wizard.js +0 -121
- package/dist/src/svelte/svelte-wizard.js.map +0 -1
- package/dist/src/utils/errors.d.ts +0 -3
- package/dist/src/utils/errors.js +0 -11
- package/dist/src/utils/errors.js.map +0 -1
- package/dist/src/utils/query.d.ts +0 -11
- package/dist/src/utils/query.js +0 -115
- package/dist/src/utils/query.js.map +0 -1
|
@@ -7,12 +7,12 @@ export declare const ClaudeMCPConfig: z.ZodObject<{
|
|
|
7
7
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
8
8
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
env?: Record<string, string> | undefined;
|
|
11
10
|
command?: string | undefined;
|
|
11
|
+
env?: Record<string, string> | undefined;
|
|
12
12
|
args?: string[] | undefined;
|
|
13
13
|
}, {
|
|
14
|
-
env?: Record<string, string> | undefined;
|
|
15
14
|
command?: string | undefined;
|
|
15
|
+
env?: Record<string, string> | undefined;
|
|
16
16
|
args?: string[] | undefined;
|
|
17
17
|
}>, z.ZodObject<{
|
|
18
18
|
url: z.ZodString;
|
|
@@ -30,12 +30,12 @@ export declare const ClaudeMCPConfig: z.ZodObject<{
|
|
|
30
30
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
31
31
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
32
32
|
}, "strip", z.ZodTypeAny, {
|
|
33
|
-
env?: Record<string, string> | undefined;
|
|
34
33
|
command?: string | undefined;
|
|
34
|
+
env?: Record<string, string> | undefined;
|
|
35
35
|
args?: string[] | undefined;
|
|
36
36
|
}, {
|
|
37
|
-
env?: Record<string, string> | undefined;
|
|
38
37
|
command?: string | undefined;
|
|
38
|
+
env?: Record<string, string> | undefined;
|
|
39
39
|
args?: string[] | undefined;
|
|
40
40
|
}>, z.ZodObject<{
|
|
41
41
|
url: z.ZodString;
|
|
@@ -53,12 +53,12 @@ export declare const ClaudeMCPConfig: z.ZodObject<{
|
|
|
53
53
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
54
54
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
55
55
|
}, "strip", z.ZodTypeAny, {
|
|
56
|
-
env?: Record<string, string> | undefined;
|
|
57
56
|
command?: string | undefined;
|
|
57
|
+
env?: Record<string, string> | undefined;
|
|
58
58
|
args?: string[] | undefined;
|
|
59
59
|
}, {
|
|
60
|
-
env?: Record<string, string> | undefined;
|
|
61
60
|
command?: string | undefined;
|
|
61
|
+
env?: Record<string, string> | undefined;
|
|
62
62
|
args?: string[] | undefined;
|
|
63
63
|
}>, z.ZodObject<{
|
|
64
64
|
url: z.ZodString;
|
|
@@ -8,12 +8,12 @@ export declare const CodexMCPConfig: z.ZodObject<{
|
|
|
8
8
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
9
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
10
10
|
}, "strip", z.ZodTypeAny, {
|
|
11
|
-
env?: Record<string, string> | undefined;
|
|
12
11
|
command?: string | undefined;
|
|
12
|
+
env?: Record<string, string> | undefined;
|
|
13
13
|
args?: string[] | undefined;
|
|
14
14
|
}, {
|
|
15
|
-
env?: Record<string, string> | undefined;
|
|
16
15
|
command?: string | undefined;
|
|
16
|
+
env?: Record<string, string> | undefined;
|
|
17
17
|
args?: string[] | undefined;
|
|
18
18
|
}>, z.ZodObject<{
|
|
19
19
|
url: z.ZodString;
|
|
@@ -31,12 +31,12 @@ export declare const CodexMCPConfig: z.ZodObject<{
|
|
|
31
31
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
32
32
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
33
33
|
}, "strip", z.ZodTypeAny, {
|
|
34
|
-
env?: Record<string, string> | undefined;
|
|
35
34
|
command?: string | undefined;
|
|
35
|
+
env?: Record<string, string> | undefined;
|
|
36
36
|
args?: string[] | undefined;
|
|
37
37
|
}, {
|
|
38
|
-
env?: Record<string, string> | undefined;
|
|
39
38
|
command?: string | undefined;
|
|
39
|
+
env?: Record<string, string> | undefined;
|
|
40
40
|
args?: string[] | undefined;
|
|
41
41
|
}>, z.ZodObject<{
|
|
42
42
|
url: z.ZodString;
|
|
@@ -54,12 +54,12 @@ export declare const CodexMCPConfig: z.ZodObject<{
|
|
|
54
54
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
55
55
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
56
56
|
}, "strip", z.ZodTypeAny, {
|
|
57
|
-
env?: Record<string, string> | undefined;
|
|
58
57
|
command?: string | undefined;
|
|
58
|
+
env?: Record<string, string> | undefined;
|
|
59
59
|
args?: string[] | undefined;
|
|
60
60
|
}, {
|
|
61
|
-
env?: Record<string, string> | undefined;
|
|
62
61
|
command?: string | undefined;
|
|
62
|
+
env?: Record<string, string> | undefined;
|
|
63
63
|
args?: string[] | undefined;
|
|
64
64
|
}>, z.ZodObject<{
|
|
65
65
|
url: z.ZodString;
|
|
@@ -8,12 +8,12 @@ export declare const CursorMCPConfig: z.ZodObject<{
|
|
|
8
8
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
9
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
10
10
|
}, "strip", z.ZodTypeAny, {
|
|
11
|
-
env?: Record<string, string> | undefined;
|
|
12
11
|
command?: string | undefined;
|
|
12
|
+
env?: Record<string, string> | undefined;
|
|
13
13
|
args?: string[] | undefined;
|
|
14
14
|
}, {
|
|
15
|
-
env?: Record<string, string> | undefined;
|
|
16
15
|
command?: string | undefined;
|
|
16
|
+
env?: Record<string, string> | undefined;
|
|
17
17
|
args?: string[] | undefined;
|
|
18
18
|
}>, z.ZodObject<{
|
|
19
19
|
url: z.ZodString;
|
|
@@ -31,12 +31,12 @@ export declare const CursorMCPConfig: z.ZodObject<{
|
|
|
31
31
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
32
32
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
33
33
|
}, "strip", z.ZodTypeAny, {
|
|
34
|
-
env?: Record<string, string> | undefined;
|
|
35
34
|
command?: string | undefined;
|
|
35
|
+
env?: Record<string, string> | undefined;
|
|
36
36
|
args?: string[] | undefined;
|
|
37
37
|
}, {
|
|
38
|
-
env?: Record<string, string> | undefined;
|
|
39
38
|
command?: string | undefined;
|
|
39
|
+
env?: Record<string, string> | undefined;
|
|
40
40
|
args?: string[] | undefined;
|
|
41
41
|
}>, z.ZodObject<{
|
|
42
42
|
url: z.ZodString;
|
|
@@ -54,12 +54,12 @@ export declare const CursorMCPConfig: z.ZodObject<{
|
|
|
54
54
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
55
55
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
56
56
|
}, "strip", z.ZodTypeAny, {
|
|
57
|
-
env?: Record<string, string> | undefined;
|
|
58
57
|
command?: string | undefined;
|
|
58
|
+
env?: Record<string, string> | undefined;
|
|
59
59
|
args?: string[] | undefined;
|
|
60
60
|
}, {
|
|
61
|
-
env?: Record<string, string> | undefined;
|
|
62
61
|
command?: string | undefined;
|
|
62
|
+
env?: Record<string, string> | undefined;
|
|
63
63
|
args?: string[] | undefined;
|
|
64
64
|
}>, z.ZodObject<{
|
|
65
65
|
url: z.ZodString;
|
|
@@ -7,12 +7,12 @@ export declare const VisualStudioCodeMCPConfig: z.ZodObject<{
|
|
|
7
7
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
8
8
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
env?: Record<string, string> | undefined;
|
|
11
10
|
command?: string | undefined;
|
|
11
|
+
env?: Record<string, string> | undefined;
|
|
12
12
|
args?: string[] | undefined;
|
|
13
13
|
}, {
|
|
14
|
-
env?: Record<string, string> | undefined;
|
|
15
14
|
command?: string | undefined;
|
|
15
|
+
env?: Record<string, string> | undefined;
|
|
16
16
|
args?: string[] | undefined;
|
|
17
17
|
}>, z.ZodObject<{
|
|
18
18
|
type: z.ZodEnum<["http", "sse"]>;
|
|
@@ -33,12 +33,12 @@ export declare const VisualStudioCodeMCPConfig: z.ZodObject<{
|
|
|
33
33
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
34
34
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
35
35
|
}, "strip", z.ZodTypeAny, {
|
|
36
|
-
env?: Record<string, string> | undefined;
|
|
37
36
|
command?: string | undefined;
|
|
37
|
+
env?: Record<string, string> | undefined;
|
|
38
38
|
args?: string[] | undefined;
|
|
39
39
|
}, {
|
|
40
|
-
env?: Record<string, string> | undefined;
|
|
41
40
|
command?: string | undefined;
|
|
41
|
+
env?: Record<string, string> | undefined;
|
|
42
42
|
args?: string[] | undefined;
|
|
43
43
|
}>, z.ZodObject<{
|
|
44
44
|
type: z.ZodEnum<["http", "sse"]>;
|
|
@@ -59,12 +59,12 @@ export declare const VisualStudioCodeMCPConfig: z.ZodObject<{
|
|
|
59
59
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
60
60
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
61
61
|
}, "strip", z.ZodTypeAny, {
|
|
62
|
-
env?: Record<string, string> | undefined;
|
|
63
62
|
command?: string | undefined;
|
|
63
|
+
env?: Record<string, string> | undefined;
|
|
64
64
|
args?: string[] | undefined;
|
|
65
65
|
}, {
|
|
66
|
-
env?: Record<string, string> | undefined;
|
|
67
66
|
command?: string | undefined;
|
|
67
|
+
env?: Record<string, string> | undefined;
|
|
68
68
|
args?: string[] | undefined;
|
|
69
69
|
}>, z.ZodObject<{
|
|
70
70
|
type: z.ZodEnum<["http", "sse"]>;
|
|
@@ -9,14 +9,14 @@ export declare const ZedMCPConfig: z.ZodObject<{
|
|
|
9
9
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
10
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
11
11
|
}, "strip", z.ZodTypeAny, {
|
|
12
|
-
env?: Record<string, string> | undefined;
|
|
13
12
|
command?: string | undefined;
|
|
13
|
+
env?: Record<string, string> | undefined;
|
|
14
14
|
args?: string[] | undefined;
|
|
15
15
|
enabled?: boolean | undefined;
|
|
16
16
|
source?: string | undefined;
|
|
17
17
|
}, {
|
|
18
|
-
env?: Record<string, string> | undefined;
|
|
19
18
|
command?: string | undefined;
|
|
19
|
+
env?: Record<string, string> | undefined;
|
|
20
20
|
args?: string[] | undefined;
|
|
21
21
|
enabled?: boolean | undefined;
|
|
22
22
|
source?: string | undefined;
|
|
@@ -41,14 +41,14 @@ export declare const ZedMCPConfig: z.ZodObject<{
|
|
|
41
41
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
42
42
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
43
43
|
}, "strip", z.ZodTypeAny, {
|
|
44
|
-
env?: Record<string, string> | undefined;
|
|
45
44
|
command?: string | undefined;
|
|
45
|
+
env?: Record<string, string> | undefined;
|
|
46
46
|
args?: string[] | undefined;
|
|
47
47
|
enabled?: boolean | undefined;
|
|
48
48
|
source?: string | undefined;
|
|
49
49
|
}, {
|
|
50
|
-
env?: Record<string, string> | undefined;
|
|
51
50
|
command?: string | undefined;
|
|
51
|
+
env?: Record<string, string> | undefined;
|
|
52
52
|
args?: string[] | undefined;
|
|
53
53
|
enabled?: boolean | undefined;
|
|
54
54
|
source?: string | undefined;
|
|
@@ -73,14 +73,14 @@ export declare const ZedMCPConfig: z.ZodObject<{
|
|
|
73
73
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
74
74
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
75
75
|
}, "strip", z.ZodTypeAny, {
|
|
76
|
-
env?: Record<string, string> | undefined;
|
|
77
76
|
command?: string | undefined;
|
|
77
|
+
env?: Record<string, string> | undefined;
|
|
78
78
|
args?: string[] | undefined;
|
|
79
79
|
enabled?: boolean | undefined;
|
|
80
80
|
source?: string | undefined;
|
|
81
81
|
}, {
|
|
82
|
-
env?: Record<string, string> | undefined;
|
|
83
82
|
command?: string | undefined;
|
|
83
|
+
env?: Record<string, string> | undefined;
|
|
84
84
|
args?: string[] | undefined;
|
|
85
85
|
enabled?: boolean | undefined;
|
|
86
86
|
source?: string | undefined;
|
|
@@ -6,12 +6,12 @@ export declare const DefaultMCPClientConfig: z.ZodObject<{
|
|
|
6
6
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
7
7
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
8
8
|
}, "strip", z.ZodTypeAny, {
|
|
9
|
-
env?: Record<string, string> | undefined;
|
|
10
9
|
command?: string | undefined;
|
|
10
|
+
env?: Record<string, string> | undefined;
|
|
11
11
|
args?: string[] | undefined;
|
|
12
12
|
}, {
|
|
13
|
-
env?: Record<string, string> | undefined;
|
|
14
13
|
command?: string | undefined;
|
|
14
|
+
env?: Record<string, string> | undefined;
|
|
15
15
|
args?: string[] | undefined;
|
|
16
16
|
}>, z.ZodObject<{
|
|
17
17
|
url: z.ZodString;
|
|
@@ -29,12 +29,12 @@ export declare const DefaultMCPClientConfig: z.ZodObject<{
|
|
|
29
29
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
30
30
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
31
31
|
}, "strip", z.ZodTypeAny, {
|
|
32
|
-
env?: Record<string, string> | undefined;
|
|
33
32
|
command?: string | undefined;
|
|
33
|
+
env?: Record<string, string> | undefined;
|
|
34
34
|
args?: string[] | undefined;
|
|
35
35
|
}, {
|
|
36
|
-
env?: Record<string, string> | undefined;
|
|
37
36
|
command?: string | undefined;
|
|
37
|
+
env?: Record<string, string> | undefined;
|
|
38
38
|
args?: string[] | undefined;
|
|
39
39
|
}>, z.ZodObject<{
|
|
40
40
|
url: z.ZodString;
|
|
@@ -52,12 +52,12 @@ export declare const DefaultMCPClientConfig: z.ZodObject<{
|
|
|
52
52
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
53
53
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
54
54
|
}, "strip", z.ZodTypeAny, {
|
|
55
|
-
env?: Record<string, string> | undefined;
|
|
56
55
|
command?: string | undefined;
|
|
56
|
+
env?: Record<string, string> | undefined;
|
|
57
57
|
args?: string[] | undefined;
|
|
58
58
|
}, {
|
|
59
|
-
env?: Record<string, string> | undefined;
|
|
60
59
|
command?: string | undefined;
|
|
60
|
+
env?: Record<string, string> | undefined;
|
|
61
61
|
args?: string[] | undefined;
|
|
62
62
|
}>, z.ZodObject<{
|
|
63
63
|
url: z.ZodString;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SVELTEKIT_AGENT_CONFIG = void 0;
|
|
4
|
+
const constants_1 = require("../lib/constants");
|
|
5
|
+
const package_json_1 = require("../utils/package-json");
|
|
6
|
+
const clack_utils_1 = require("../utils/clack-utils");
|
|
7
|
+
exports.SVELTEKIT_AGENT_CONFIG = {
|
|
8
|
+
metadata: {
|
|
9
|
+
name: 'SvelteKit',
|
|
10
|
+
integration: constants_1.Integration.sveltekit,
|
|
11
|
+
docsUrl: 'https://posthog.com/docs/libraries/svelte',
|
|
12
|
+
beta: true,
|
|
13
|
+
additionalMcpServers: {
|
|
14
|
+
svelte: { url: 'https://mcp.svelte.dev/mcp' },
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
detection: {
|
|
18
|
+
packageName: '@sveltejs/kit',
|
|
19
|
+
packageDisplayName: 'SvelteKit',
|
|
20
|
+
getVersion: (packageJson) => (0, package_json_1.getPackageVersion)('@sveltejs/kit', packageJson),
|
|
21
|
+
detect: async (options) => {
|
|
22
|
+
const packageJson = await (0, clack_utils_1.tryGetPackageJson)(options);
|
|
23
|
+
return packageJson
|
|
24
|
+
? (0, package_json_1.hasPackageInstalled)('@sveltejs/kit', packageJson)
|
|
25
|
+
: false;
|
|
26
|
+
},
|
|
27
|
+
minimumVersion: '2.0.0',
|
|
28
|
+
},
|
|
29
|
+
environment: {
|
|
30
|
+
uploadToHosting: true,
|
|
31
|
+
getEnvVars: (apiKey, host) => ({
|
|
32
|
+
PUBLIC_POSTHOG_KEY: apiKey,
|
|
33
|
+
PUBLIC_POSTHOG_HOST: host,
|
|
34
|
+
}),
|
|
35
|
+
},
|
|
36
|
+
analytics: {
|
|
37
|
+
getTags: () => ({}),
|
|
38
|
+
},
|
|
39
|
+
prompts: {
|
|
40
|
+
projectTypeDetection: 'This is a JavaScript/TypeScript project using SvelteKit. Look for package.json, svelte.config.js, and lockfiles (package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb) to confirm.',
|
|
41
|
+
packageInstallation: 'Look for lockfiles to determine the package manager (npm, yarn, pnpm, bun). Do not manually edit package.json.',
|
|
42
|
+
getAdditionalContextLines: () => [
|
|
43
|
+
'Framework docs ID: sveltekit (use posthog://docs/frameworks/sveltekit for documentation)',
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
ui: {
|
|
47
|
+
successMessage: 'PostHog integration complete',
|
|
48
|
+
estimatedDurationMinutes: 8,
|
|
49
|
+
getOutroChanges: () => [
|
|
50
|
+
'Analyzed your SvelteKit project structure',
|
|
51
|
+
'Created and configured PostHog initializers',
|
|
52
|
+
'Integrated PostHog into your application',
|
|
53
|
+
],
|
|
54
|
+
getOutroNextSteps: () => [
|
|
55
|
+
'Start your development server to see PostHog in action',
|
|
56
|
+
'Visit your PostHog dashboard to see incoming events',
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=svelte-wizard-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte-wizard-agent.js","sourceRoot":"","sources":["../../../src/svelte/svelte-wizard-agent.ts"],"names":[],"mappings":";;;AAEA,gDAA+C;AAC/C,wDAI+B;AAC/B,sDAAyD;AAI5C,QAAA,sBAAsB,GAAsC;IACvE,QAAQ,EAAE;QACR,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,uBAAW,CAAC,SAAS;QAClC,OAAO,EAAE,2CAA2C;QACpD,IAAI,EAAE,IAAI;QACV,oBAAoB,EAAE;YACpB,MAAM,EAAE,EAAE,GAAG,EAAE,4BAA4B,EAAE;SAC9C;KACF;IAED,SAAS,EAAE;QACT,WAAW,EAAE,eAAe;QAC5B,kBAAkB,EAAE,WAAW;QAC/B,UAAU,EAAE,CAAC,WAAoB,EAAE,EAAE,CACnC,IAAA,gCAAiB,EAAC,eAAe,EAAE,WAA6B,CAAC;QACnE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxB,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAiB,EAAC,OAAO,CAAC,CAAC;YACrD,OAAO,WAAW;gBAChB,CAAC,CAAC,IAAA,kCAAmB,EAAC,eAAe,EAAE,WAAW,CAAC;gBACnD,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC;QACD,cAAc,EAAE,OAAO;KACxB;IAED,WAAW,EAAE;QACX,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC;YAC7C,kBAAkB,EAAE,MAAM;YAC1B,mBAAmB,EAAE,IAAI;SAC1B,CAAC;KACH;IAED,SAAS,EAAE;QACT,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;KACpB;IAED,OAAO,EAAE;QACP,oBAAoB,EAClB,uLAAuL;QACzL,mBAAmB,EACjB,gHAAgH;QAClH,yBAAyB,EAAE,GAAG,EAAE,CAAC;YAC/B,0FAA0F;SAC3F;KACF;IAED,EAAE,EAAE;QACF,cAAc,EAAE,8BAA8B;QAC9C,wBAAwB,EAAE,CAAC;QAC3B,eAAe,EAAE,GAAG,EAAE,CAAC;YACrB,2CAA2C;YAC3C,6CAA6C;YAC7C,0CAA0C;SAC3C;QACD,iBAAiB,EAAE,GAAG,EAAE,CAAC;YACvB,wDAAwD;YACxD,qDAAqD;SACtD;KACF;CACF,CAAC","sourcesContent":["/* SvelteKit wizard using posthog-agent with PostHog MCP */\nimport type { FrameworkConfig } from '../lib/framework-config';\nimport { Integration } from '../lib/constants';\nimport {\n getPackageVersion,\n hasPackageInstalled,\n type PackageDotJson,\n} from '../utils/package-json';\nimport { tryGetPackageJson } from '../utils/clack-utils';\n\ntype SvelteKitContext = Record<string, unknown>;\n\nexport const SVELTEKIT_AGENT_CONFIG: FrameworkConfig<SvelteKitContext> = {\n metadata: {\n name: 'SvelteKit',\n integration: Integration.sveltekit,\n docsUrl: 'https://posthog.com/docs/libraries/svelte',\n beta: true,\n additionalMcpServers: {\n svelte: { url: 'https://mcp.svelte.dev/mcp' },\n },\n },\n\n detection: {\n packageName: '@sveltejs/kit',\n packageDisplayName: 'SvelteKit',\n getVersion: (packageJson: unknown) =>\n getPackageVersion('@sveltejs/kit', packageJson as PackageDotJson),\n detect: async (options) => {\n const packageJson = await tryGetPackageJson(options);\n return packageJson\n ? hasPackageInstalled('@sveltejs/kit', packageJson)\n : false;\n },\n minimumVersion: '2.0.0',\n },\n\n environment: {\n uploadToHosting: true,\n getEnvVars: (apiKey: string, host: string) => ({\n PUBLIC_POSTHOG_KEY: apiKey,\n PUBLIC_POSTHOG_HOST: host,\n }),\n },\n\n analytics: {\n getTags: () => ({}),\n },\n\n prompts: {\n projectTypeDetection:\n 'This is a JavaScript/TypeScript project using SvelteKit. Look for package.json, svelte.config.js, and lockfiles (package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb) to confirm.',\n packageInstallation:\n 'Look for lockfiles to determine the package manager (npm, yarn, pnpm, bun). Do not manually edit package.json.',\n getAdditionalContextLines: () => [\n 'Framework docs ID: sveltekit (use posthog://docs/frameworks/sveltekit for documentation)',\n ],\n },\n\n ui: {\n successMessage: 'PostHog integration complete',\n estimatedDurationMinutes: 8,\n getOutroChanges: () => [\n 'Analyzed your SvelteKit project structure',\n 'Created and configured PostHog initializers',\n 'Integrated PostHog into your application',\n ],\n getOutroNextSteps: () => [\n 'Start your development server to see PostHog in action',\n 'Visit your PostHog dashboard to see incoming events',\n ],\n },\n};\n"]}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.SWIFT_AGENT_CONFIG = void 0;
|
|
40
|
+
const constants_1 = require("../lib/constants");
|
|
41
|
+
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
42
|
+
const fs = __importStar(require("node:fs"));
|
|
43
|
+
const path = __importStar(require("node:path"));
|
|
44
|
+
const utils_1 = require("./utils");
|
|
45
|
+
exports.SWIFT_AGENT_CONFIG = {
|
|
46
|
+
metadata: {
|
|
47
|
+
name: 'Swift (iOS/macOS)',
|
|
48
|
+
integration: constants_1.Integration.swift,
|
|
49
|
+
beta: true,
|
|
50
|
+
docsUrl: 'https://posthog.com/docs/libraries/ios',
|
|
51
|
+
preRunNotice: 'Please close the Xcode project before proceeding. Xcode may overwrite changes the wizard makes to project files.',
|
|
52
|
+
gatherContext: async (options) => {
|
|
53
|
+
const projectType = await (0, utils_1.detectSwiftProjectType)(options);
|
|
54
|
+
return { projectType };
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
detection: {
|
|
58
|
+
packageName: 'posthog-ios',
|
|
59
|
+
packageDisplayName: 'Swift',
|
|
60
|
+
usesPackageJson: false,
|
|
61
|
+
getVersion: () => undefined,
|
|
62
|
+
detect: async (options) => {
|
|
63
|
+
const { installDir } = options;
|
|
64
|
+
// Check for Xcode project
|
|
65
|
+
const xcodeProjects = await (0, fast_glob_1.default)('*.xcodeproj', {
|
|
66
|
+
cwd: installDir,
|
|
67
|
+
onlyDirectories: true,
|
|
68
|
+
});
|
|
69
|
+
if (xcodeProjects.length > 0) {
|
|
70
|
+
// Verify it contains Swift source files
|
|
71
|
+
const swiftFiles = await (0, fast_glob_1.default)('**/*.swift', {
|
|
72
|
+
cwd: installDir,
|
|
73
|
+
ignore: [
|
|
74
|
+
'**/.build/**',
|
|
75
|
+
'**/DerivedData/**',
|
|
76
|
+
'**/build/**',
|
|
77
|
+
'**/*.xcodeproj/**',
|
|
78
|
+
'**/Pods/**',
|
|
79
|
+
],
|
|
80
|
+
});
|
|
81
|
+
if (swiftFiles.length > 0) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Check for Swift Package Manager project
|
|
86
|
+
const packageSwiftPath = path.join(installDir, 'Package.swift');
|
|
87
|
+
if (fs.existsSync(packageSwiftPath)) {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
return false;
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
environment: {
|
|
94
|
+
uploadToHosting: false,
|
|
95
|
+
getEnvVars: (apiKey, host) => ({
|
|
96
|
+
POSTHOG_API_KEY: apiKey,
|
|
97
|
+
POSTHOG_HOST: host,
|
|
98
|
+
}),
|
|
99
|
+
},
|
|
100
|
+
analytics: {
|
|
101
|
+
getTags: (context) => ({
|
|
102
|
+
projectType: context.projectType || 'unknown',
|
|
103
|
+
}),
|
|
104
|
+
},
|
|
105
|
+
prompts: {
|
|
106
|
+
projectTypeDetection: 'This is a Swift project. Look for .xcodeproj directories, Package.swift, and .swift source files to confirm. Check for SwiftUI or UIKit imports to determine the UI framework.',
|
|
107
|
+
packageInstallation: 'Add the posthog-ios package via Swift Package Manager. For Xcode projects, add XCRemoteSwiftPackageReference and XCSwiftPackageProductDependency to the .pbxproj file. For Swift packages, add the dependency to Package.swift.',
|
|
108
|
+
getAdditionalContextLines: (context) => {
|
|
109
|
+
const projectTypeName = context.projectType
|
|
110
|
+
? (0, utils_1.getSwiftProjectTypeName)(context.projectType)
|
|
111
|
+
: 'unknown';
|
|
112
|
+
const lines = [
|
|
113
|
+
`Project type: ${projectTypeName}`,
|
|
114
|
+
`Framework docs ID: swift (use posthog://docs/frameworks/swift for documentation)`,
|
|
115
|
+
];
|
|
116
|
+
return lines;
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
ui: {
|
|
120
|
+
successMessage: 'PostHog integration complete',
|
|
121
|
+
estimatedDurationMinutes: 5,
|
|
122
|
+
getOutroChanges: (context) => {
|
|
123
|
+
const projectTypeName = context.projectType
|
|
124
|
+
? (0, utils_1.getSwiftProjectTypeName)(context.projectType)
|
|
125
|
+
: 'Swift';
|
|
126
|
+
const changes = [
|
|
127
|
+
`Analyzed your ${projectTypeName} project structure`,
|
|
128
|
+
`Added the PostHog iOS SDK via Swift Package Manager`,
|
|
129
|
+
`Configured PostHog initialization in your app entry point`,
|
|
130
|
+
`Added event capture and user identification`,
|
|
131
|
+
];
|
|
132
|
+
return changes;
|
|
133
|
+
},
|
|
134
|
+
getOutroNextSteps: () => [
|
|
135
|
+
'Set POSTHOG_API_KEY and POSTHOG_HOST in your Xcode scheme environment variables',
|
|
136
|
+
'Build and run your app to see PostHog in action',
|
|
137
|
+
'Visit your PostHog dashboard to see incoming events',
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=swift-wizard-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swift-wizard-agent.js","sourceRoot":"","sources":["../../../src/swift/swift-wizard-agent.ts"],"names":[],"mappings":"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","sourcesContent":["/* Swift wizard using posthog-agent with PostHog MCP */\nimport type { WizardOptions } from '../utils/types';\nimport type { FrameworkConfig } from '../lib/framework-config';\nimport { Integration } from '../lib/constants';\nimport fg from 'fast-glob';\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport {\n detectSwiftProjectType,\n getSwiftProjectTypeName,\n SwiftProjectType,\n} from './utils';\n\ntype SwiftContext = {\n projectType?: SwiftProjectType;\n};\n\nexport const SWIFT_AGENT_CONFIG: FrameworkConfig<SwiftContext> = {\n metadata: {\n name: 'Swift (iOS/macOS)',\n integration: Integration.swift,\n beta: true,\n docsUrl: 'https://posthog.com/docs/libraries/ios',\n preRunNotice:\n 'Please close the Xcode project before proceeding. Xcode may overwrite changes the wizard makes to project files.',\n gatherContext: async (options: WizardOptions) => {\n const projectType = await detectSwiftProjectType(options);\n return { projectType };\n },\n },\n\n detection: {\n packageName: 'posthog-ios',\n packageDisplayName: 'Swift',\n usesPackageJson: false,\n getVersion: () => undefined,\n detect: async (options) => {\n const { installDir } = options;\n\n // Check for Xcode project\n const xcodeProjects = await fg('*.xcodeproj', {\n cwd: installDir,\n onlyDirectories: true,\n });\n\n if (xcodeProjects.length > 0) {\n // Verify it contains Swift source files\n const swiftFiles = await fg('**/*.swift', {\n cwd: installDir,\n ignore: [\n '**/.build/**',\n '**/DerivedData/**',\n '**/build/**',\n '**/*.xcodeproj/**',\n '**/Pods/**',\n ],\n });\n if (swiftFiles.length > 0) {\n return true;\n }\n }\n\n // Check for Swift Package Manager project\n const packageSwiftPath = path.join(installDir, 'Package.swift');\n if (fs.existsSync(packageSwiftPath)) {\n return true;\n }\n\n return false;\n },\n },\n\n environment: {\n uploadToHosting: false,\n getEnvVars: (apiKey: string, host: string) => ({\n POSTHOG_API_KEY: apiKey,\n POSTHOG_HOST: host,\n }),\n },\n\n analytics: {\n getTags: (context) => ({\n projectType: context.projectType || 'unknown',\n }),\n },\n\n prompts: {\n projectTypeDetection:\n 'This is a Swift project. Look for .xcodeproj directories, Package.swift, and .swift source files to confirm. Check for SwiftUI or UIKit imports to determine the UI framework.',\n packageInstallation:\n 'Add the posthog-ios package via Swift Package Manager. For Xcode projects, add XCRemoteSwiftPackageReference and XCSwiftPackageProductDependency to the .pbxproj file. For Swift packages, add the dependency to Package.swift.',\n getAdditionalContextLines: (context) => {\n const projectTypeName = context.projectType\n ? getSwiftProjectTypeName(context.projectType)\n : 'unknown';\n\n const lines = [\n `Project type: ${projectTypeName}`,\n `Framework docs ID: swift (use posthog://docs/frameworks/swift for documentation)`,\n ];\n\n return lines;\n },\n },\n\n ui: {\n successMessage: 'PostHog integration complete',\n estimatedDurationMinutes: 5,\n getOutroChanges: (context) => {\n const projectTypeName = context.projectType\n ? getSwiftProjectTypeName(context.projectType)\n : 'Swift';\n\n const changes = [\n `Analyzed your ${projectTypeName} project structure`,\n `Added the PostHog iOS SDK via Swift Package Manager`,\n `Configured PostHog initialization in your app entry point`,\n `Added event capture and user identification`,\n ];\n\n return changes;\n },\n getOutroNextSteps: () => [\n 'Set POSTHOG_API_KEY and POSTHOG_HOST in your Xcode scheme environment variables',\n 'Build and run your app to see PostHog in action',\n 'Visit your PostHog dashboard to see incoming events',\n ],\n },\n};\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WizardOptions } from '../utils/types';
|
|
2
|
+
export declare enum SwiftProjectType {
|
|
3
|
+
SWIFTUI = "swiftui",
|
|
4
|
+
UIKIT = "uikit",
|
|
5
|
+
SPM = "spm"
|
|
6
|
+
}
|
|
7
|
+
export declare function getSwiftProjectTypeName(projectType: SwiftProjectType): string;
|
|
8
|
+
export declare function detectSwiftProjectType(options: WizardOptions): Promise<SwiftProjectType | undefined>;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.SwiftProjectType = void 0;
|
|
40
|
+
exports.getSwiftProjectTypeName = getSwiftProjectTypeName;
|
|
41
|
+
exports.detectSwiftProjectType = detectSwiftProjectType;
|
|
42
|
+
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
43
|
+
const fs = __importStar(require("node:fs"));
|
|
44
|
+
const path = __importStar(require("node:path"));
|
|
45
|
+
var SwiftProjectType;
|
|
46
|
+
(function (SwiftProjectType) {
|
|
47
|
+
SwiftProjectType["SWIFTUI"] = "swiftui";
|
|
48
|
+
SwiftProjectType["UIKIT"] = "uikit";
|
|
49
|
+
SwiftProjectType["SPM"] = "spm";
|
|
50
|
+
})(SwiftProjectType || (exports.SwiftProjectType = SwiftProjectType = {}));
|
|
51
|
+
function getSwiftProjectTypeName(projectType) {
|
|
52
|
+
switch (projectType) {
|
|
53
|
+
case SwiftProjectType.SWIFTUI:
|
|
54
|
+
return 'SwiftUI';
|
|
55
|
+
case SwiftProjectType.UIKIT:
|
|
56
|
+
return 'UIKit';
|
|
57
|
+
case SwiftProjectType.SPM:
|
|
58
|
+
return 'Swift Package';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async function detectSwiftProjectType(options) {
|
|
62
|
+
const { installDir } = options;
|
|
63
|
+
// Check if this is a pure SPM package (Package.swift without .xcodeproj)
|
|
64
|
+
const hasPackageSwift = fs.existsSync(path.join(installDir, 'Package.swift'));
|
|
65
|
+
const xcodeProjects = await (0, fast_glob_1.default)('*.xcodeproj', {
|
|
66
|
+
cwd: installDir,
|
|
67
|
+
onlyDirectories: true,
|
|
68
|
+
});
|
|
69
|
+
if (hasPackageSwift && xcodeProjects.length === 0) {
|
|
70
|
+
return SwiftProjectType.SPM;
|
|
71
|
+
}
|
|
72
|
+
// Check Swift source files for SwiftUI vs UIKit imports
|
|
73
|
+
const swiftFiles = await (0, fast_glob_1.default)('**/*.swift', {
|
|
74
|
+
cwd: installDir,
|
|
75
|
+
ignore: [
|
|
76
|
+
'**/.build/**',
|
|
77
|
+
'**/DerivedData/**',
|
|
78
|
+
'**/build/**',
|
|
79
|
+
'**/*.xcodeproj/**',
|
|
80
|
+
'**/Pods/**',
|
|
81
|
+
],
|
|
82
|
+
});
|
|
83
|
+
let hasSwiftUI = false;
|
|
84
|
+
let hasUIKit = false;
|
|
85
|
+
for (const file of swiftFiles) {
|
|
86
|
+
try {
|
|
87
|
+
const content = fs.readFileSync(path.join(installDir, file), 'utf-8');
|
|
88
|
+
if (content.includes('import SwiftUI')) {
|
|
89
|
+
hasSwiftUI = true;
|
|
90
|
+
}
|
|
91
|
+
if (content.includes('import UIKit')) {
|
|
92
|
+
hasUIKit = true;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (hasSwiftUI)
|
|
100
|
+
return SwiftProjectType.SWIFTUI;
|
|
101
|
+
if (hasUIKit)
|
|
102
|
+
return SwiftProjectType.UIKIT;
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/swift/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,0DASC;AAED,wDAiDC;AAtED,0DAA2B;AAC3B,4CAA8B;AAC9B,gDAAkC;AAElC,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,+BAAW,CAAA;AACb,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AAED,SAAgB,uBAAuB,CAAC,WAA6B;IACnE,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,gBAAgB,CAAC,OAAO;YAC3B,OAAO,SAAS,CAAC;QACnB,KAAK,gBAAgB,CAAC,KAAK;YACzB,OAAO,OAAO,CAAC;QACjB,KAAK,gBAAgB,CAAC,GAAG;YACvB,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,OAAsB;IAEtB,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,yEAAyE;IACzE,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,MAAM,IAAA,mBAAE,EAAC,aAAa,EAAE;QAC5C,GAAG,EAAE,UAAU;QACf,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,IAAI,eAAe,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,gBAAgB,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,MAAM,IAAA,mBAAE,EAAC,YAAY,EAAE;QACxC,GAAG,EAAE,UAAU;QACf,MAAM,EAAE;YACN,cAAc;YACd,mBAAmB;YACnB,aAAa;YACb,mBAAmB;YACnB,YAAY;SACb;KACF,CAAC,CAAC;IAEH,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACvC,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACrC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,IAAI,UAAU;QAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC;IAChD,IAAI,QAAQ;QAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC;IAE5C,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import type { WizardOptions } from '../utils/types';\nimport fg from 'fast-glob';\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\n\nexport enum SwiftProjectType {\n SWIFTUI = 'swiftui',\n UIKIT = 'uikit',\n SPM = 'spm',\n}\n\nexport function getSwiftProjectTypeName(projectType: SwiftProjectType): string {\n switch (projectType) {\n case SwiftProjectType.SWIFTUI:\n return 'SwiftUI';\n case SwiftProjectType.UIKIT:\n return 'UIKit';\n case SwiftProjectType.SPM:\n return 'Swift Package';\n }\n}\n\nexport async function detectSwiftProjectType(\n options: WizardOptions,\n): Promise<SwiftProjectType | undefined> {\n const { installDir } = options;\n\n // Check if this is a pure SPM package (Package.swift without .xcodeproj)\n const hasPackageSwift = fs.existsSync(path.join(installDir, 'Package.swift'));\n const xcodeProjects = await fg('*.xcodeproj', {\n cwd: installDir,\n onlyDirectories: true,\n });\n\n if (hasPackageSwift && xcodeProjects.length === 0) {\n return SwiftProjectType.SPM;\n }\n\n // Check Swift source files for SwiftUI vs UIKit imports\n const swiftFiles = await fg('**/*.swift', {\n cwd: installDir,\n ignore: [\n '**/.build/**',\n '**/DerivedData/**',\n '**/build/**',\n '**/*.xcodeproj/**',\n '**/Pods/**',\n ],\n });\n\n let hasSwiftUI = false;\n let hasUIKit = false;\n\n for (const file of swiftFiles) {\n try {\n const content = fs.readFileSync(path.join(installDir, file), 'utf-8');\n if (content.includes('import SwiftUI')) {\n hasSwiftUI = true;\n }\n if (content.includes('import UIKit')) {\n hasUIKit = true;\n }\n } catch {\n continue;\n }\n }\n\n if (hasSwiftUI) return SwiftProjectType.SWIFTUI;\n if (hasUIKit) return SwiftProjectType.UIKIT;\n\n return undefined;\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FrameworkConfig } from '../lib/framework-config';
|
|
2
|
+
import { TanStackRouterMode } from './utils';
|
|
3
|
+
type TanStackRouterContext = {
|
|
4
|
+
routerMode?: TanStackRouterMode;
|
|
5
|
+
};
|
|
6
|
+
export declare const TANSTACK_ROUTER_AGENT_CONFIG: FrameworkConfig<TanStackRouterContext>;
|
|
7
|
+
export {};
|