@posthog/wizard 0.5.0 → 0.7.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.
Files changed (90) hide show
  1. package/README.md +21 -15
  2. package/package.json +1 -1
  3. package/dist/bin.d.ts +0 -2
  4. package/dist/bin.js +0 -28
  5. package/dist/bin.js.map +0 -1
  6. package/dist/src/lib/config.d.ts +0 -21
  7. package/dist/src/lib/config.js +0 -49
  8. package/dist/src/lib/config.js.map +0 -1
  9. package/dist/src/lib/constants.d.ts +0 -22
  10. package/dist/src/lib/constants.js +0 -40
  11. package/dist/src/lib/constants.js.map +0 -1
  12. package/dist/src/lib/prompts.d.ts +0 -16
  13. package/dist/src/lib/prompts.js +0 -80
  14. package/dist/src/lib/prompts.js.map +0 -1
  15. package/dist/src/nextjs/docs.d.ts +0 -8
  16. package/dist/src/nextjs/docs.js +0 -257
  17. package/dist/src/nextjs/docs.js.map +0 -1
  18. package/dist/src/nextjs/nextjs-wizard.d.ts +0 -2
  19. package/dist/src/nextjs/nextjs-wizard.js +0 -117
  20. package/dist/src/nextjs/nextjs-wizard.js.map +0 -1
  21. package/dist/src/nextjs/utils.d.ts +0 -9
  22. package/dist/src/nextjs/utils.js +0 -83
  23. package/dist/src/nextjs/utils.js.map +0 -1
  24. package/dist/src/react/docs.d.ts +0 -5
  25. package/dist/src/react/docs.js +0 -43
  26. package/dist/src/react/docs.js.map +0 -1
  27. package/dist/src/react/react-wizard.d.ts +0 -2
  28. package/dist/src/react/react-wizard.js +0 -103
  29. package/dist/src/react/react-wizard.js.map +0 -1
  30. package/dist/src/run.d.ts +0 -12
  31. package/dist/src/run.js +0 -72
  32. package/dist/src/run.js.map +0 -1
  33. package/dist/src/telemetry.d.ts +0 -2
  34. package/dist/src/telemetry.js +0 -13
  35. package/dist/src/telemetry.js.map +0 -1
  36. package/dist/src/utils/analytics.d.ts +0 -12
  37. package/dist/src/utils/analytics.js +0 -59
  38. package/dist/src/utils/analytics.js.map +0 -1
  39. package/dist/src/utils/bash.d.ts +0 -2
  40. package/dist/src/utils/bash.js +0 -54
  41. package/dist/src/utils/bash.js.map +0 -1
  42. package/dist/src/utils/clack-utils.d.ts +0 -184
  43. package/dist/src/utils/clack-utils.js +0 -678
  44. package/dist/src/utils/clack-utils.js.map +0 -1
  45. package/dist/src/utils/clack.d.ts +0 -2
  46. package/dist/src/utils/clack.js +0 -9
  47. package/dist/src/utils/clack.js.map +0 -1
  48. package/dist/src/utils/debug.d.ts +0 -2
  49. package/dist/src/utils/debug.js +0 -22
  50. package/dist/src/utils/debug.js.map +0 -1
  51. package/dist/src/utils/environment.d.ts +0 -9
  52. package/dist/src/utils/environment.js +0 -164
  53. package/dist/src/utils/environment.js.map +0 -1
  54. package/dist/src/utils/file-utils.d.ts +0 -29
  55. package/dist/src/utils/file-utils.js +0 -177
  56. package/dist/src/utils/file-utils.js.map +0 -1
  57. package/dist/src/utils/logging.d.ts +0 -9
  58. package/dist/src/utils/logging.js +0 -50
  59. package/dist/src/utils/logging.js.map +0 -1
  60. package/dist/src/utils/package-json.d.ts +0 -25
  61. package/dist/src/utils/package-json.js +0 -27
  62. package/dist/src/utils/package-json.js.map +0 -1
  63. package/dist/src/utils/package-manager.d.ts +0 -20
  64. package/dist/src/utils/package-manager.js +0 -187
  65. package/dist/src/utils/package-manager.js.map +0 -1
  66. package/dist/src/utils/query.d.ts +0 -8
  67. package/dist/src/utils/query.js +0 -27
  68. package/dist/src/utils/query.js.map +0 -1
  69. package/dist/src/utils/rules/add-editor-rules.d.ts +0 -9
  70. package/dist/src/utils/rules/add-editor-rules.js +0 -88
  71. package/dist/src/utils/rules/add-editor-rules.js.map +0 -1
  72. package/dist/src/utils/rules/add-editor-rules.ts +0 -82
  73. package/dist/src/utils/rules/next-rules.md +0 -9
  74. package/dist/src/utils/rules/react-rules.md +0 -7
  75. package/dist/src/utils/rules/universal.md +0 -20
  76. package/dist/src/utils/semver.d.ts +0 -5
  77. package/dist/src/utils/semver.js +0 -25
  78. package/dist/src/utils/semver.js.map +0 -1
  79. package/dist/src/utils/string.d.ts +0 -1
  80. package/dist/src/utils/string.js +0 -9
  81. package/dist/src/utils/string.js.map +0 -1
  82. package/dist/src/utils/types.d.ts +0 -44
  83. package/dist/src/utils/types.js +0 -3
  84. package/dist/src/utils/types.js.map +0 -1
  85. package/dist/src/utils/urls.d.ts +0 -4
  86. package/dist/src/utils/urls.js +0 -35
  87. package/dist/src/utils/urls.js.map +0 -1
  88. package/dist/src/utils/vendor/is-unicorn-supported.d.ts +0 -1
  89. package/dist/src/utils/vendor/is-unicorn-supported.js +0 -24
  90. package/dist/src/utils/vendor/is-unicorn-supported.js.map +0 -1
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.prepareMessage = prepareMessage;
7
- exports.l = l;
8
- exports.nl = nl;
9
- exports.green = green;
10
- exports.red = red;
11
- exports.dim = dim;
12
- exports.yellow = yellow;
13
- exports.cyan = cyan;
14
- exports.debug = debug;
15
- const chalk_1 = __importDefault(require("chalk"));
16
- function prepareMessage(msg) {
17
- if (typeof msg === 'string') {
18
- return msg;
19
- }
20
- if (msg instanceof Error) {
21
- return `${msg.stack || ''}`;
22
- }
23
- return JSON.stringify(msg, null, '\t');
24
- }
25
- function l(msg) {
26
- // eslint-disable-next-line no-console
27
- console.log(msg);
28
- }
29
- function nl() {
30
- return l('');
31
- }
32
- function green(msg) {
33
- return l(chalk_1.default.green(prepareMessage(msg)));
34
- }
35
- function red(msg) {
36
- return l(chalk_1.default.red(prepareMessage(msg)));
37
- }
38
- function dim(msg) {
39
- return l(chalk_1.default.dim(prepareMessage(msg)));
40
- }
41
- function yellow(msg) {
42
- return l(chalk_1.default.yellow(prepareMessage(msg)));
43
- }
44
- function cyan(msg) {
45
- return l(chalk_1.default.cyan(prepareMessage(msg)));
46
- }
47
- function debug(msg) {
48
- return l(chalk_1.default.italic.yellow(prepareMessage(msg)));
49
- }
50
- //# sourceMappingURL=logging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/utils/logging.ts"],"names":[],"mappings":";;;;;AAEA,wCAQC;AAED,cAGC;AAED,gBAEC;AAED,sBAEC;AAED,kBAEC;AAED,kBAEC;AAED,wBAEC;AAED,oBAEC;AAED,sBAEC;AA3CD,kDAA0B;AAE1B,SAAgB,cAAc,CAAC,GAAY;IACzC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,CAAC,CAAC,GAAW;IAC3B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,SAAgB,EAAE;IAChB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AACf,CAAC;AAED,SAAgB,KAAK,CAAC,GAAW;IAC/B,OAAO,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,GAAG,CAAC,GAAW;IAC7B,OAAO,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,GAAG,CAAC,GAAW;IAC7B,OAAO,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,MAAM,CAAC,GAAW;IAChC,OAAO,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,IAAI,CAAC,GAAW;IAC9B,OAAO,CAAC,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,KAAK,CAAC,GAAQ;IAC5B,OAAO,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC","sourcesContent":["import Chalk from 'chalk';\n\nexport function prepareMessage(msg: unknown): string {\n if (typeof msg === 'string') {\n return msg;\n }\n if (msg instanceof Error) {\n return `${msg.stack || ''}`;\n }\n return JSON.stringify(msg, null, '\\t');\n}\n\nexport function l(msg: string): void {\n // eslint-disable-next-line no-console\n console.log(msg);\n}\n\nexport function nl(): void {\n return l('');\n}\n\nexport function green(msg: string): void {\n return l(Chalk.green(prepareMessage(msg)));\n}\n\nexport function red(msg: string): void {\n return l(Chalk.red(prepareMessage(msg)));\n}\n\nexport function dim(msg: string): void {\n return l(Chalk.dim(prepareMessage(msg)));\n}\n\nexport function yellow(msg: string): void {\n return l(Chalk.yellow(prepareMessage(msg)));\n}\n\nexport function cyan(msg: string): void {\n return l(Chalk.cyan(prepareMessage(msg)));\n}\n\nexport function debug(msg: any): void {\n return l(Chalk.italic.yellow(prepareMessage(msg)));\n}\n"]}
@@ -1,25 +0,0 @@
1
- export type PackageDotJson = {
2
- version?: string;
3
- scripts?: Record<string, string | undefined>;
4
- dependencies?: Record<string, string>;
5
- devDependencies?: Record<string, string>;
6
- resolutions?: Record<string, string>;
7
- overrides?: Record<string, string>;
8
- pnpm?: {
9
- overrides?: Record<string, string>;
10
- };
11
- };
12
- type NpmPackage = {
13
- name: string;
14
- version: string;
15
- };
16
- /**
17
- * Checks if @param packageJson has any of the @param packageNamesList package names
18
- * listed as a dependency or devDependency.
19
- * If so, it returns the first package name that is found, including the
20
- * version (range) specified in the package.json.
21
- */
22
- export declare function findInstalledPackageFromList(packageNamesList: string[], packageJson: PackageDotJson): NpmPackage | undefined;
23
- export declare function hasPackageInstalled(packageName: string, packageJson: PackageDotJson): boolean;
24
- export declare function getPackageVersion(packageName: string, packageJson: PackageDotJson): string | undefined;
25
- export {};
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findInstalledPackageFromList = findInstalledPackageFromList;
4
- exports.hasPackageInstalled = hasPackageInstalled;
5
- exports.getPackageVersion = getPackageVersion;
6
- /**
7
- * Checks if @param packageJson has any of the @param packageNamesList package names
8
- * listed as a dependency or devDependency.
9
- * If so, it returns the first package name that is found, including the
10
- * version (range) specified in the package.json.
11
- */
12
- function findInstalledPackageFromList(packageNamesList, packageJson) {
13
- return packageNamesList
14
- .map((packageName) => ({
15
- name: packageName,
16
- version: getPackageVersion(packageName, packageJson),
17
- }))
18
- .find((sdkPackage) => !!sdkPackage.version);
19
- }
20
- function hasPackageInstalled(packageName, packageJson) {
21
- return getPackageVersion(packageName, packageJson) !== undefined;
22
- }
23
- function getPackageVersion(packageName, packageJson) {
24
- return (packageJson?.dependencies?.[packageName] ||
25
- packageJson?.devDependencies?.[packageName]);
26
- }
27
- //# sourceMappingURL=package-json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../../src/utils/package-json.ts"],"names":[],"mappings":";;AAuBA,oEAUC;AAED,kDAKC;AAED,8CAQC;AAjCD;;;;;GAKG;AACH,SAAgB,4BAA4B,CAC1C,gBAA0B,EAC1B,WAA2B;IAE3B,OAAO,gBAAgB;SACpB,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC;KACrD,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,UAAU,EAA4B,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,mBAAmB,CACjC,WAAmB,EACnB,WAA2B;IAE3B,OAAO,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,SAAS,CAAC;AACnE,CAAC;AAED,SAAgB,iBAAiB,CAC/B,WAAmB,EACnB,WAA2B;IAE3B,OAAO,CACL,WAAW,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,eAAe,EAAE,CAAC,WAAW,CAAC,CAC5C,CAAC;AACJ,CAAC","sourcesContent":["export type PackageDotJson = {\n version?: string;\n scripts?: Record<string, string | undefined>;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n resolutions?: Record<string, string>;\n overrides?: Record<string, string>;\n pnpm?: {\n overrides?: Record<string, string>;\n };\n};\n\ntype NpmPackage = {\n name: string;\n version: string;\n};\n\n/**\n * Checks if @param packageJson has any of the @param packageNamesList package names\n * listed as a dependency or devDependency.\n * If so, it returns the first package name that is found, including the\n * version (range) specified in the package.json.\n */\nexport function findInstalledPackageFromList(\n packageNamesList: string[],\n packageJson: PackageDotJson,\n): NpmPackage | undefined {\n return packageNamesList\n .map((packageName) => ({\n name: packageName,\n version: getPackageVersion(packageName, packageJson),\n }))\n .find((sdkPackage): sdkPackage is NpmPackage => !!sdkPackage.version);\n}\n\nexport function hasPackageInstalled(\n packageName: string,\n packageJson: PackageDotJson,\n): boolean {\n return getPackageVersion(packageName, packageJson) !== undefined;\n}\n\nexport function getPackageVersion(\n packageName: string,\n packageJson: PackageDotJson,\n): string | undefined {\n return (\n packageJson?.dependencies?.[packageName] ||\n packageJson?.devDependencies?.[packageName]\n );\n}\n"]}
@@ -1,20 +0,0 @@
1
- import type { WizardOptions } from './types';
2
- export interface PackageManager {
3
- name: string;
4
- label: string;
5
- installCommand: string;
6
- buildCommand: string;
7
- runScriptCommand: string;
8
- flags: string;
9
- forceInstallFlag: string;
10
- detect: ({ installDir }: Pick<WizardOptions, 'installDir'>) => boolean;
11
- addOverride: (pkgName: string, pkgVersion: string, { installDir }: Pick<WizardOptions, 'installDir'>) => Promise<void>;
12
- }
13
- export declare const BUN: PackageManager;
14
- export declare const YARN_V1: PackageManager;
15
- /** YARN V2/3/4 */
16
- export declare const YARN_V2: PackageManager;
17
- export declare const PNPM: PackageManager;
18
- export declare const NPM: PackageManager;
19
- export declare const packageManagers: PackageManager[];
20
- export declare function detectPackageManger({ installDir, }: Pick<WizardOptions, 'installDir'>): PackageManager | null;
@@ -1,187 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.packageManagers = exports.NPM = exports.PNPM = exports.YARN_V2 = exports.YARN_V1 = exports.BUN = void 0;
37
- exports.detectPackageManger = detectPackageManger;
38
- /* eslint-disable @typescript-eslint/typedef */
39
- const fs = __importStar(require("fs"));
40
- const path = __importStar(require("path"));
41
- const telemetry_1 = require("../telemetry");
42
- const clack_utils_1 = require("./clack-utils");
43
- const analytics_1 = require("./analytics");
44
- exports.BUN = {
45
- name: 'bun',
46
- label: 'Bun',
47
- installCommand: 'bun add',
48
- buildCommand: 'bun run build',
49
- runScriptCommand: 'bun run',
50
- flags: '',
51
- forceInstallFlag: '--force',
52
- detect: ({ installDir }) => ['bun.lockb', 'bun.lock'].some((lockFile) => fs.existsSync(path.join(installDir, lockFile))),
53
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
54
- const packageDotJson = await (0, clack_utils_1.getPackageDotJson)({ installDir });
55
- const overrides = packageDotJson.overrides || {};
56
- await (0, clack_utils_1.updatePackageDotJson)({
57
- ...packageDotJson,
58
- overrides: {
59
- ...overrides,
60
- [pkgName]: pkgVersion,
61
- },
62
- }, { installDir: installDir });
63
- },
64
- };
65
- exports.YARN_V1 = {
66
- name: 'yarn',
67
- label: 'Yarn V1',
68
- installCommand: 'yarn add',
69
- buildCommand: 'yarn build',
70
- runScriptCommand: 'yarn',
71
- flags: '--ignore-workspace-root-check',
72
- forceInstallFlag: '--force',
73
- detect: ({ installDir }) => {
74
- try {
75
- return fs
76
- .readFileSync(path.join(installDir, 'yarn.lock'), 'utf-8')
77
- .slice(0, 500)
78
- .includes('yarn lockfile v1');
79
- }
80
- catch (e) {
81
- return false;
82
- }
83
- },
84
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
85
- const packageDotJson = await (0, clack_utils_1.getPackageDotJson)({ installDir });
86
- const resolutions = packageDotJson.resolutions || {};
87
- await (0, clack_utils_1.updatePackageDotJson)({
88
- ...packageDotJson,
89
- resolutions: {
90
- ...resolutions,
91
- [pkgName]: pkgVersion,
92
- },
93
- }, { installDir });
94
- },
95
- };
96
- /** YARN V2/3/4 */
97
- exports.YARN_V2 = {
98
- name: 'yarn',
99
- label: 'Yarn V2/3/4',
100
- installCommand: 'yarn add',
101
- buildCommand: 'yarn build',
102
- runScriptCommand: 'yarn',
103
- flags: '',
104
- forceInstallFlag: '--force',
105
- detect: ({ installDir }) => {
106
- try {
107
- return fs
108
- .readFileSync(path.join(installDir, 'yarn.lock'), 'utf-8')
109
- .slice(0, 500)
110
- .includes('__metadata');
111
- }
112
- catch (e) {
113
- return false;
114
- }
115
- },
116
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
117
- const packageDotJson = await (0, clack_utils_1.getPackageDotJson)({ installDir });
118
- const resolutions = packageDotJson.resolutions || {};
119
- await (0, clack_utils_1.updatePackageDotJson)({
120
- ...packageDotJson,
121
- resolutions: {
122
- ...resolutions,
123
- [pkgName]: pkgVersion,
124
- },
125
- }, { installDir });
126
- },
127
- };
128
- exports.PNPM = {
129
- name: 'pnpm',
130
- label: 'pnpm',
131
- installCommand: 'pnpm add',
132
- buildCommand: 'pnpm build',
133
- runScriptCommand: 'pnpm',
134
- flags: '--ignore-workspace-root-check',
135
- forceInstallFlag: '--force',
136
- detect: ({ installDir }) => fs.existsSync(path.join(installDir, 'pnpm-lock.yaml')),
137
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
138
- const packageDotJson = await (0, clack_utils_1.getPackageDotJson)({ installDir });
139
- const pnpm = packageDotJson.pnpm || {};
140
- const overrides = pnpm.overrides || {};
141
- await (0, clack_utils_1.updatePackageDotJson)({
142
- ...packageDotJson,
143
- pnpm: {
144
- ...pnpm,
145
- overrides: {
146
- ...overrides,
147
- [pkgName]: pkgVersion,
148
- },
149
- },
150
- }, { installDir });
151
- },
152
- };
153
- exports.NPM = {
154
- name: 'npm',
155
- label: 'npm',
156
- installCommand: 'npm add',
157
- buildCommand: 'npm run build',
158
- runScriptCommand: 'npm run',
159
- flags: '',
160
- forceInstallFlag: '--force',
161
- detect: ({ installDir }) => fs.existsSync(path.join(installDir, 'package-lock.json')),
162
- addOverride: async (pkgName, pkgVersion, { installDir }) => {
163
- const packageDotJson = await (0, clack_utils_1.getPackageDotJson)({ installDir });
164
- const overrides = packageDotJson.overrides || {};
165
- await (0, clack_utils_1.updatePackageDotJson)({
166
- ...packageDotJson,
167
- overrides: {
168
- ...overrides,
169
- [pkgName]: pkgVersion,
170
- },
171
- }, { installDir });
172
- },
173
- };
174
- exports.packageManagers = [exports.BUN, exports.YARN_V1, exports.YARN_V2, exports.PNPM, exports.NPM];
175
- function detectPackageManger({ installDir, }) {
176
- return (0, telemetry_1.traceStep)('detect-package-manager', () => {
177
- for (const packageManager of exports.packageManagers) {
178
- if (packageManager.detect({ installDir })) {
179
- analytics_1.analytics.setTag('package-manager', packageManager.name);
180
- return packageManager;
181
- }
182
- }
183
- analytics_1.analytics.setTag('package-manager', 'not-detected');
184
- return null;
185
- });
186
- }
187
- //# sourceMappingURL=package-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/utils/package-manager.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/typedef */\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { traceStep } from '../telemetry';\nimport { getPackageDotJson, updatePackageDotJson } from './clack-utils';\nimport { analytics } from './analytics';\nimport type { WizardOptions } from './types';\n\nexport interface PackageManager {\n name: string;\n label: string;\n installCommand: string;\n buildCommand: string;\n /* The command that the package manager uses to run a script from package.json */\n runScriptCommand: string;\n flags: string;\n forceInstallFlag: string;\n detect: ({ installDir }: Pick<WizardOptions, 'installDir'>) => boolean;\n addOverride: (\n pkgName: string,\n pkgVersion: string,\n { installDir }: Pick<WizardOptions, 'installDir'>,\n ) => Promise<void>;\n}\n\nexport const BUN: PackageManager = {\n name: 'bun',\n label: 'Bun',\n installCommand: 'bun add',\n buildCommand: 'bun run build',\n runScriptCommand: 'bun run',\n flags: '',\n forceInstallFlag: '--force',\n detect: ({ installDir }: Pick<WizardOptions, 'installDir'>) =>\n ['bun.lockb', 'bun.lock'].some((lockFile) =>\n fs.existsSync(path.join(installDir, lockFile)),\n ),\n addOverride: async (\n pkgName,\n pkgVersion,\n { installDir }: Pick<WizardOptions, 'installDir'>,\n ): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const overrides = packageDotJson.overrides || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n overrides: {\n ...overrides,\n [pkgName]: pkgVersion,\n },\n },\n { installDir: installDir },\n );\n },\n};\nexport const YARN_V1: PackageManager = {\n name: 'yarn',\n label: 'Yarn V1',\n installCommand: 'yarn add',\n buildCommand: 'yarn build',\n runScriptCommand: 'yarn',\n flags: '--ignore-workspace-root-check',\n forceInstallFlag: '--force',\n detect: ({ installDir }: Pick<WizardOptions, 'installDir'>) => {\n try {\n return fs\n .readFileSync(path.join(installDir, 'yarn.lock'), 'utf-8')\n .slice(0, 500)\n .includes('yarn lockfile v1');\n } catch (e) {\n return false;\n }\n },\n addOverride: async (\n pkgName,\n pkgVersion,\n { installDir }: Pick<WizardOptions, 'installDir'>,\n ): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const resolutions = packageDotJson.resolutions || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n resolutions: {\n ...resolutions,\n [pkgName]: pkgVersion,\n },\n },\n { installDir },\n );\n },\n};\n/** YARN V2/3/4 */\nexport const YARN_V2: PackageManager = {\n name: 'yarn',\n label: 'Yarn V2/3/4',\n installCommand: 'yarn add',\n buildCommand: 'yarn build',\n runScriptCommand: 'yarn',\n flags: '',\n forceInstallFlag: '--force',\n detect: ({ installDir }: Pick<WizardOptions, 'installDir'>) => {\n try {\n return fs\n .readFileSync(path.join(installDir, 'yarn.lock'), 'utf-8')\n .slice(0, 500)\n .includes('__metadata');\n } catch (e) {\n return false;\n }\n },\n addOverride: async (\n pkgName,\n pkgVersion,\n { installDir }: Pick<WizardOptions, 'installDir'>,\n ): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const resolutions = packageDotJson.resolutions || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n resolutions: {\n ...resolutions,\n [pkgName]: pkgVersion,\n },\n },\n { installDir },\n );\n },\n};\nexport const PNPM: PackageManager = {\n name: 'pnpm',\n label: 'pnpm',\n installCommand: 'pnpm add',\n buildCommand: 'pnpm build',\n runScriptCommand: 'pnpm',\n flags: '--ignore-workspace-root-check',\n forceInstallFlag: '--force',\n detect: ({ installDir }: Pick<WizardOptions, 'installDir'>) =>\n fs.existsSync(path.join(installDir, 'pnpm-lock.yaml')),\n addOverride: async (\n pkgName,\n pkgVersion,\n { installDir }: Pick<WizardOptions, 'installDir'>,\n ): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const pnpm = packageDotJson.pnpm || {};\n const overrides = pnpm.overrides || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n pnpm: {\n ...pnpm,\n overrides: {\n ...overrides,\n [pkgName]: pkgVersion,\n },\n },\n },\n { installDir },\n );\n },\n};\nexport const NPM: PackageManager = {\n name: 'npm',\n label: 'npm',\n installCommand: 'npm add',\n buildCommand: 'npm run build',\n runScriptCommand: 'npm run',\n flags: '',\n forceInstallFlag: '--force',\n detect: ({ installDir }: Pick<WizardOptions, 'installDir'>) =>\n fs.existsSync(path.join(installDir, 'package-lock.json')),\n addOverride: async (\n pkgName,\n pkgVersion,\n { installDir }: Pick<WizardOptions, 'installDir'>,\n ): Promise<void> => {\n const packageDotJson = await getPackageDotJson({ installDir });\n const overrides = packageDotJson.overrides || {};\n\n await updatePackageDotJson(\n {\n ...packageDotJson,\n overrides: {\n ...overrides,\n [pkgName]: pkgVersion,\n },\n },\n { installDir },\n );\n },\n};\n\nexport const packageManagers = [BUN, YARN_V1, YARN_V2, PNPM, NPM];\n\nexport function detectPackageManger({\n installDir,\n}: Pick<WizardOptions, 'installDir'>): PackageManager | null {\n return traceStep('detect-package-manager', () => {\n for (const packageManager of packageManagers) {\n if (packageManager.detect({ installDir })) {\n analytics.setTag('package-manager', packageManager.name);\n return packageManager;\n }\n }\n analytics.setTag('package-manager', 'not-detected');\n return null;\n });\n}\n"]}
@@ -1,8 +0,0 @@
1
- import type { ZodSchema } from 'zod';
2
- import type { CloudRegion } from './types';
3
- export declare const query: <S>({ message, region, schema, wizardHash, }: {
4
- message: string;
5
- region: CloudRegion;
6
- schema: ZodSchema<S>;
7
- wizardHash: string;
8
- }) => Promise<S>;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.query = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const zod_to_json_schema_1 = require("zod-to-json-schema");
9
- const urls_1 = require("./urls");
10
- const query = async ({ message, region, schema, wizardHash, }) => {
11
- const jsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(schema, 'schema').definitions;
12
- const response = await axios_1.default.post(`${(0, urls_1.getCloudUrlFromRegion)(region)}/api/wizard/query`, {
13
- message,
14
- json_schema: { ...jsonSchema, name: 'schema', strict: true },
15
- }, {
16
- headers: {
17
- 'X-PostHog-Wizard-Hash': wizardHash,
18
- },
19
- });
20
- const validation = schema.safeParse(response.data.data);
21
- if (!validation.success) {
22
- throw new Error(`Invalid response from wizard: ${validation.error}`);
23
- }
24
- return validation.data;
25
- };
26
- exports.query = query;
27
- //# sourceMappingURL=query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/utils/query.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,2DAAqD;AAErD,iCAA+C;AAExC,MAAM,KAAK,GAAG,KAAK,EAAK,EAC7B,OAAO,EACP,MAAM,EACN,MAAM,EACN,UAAU,GAMX,EAAc,EAAE;IACf,MAAM,UAAU,GAAG,IAAA,oCAAe,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,WAAW,CAAC;IAEjE,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,GAAG,IAAA,4BAAqB,EAAC,MAAM,CAAC,mBAAmB,EACnD;QACE,OAAO;QACP,WAAW,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;KAC7D,EACD;QACE,OAAO,EAAE;YACP,uBAAuB,EAAE,UAAU;SACpC;KACF,CACF,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC;AACzB,CAAC,CAAC;AAjCW,QAAA,KAAK,SAiChB","sourcesContent":["import axios from 'axios';\nimport type { ZodSchema } from 'zod';\nimport { zodToJsonSchema } from 'zod-to-json-schema';\nimport type { CloudRegion } from './types';\nimport { getCloudUrlFromRegion } from './urls';\n\nexport const query = async <S>({\n message,\n region,\n schema,\n wizardHash,\n}: {\n message: string;\n region: CloudRegion;\n schema: ZodSchema<S>;\n wizardHash: string;\n}): Promise<S> => {\n const jsonSchema = zodToJsonSchema(schema, 'schema').definitions;\n\n const response = await axios.post<{ data: unknown }>(\n `${getCloudUrlFromRegion(region)}/api/wizard/query`,\n {\n message,\n json_schema: { ...jsonSchema, name: 'schema', strict: true },\n },\n {\n headers: {\n 'X-PostHog-Wizard-Hash': wizardHash,\n },\n },\n );\n\n const validation = schema.safeParse(response.data.data);\n\n if (!validation.success) {\n throw new Error(`Invalid response from wizard: ${validation.error}`);\n }\n\n return validation.data;\n};\n"]}
@@ -1,9 +0,0 @@
1
- import { Integration } from '../../lib/constants';
2
- type AddEditorRulesOptions = {
3
- installDir: string;
4
- rulesName: string;
5
- integration: Integration;
6
- default?: boolean;
7
- };
8
- export declare const addEditorRules: ({ installDir, rulesName, integration, default: defaultAddEditorRules, }: AddEditorRulesOptions) => Promise<void>;
9
- export {};
@@ -1,88 +0,0 @@
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.addEditorRules = void 0;
40
- const fs = __importStar(require("fs"));
41
- const chalk_1 = __importDefault(require("chalk"));
42
- const path_1 = __importDefault(require("path"));
43
- const analytics_1 = require("../analytics");
44
- const clack_1 = __importDefault(require("../clack"));
45
- const telemetry_1 = require("../../telemetry");
46
- const clack_utils_1 = require("../clack-utils");
47
- const addEditorRules = async ({ installDir, rulesName, integration, default: defaultAddEditorRules, }) => {
48
- // Add rules file if in Cursor environment
49
- if (process.env.CURSOR_TRACE_ID) {
50
- const addEditorRules = defaultAddEditorRules
51
- ? true
52
- : await (0, clack_utils_1.abortIfCancelled)(clack_1.default.select({
53
- message: 'Would you like to have PostHog added to your Cursor rules?',
54
- options: [
55
- {
56
- label: 'Yes, please!',
57
- value: true,
58
- },
59
- {
60
- label: 'No, thanks',
61
- value: false,
62
- },
63
- ],
64
- }));
65
- if (!addEditorRules) {
66
- return;
67
- }
68
- return (0, telemetry_1.traceStep)('add-editor-rules', async () => {
69
- const docsDir = path_1.default.join(installDir, '.cursor', 'rules');
70
- await fs.promises.mkdir(docsDir, { recursive: true });
71
- const frameworkRules = await fs.promises.readFile(path_1.default.join(__dirname, rulesName), 'utf8');
72
- const universalRulesPath = path_1.default.join(__dirname, 'universal.md');
73
- const universalRules = await fs.promises.readFile(universalRulesPath, 'utf8');
74
- // Replace {universal} placeholder with universal rules content
75
- const combinedRules = frameworkRules.replace('{universal}', universalRules);
76
- const targetPath = path_1.default.join(docsDir, 'posthog-integration.mdc');
77
- // Write the combined rules
78
- await fs.promises.writeFile(targetPath, combinedRules, 'utf8');
79
- analytics_1.analytics.capture('wizard interaction', {
80
- action: 'added editor rules',
81
- integration,
82
- });
83
- clack_1.default.log.info(`Added Cursor rules to ${chalk_1.default.bold.cyan(docsDir)}`);
84
- });
85
- }
86
- };
87
- exports.addEditorRules = addEditorRules;
88
- //# sourceMappingURL=add-editor-rules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-editor-rules.js","sourceRoot":"","sources":["../../../../src/utils/rules/add-editor-rules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,kDAA0B;AAC1B,gDAAwB;AAExB,4CAAyC;AACzC,qDAA6B;AAC7B,+CAA4C;AAC5C,gDAAkD;AAS3C,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,UAAU,EACV,SAAS,EACT,WAAW,EACX,OAAO,EAAE,qBAAqB,GACR,EAAE,EAAE;IAC1B,0CAA0C;IAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,MAAM,cAAc,GAAY,qBAAqB;YACnD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,IAAA,8BAAgB,EACpB,eAAK,CAAC,MAAM,CAAC;gBACX,OAAO,EACL,4DAA4D;gBAC9D,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,cAAc;wBACrB,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,KAAK;qBACb;iBACF;aACF,CAAC,CACH,CAAC;QAEN,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,OAAO,IAAA,qBAAS,EAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAE1D,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEtD,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAC/C,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAC/B,MAAM,CACP,CAAC;YACF,MAAM,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEhE,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAC/C,kBAAkB,EAClB,MAAM,CACP,CAAC;YAEF,+DAA+D;YAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAC1C,aAAa,EACb,cAAc,CACf,CAAC;YACF,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;YAEjE,2BAA2B;YAC3B,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YAE/D,qBAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE;gBACtC,MAAM,EAAE,oBAAoB;gBAC5B,WAAW;aACZ,CAAC,CAAC;YAEH,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAjEW,QAAA,cAAc,kBAiEzB","sourcesContent":["import * as fs from 'fs';\nimport chalk from 'chalk';\nimport path from 'path';\nimport { Integration } from '../../lib/constants';\nimport { analytics } from '../analytics';\nimport clack from '../clack';\nimport { traceStep } from '../../telemetry';\nimport { abortIfCancelled } from '../clack-utils';\n\ntype AddEditorRulesOptions = {\n installDir: string;\n rulesName: string;\n integration: Integration;\n default?: boolean;\n};\n\nexport const addEditorRules = async ({\n installDir,\n rulesName,\n integration,\n default: defaultAddEditorRules,\n}: AddEditorRulesOptions) => {\n // Add rules file if in Cursor environment\n if (process.env.CURSOR_TRACE_ID) {\n const addEditorRules: boolean = defaultAddEditorRules\n ? true\n : await abortIfCancelled(\n clack.select({\n message:\n 'Would you like to have PostHog added to your Cursor rules?',\n options: [\n {\n label: 'Yes, please!',\n value: true,\n },\n {\n label: 'No, thanks',\n value: false,\n },\n ],\n }),\n );\n\n if (!addEditorRules) {\n return;\n }\n\n return traceStep('add-editor-rules', async () => {\n const docsDir = path.join(installDir, '.cursor', 'rules');\n\n await fs.promises.mkdir(docsDir, { recursive: true });\n\n const frameworkRules = await fs.promises.readFile(\n path.join(__dirname, rulesName),\n 'utf8',\n );\n const universalRulesPath = path.join(__dirname, 'universal.md');\n\n const universalRules = await fs.promises.readFile(\n universalRulesPath,\n 'utf8',\n );\n\n // Replace {universal} placeholder with universal rules content\n const combinedRules = frameworkRules.replace(\n '{universal}',\n universalRules,\n );\n const targetPath = path.join(docsDir, 'posthog-integration.mdc');\n\n // Write the combined rules\n await fs.promises.writeFile(targetPath, combinedRules, 'utf8');\n\n analytics.capture('wizard interaction', {\n action: 'added editor rules',\n integration,\n });\n\n clack.log.info(`Added Cursor rules to ${chalk.bold.cyan(docsDir)}`);\n });\n }\n};\n"]}
@@ -1,82 +0,0 @@
1
- import * as fs from 'fs';
2
- import chalk from 'chalk';
3
- import path from 'path';
4
- import { Integration } from '../../lib/constants';
5
- import { analytics } from '../analytics';
6
- import clack from '../clack';
7
- import { traceStep } from '../../telemetry';
8
- import { abortIfCancelled } from '../clack-utils';
9
-
10
- type AddEditorRulesOptions = {
11
- installDir: string;
12
- rulesName: string;
13
- integration: Integration;
14
- default?: boolean;
15
- };
16
-
17
- export const addEditorRules = async ({
18
- installDir,
19
- rulesName,
20
- integration,
21
- default: defaultAddEditorRules,
22
- }: AddEditorRulesOptions) => {
23
- // Add rules file if in Cursor environment
24
- if (process.env.CURSOR_TRACE_ID) {
25
- const addEditorRules: boolean = defaultAddEditorRules
26
- ? true
27
- : await abortIfCancelled(
28
- clack.select({
29
- message:
30
- 'Would you like to have PostHog added to your Cursor rules?',
31
- options: [
32
- {
33
- label: 'Yes, please!',
34
- value: true,
35
- },
36
- {
37
- label: 'No, thanks',
38
- value: false,
39
- },
40
- ],
41
- }),
42
- );
43
-
44
- if (!addEditorRules) {
45
- return;
46
- }
47
-
48
- return traceStep('add-editor-rules', async () => {
49
- const docsDir = path.join(installDir, '.cursor', 'rules');
50
-
51
- await fs.promises.mkdir(docsDir, { recursive: true });
52
-
53
- const frameworkRules = await fs.promises.readFile(
54
- path.join(__dirname, rulesName),
55
- 'utf8',
56
- );
57
- const universalRulesPath = path.join(__dirname, 'universal.md');
58
-
59
- const universalRules = await fs.promises.readFile(
60
- universalRulesPath,
61
- 'utf8',
62
- );
63
-
64
- // Replace {universal} placeholder with universal rules content
65
- const combinedRules = frameworkRules.replace(
66
- '{universal}',
67
- universalRules,
68
- );
69
- const targetPath = path.join(docsDir, 'posthog-integration.mdc');
70
-
71
- // Write the combined rules
72
- await fs.promises.writeFile(targetPath, combinedRules, 'utf8');
73
-
74
- analytics.capture('wizard interaction', {
75
- action: 'added editor rules',
76
- integration,
77
- });
78
-
79
- clack.log.info(`Added Cursor rules to ${chalk.bold.cyan(docsDir)}`);
80
- });
81
- }
82
- };
@@ -1,9 +0,0 @@
1
- ---
2
- description: apply when interacting with PostHog/analytics tasks
3
- globs:
4
- alwaysApply: true
5
- ---
6
-
7
- {universal}
8
-
9
-
@@ -1,7 +0,0 @@
1
- ---
2
- description: apply when interacting with PostHog/analytics tasks
3
- globs:
4
- alwaysApply: true
5
- ---
6
-
7
- {universal}
@@ -1,20 +0,0 @@
1
- Never hallucinate an API key. Instead, always use the API key populated in the .env file.
2
-
3
- # Feature flags
4
-
5
- A given feature flag should be used in as few places as possible. Do not increase the risk of undefined behavior by scattering the same feature flag across multiple areas of code. If the same feature flag needs to be introduced at multiple callsites, flag this for the developer to inspect carefully.
6
-
7
- If a job requires creating new feature flag names, make them as clear and descriptive as possible.
8
-
9
- If using TypeScript, use an enum to store flag names. If using JavaScript, store flag names as strings to an object declared as a constant, to simulate an enum. Use a consistent naming convention for this storage. enum/const object members should be written UPPERCASE_WITH_UNDERSCORE.
10
-
11
- Gate flag-dependent code on a check that verifies the flag's values are valid and expected.
12
-
13
- # Custom properties
14
-
15
- If a custom property for a person or event is at any point referenced in two or more files or two or more callsites in the same file, use an enum or const object, as above in feature flags.
16
-
17
- # Naming
18
-
19
- Before creating any new event or property names, consult with the developer for any existing naming convention. Consistency in naming is essential, and additional context may exist outside this project. Similarly, be careful about any changes to existing event and property names, as this may break reporting and distort data for the project.
20
-
@@ -1,5 +0,0 @@
1
- export declare function fulfillsVersionRange({ version, acceptableVersions, canBeLatest, }: {
2
- version: string;
3
- acceptableVersions: string;
4
- canBeLatest: boolean;
5
- }): boolean;