@posthog/wizard 0.6.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.
- package/package.json +1 -1
- package/dist/bin.d.ts +0 -2
- package/dist/bin.js +0 -28
- package/dist/bin.js.map +0 -1
- package/dist/src/lib/config.d.ts +0 -49
- package/dist/src/lib/config.js +0 -85
- package/dist/src/lib/config.js.map +0 -1
- package/dist/src/lib/constants.d.ts +0 -24
- package/dist/src/lib/constants.js +0 -46
- package/dist/src/lib/constants.js.map +0 -1
- package/dist/src/lib/messages.d.ts +0 -10
- package/dist/src/lib/messages.js +0 -37
- 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/nextjs/docs.d.ts +0 -8
- package/dist/src/nextjs/docs.js +0 -257
- package/dist/src/nextjs/docs.js.map +0 -1
- package/dist/src/nextjs/nextjs-wizard.d.ts +0 -2
- package/dist/src/nextjs/nextjs-wizard.js +0 -121
- package/dist/src/nextjs/nextjs-wizard.js.map +0 -1
- package/dist/src/nextjs/utils.d.ts +0 -9
- package/dist/src/nextjs/utils.js +0 -83
- package/dist/src/nextjs/utils.js.map +0 -1
- package/dist/src/react/docs.d.ts +0 -4
- package/dist/src/react/docs.js +0 -46
- 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 -105
- 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 -123
- package/dist/src/react-native/react-native-wizard.js.map +0 -1
- package/dist/src/run.d.ts +0 -13
- package/dist/src/run.js +0 -83
- package/dist/src/run.js.map +0 -1
- package/dist/src/svelte/docs.d.ts +0 -3
- package/dist/src/svelte/docs.js +0 -110
- 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 -113
- package/dist/src/svelte/svelte-wizard.js.map +0 -1
- package/dist/src/telemetry.d.ts +0 -2
- package/dist/src/telemetry.js +0 -13
- package/dist/src/telemetry.js.map +0 -1
- package/dist/src/utils/analytics.d.ts +0 -12
- package/dist/src/utils/analytics.js +0 -59
- package/dist/src/utils/analytics.js.map +0 -1
- package/dist/src/utils/bash.d.ts +0 -2
- package/dist/src/utils/bash.js +0 -54
- package/dist/src/utils/bash.js.map +0 -1
- package/dist/src/utils/clack-utils.d.ts +0 -184
- package/dist/src/utils/clack-utils.js +0 -683
- package/dist/src/utils/clack-utils.js.map +0 -1
- package/dist/src/utils/clack.d.ts +0 -2
- package/dist/src/utils/clack.js +0 -9
- package/dist/src/utils/clack.js.map +0 -1
- package/dist/src/utils/debug.d.ts +0 -2
- package/dist/src/utils/debug.js +0 -22
- package/dist/src/utils/debug.js.map +0 -1
- package/dist/src/utils/environment.d.ts +0 -9
- package/dist/src/utils/environment.js +0 -164
- package/dist/src/utils/environment.js.map +0 -1
- package/dist/src/utils/file-utils.d.ts +0 -29
- package/dist/src/utils/file-utils.js +0 -177
- package/dist/src/utils/file-utils.js.map +0 -1
- package/dist/src/utils/logging.d.ts +0 -9
- package/dist/src/utils/logging.js +0 -50
- package/dist/src/utils/logging.js.map +0 -1
- package/dist/src/utils/package-json.d.ts +0 -25
- package/dist/src/utils/package-json.js +0 -27
- package/dist/src/utils/package-json.js.map +0 -1
- package/dist/src/utils/package-manager.d.ts +0 -21
- package/dist/src/utils/package-manager.js +0 -208
- package/dist/src/utils/package-manager.js.map +0 -1
- package/dist/src/utils/query.d.ts +0 -8
- package/dist/src/utils/query.js +0 -27
- package/dist/src/utils/query.js.map +0 -1
- package/dist/src/utils/rules/add-editor-rules.d.ts +0 -9
- package/dist/src/utils/rules/add-editor-rules.js +0 -90
- package/dist/src/utils/rules/add-editor-rules.js.map +0 -1
- package/dist/src/utils/rules/add-editor-rules.ts +0 -86
- package/dist/src/utils/rules/next-rules.md +0 -9
- package/dist/src/utils/rules/react-native-rules.md +0 -7
- package/dist/src/utils/rules/react-rules.md +0 -7
- package/dist/src/utils/rules/svelte-rules.md +0 -7
- package/dist/src/utils/rules/universal.md +0 -20
- package/dist/src/utils/semver.d.ts +0 -5
- package/dist/src/utils/semver.js +0 -25
- package/dist/src/utils/semver.js.map +0 -1
- package/dist/src/utils/string.d.ts +0 -1
- package/dist/src/utils/string.js +0 -9
- package/dist/src/utils/string.js.map +0 -1
- package/dist/src/utils/types.d.ts +0 -48
- package/dist/src/utils/types.js +0 -3
- package/dist/src/utils/types.js.map +0 -1
- package/dist/src/utils/urls.d.ts +0 -4
- package/dist/src/utils/urls.js +0 -35
- package/dist/src/utils/urls.js.map +0 -1
- package/dist/src/utils/vendor/is-unicorn-supported.d.ts +0 -1
- package/dist/src/utils/vendor/is-unicorn-supported.js +0 -24
- 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,21 +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 EXPO: PackageManager;
|
|
20
|
-
export declare const packageManagers: PackageManager[];
|
|
21
|
-
export declare function detectPackageManger({ installDir, }: Pick<WizardOptions, 'installDir'>): PackageManager | null;
|
|
@@ -1,208 +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.EXPO = 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.EXPO = {
|
|
175
|
-
name: 'expo',
|
|
176
|
-
label: 'Expo',
|
|
177
|
-
installCommand: 'npx expo install',
|
|
178
|
-
buildCommand: 'npx expo build',
|
|
179
|
-
runScriptCommand: 'npx expo run',
|
|
180
|
-
flags: '',
|
|
181
|
-
forceInstallFlag: '--force',
|
|
182
|
-
detect: () => false,
|
|
183
|
-
addOverride: async (pkgName, pkgVersion, { installDir }) => {
|
|
184
|
-
const packageDotJson = await (0, clack_utils_1.getPackageDotJson)({ installDir });
|
|
185
|
-
const overrides = packageDotJson.overrides || {};
|
|
186
|
-
await (0, clack_utils_1.updatePackageDotJson)({
|
|
187
|
-
...packageDotJson,
|
|
188
|
-
overrides: {
|
|
189
|
-
...overrides,
|
|
190
|
-
[pkgName]: pkgVersion,
|
|
191
|
-
},
|
|
192
|
-
}, { installDir });
|
|
193
|
-
},
|
|
194
|
-
};
|
|
195
|
-
exports.packageManagers = [exports.BUN, exports.YARN_V1, exports.YARN_V2, exports.PNPM, exports.NPM, exports.EXPO];
|
|
196
|
-
function detectPackageManger({ installDir, }) {
|
|
197
|
-
return (0, telemetry_1.traceStep)('detect-package-manager', () => {
|
|
198
|
-
for (const packageManager of exports.packageManagers) {
|
|
199
|
-
if (packageManager.detect({ installDir })) {
|
|
200
|
-
analytics_1.analytics.setTag('package-manager', packageManager.name);
|
|
201
|
-
return packageManager;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
analytics_1.analytics.setTag('package-manager', 'not-detected');
|
|
205
|
-
return null;
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
//# 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 EXPO: PackageManager = {\n name: 'expo',\n label: 'Expo',\n installCommand: 'npx expo install',\n buildCommand: 'npx expo build',\n runScriptCommand: 'npx expo run',\n flags: '',\n forceInstallFlag: '--force',\n detect: () => false,\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, EXPO];\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>;
|
package/dist/src/utils/query.js
DELETED
|
@@ -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<boolean>;
|
|
9
|
-
export {};
|
|
@@ -1,90 +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 false;
|
|
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
|
-
return true;
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
return false;
|
|
88
|
-
};
|
|
89
|
-
exports.addEditorRules = addEditorRules;
|
|
90
|
-
//# 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,EAAoB,EAAE;IAC5C,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,KAAK,CAAC;QACf,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;YAEpE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AArEW,QAAA,cAAc,kBAqEzB","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): Promise<boolean> => {\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 false;\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 return true;\n });\n }\n\n return false;\n};\n"]}
|
|
@@ -1,86 +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): Promise<boolean> => {
|
|
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 false;
|
|
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
|
-
return true;
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return false;
|
|
86
|
-
};
|