@posthog/wizard 0.7.0 → 0.7.1
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/dist/bin.d.ts +2 -0
- package/dist/bin.js +28 -0
- package/dist/bin.js.map +1 -0
- package/dist/src/lib/config.d.ts +49 -0
- package/dist/src/lib/config.js +85 -0
- package/dist/src/lib/config.js.map +1 -0
- package/dist/src/lib/constants.d.ts +25 -0
- package/dist/src/lib/constants.js +45 -0
- package/dist/src/lib/constants.js.map +1 -0
- package/dist/src/lib/messages.d.ts +16 -0
- package/dist/src/lib/messages.js +52 -0
- package/dist/src/lib/messages.js.map +1 -0
- package/dist/src/lib/prompts.d.ts +16 -0
- package/dist/src/lib/prompts.js +83 -0
- package/dist/src/lib/prompts.js.map +1 -0
- package/dist/src/nextjs/docs.d.ts +8 -0
- package/dist/src/nextjs/docs.js +257 -0
- package/dist/src/nextjs/docs.js.map +1 -0
- package/dist/src/nextjs/nextjs-wizard.d.ts +2 -0
- package/dist/src/nextjs/nextjs-wizard.js +127 -0
- package/dist/src/nextjs/nextjs-wizard.js.map +1 -0
- package/dist/src/nextjs/utils.d.ts +9 -0
- package/dist/src/nextjs/utils.js +83 -0
- package/dist/src/nextjs/utils.js.map +1 -0
- package/dist/src/react/docs.d.ts +4 -0
- package/dist/src/react/docs.js +46 -0
- package/dist/src/react/docs.js.map +1 -0
- package/dist/src/react/react-wizard.d.ts +2 -0
- package/dist/src/react/react-wizard.js +106 -0
- package/dist/src/react/react-wizard.js.map +1 -0
- package/dist/src/react-native/docs.d.ts +5 -0
- package/dist/src/react-native/docs.js +31 -0
- package/dist/src/react-native/docs.js.map +1 -0
- package/dist/src/react-native/react-native-wizard.d.ts +2 -0
- package/dist/src/react-native/react-native-wizard.js +123 -0
- package/dist/src/react-native/react-native-wizard.js.map +1 -0
- package/dist/src/run.d.ts +13 -0
- package/dist/src/run.js +85 -0
- package/dist/src/run.js.map +1 -0
- package/dist/src/steps/__tests__/add-editor-rules.test.d.ts +1 -0
- package/dist/src/steps/__tests__/add-editor-rules.test.js +218 -0
- package/dist/src/steps/__tests__/add-editor-rules.test.js.map +1 -0
- package/dist/src/steps/__tests__/create-pr.test.d.ts +1 -0
- package/dist/src/steps/__tests__/create-pr.test.js +193 -0
- package/dist/src/steps/__tests__/create-pr.test.js.map +1 -0
- package/dist/src/steps/add-editor-rules.d.ts +9 -0
- package/dist/src/steps/add-editor-rules.js +90 -0
- package/dist/src/steps/add-editor-rules.js.map +1 -0
- package/dist/src/steps/add-or-update-environment-variables.d.ts +10 -0
- package/dist/src/steps/add-or-update-environment-variables.js +194 -0
- package/dist/src/steps/add-or-update-environment-variables.js.map +1 -0
- package/dist/src/steps/create-pr.d.ts +27 -0
- package/dist/src/steps/create-pr.js +305 -0
- package/dist/src/steps/create-pr.js.map +1 -0
- package/dist/src/steps/index.d.ts +4 -0
- package/dist/src/steps/index.js +21 -0
- package/dist/src/steps/index.js.map +1 -0
- package/dist/src/steps/run-prettier.d.ts +5 -0
- package/dist/src/steps/run-prettier.js +93 -0
- package/dist/src/steps/run-prettier.js.map +1 -0
- package/dist/src/svelte/docs.d.ts +3 -0
- package/dist/src/svelte/docs.js +110 -0
- package/dist/src/svelte/docs.js.map +1 -0
- package/dist/src/svelte/svelte-wizard.d.ts +2 -0
- package/dist/src/svelte/svelte-wizard.js +114 -0
- package/dist/src/svelte/svelte-wizard.js.map +1 -0
- package/dist/src/telemetry.d.ts +2 -0
- package/dist/src/telemetry.js +13 -0
- package/dist/src/telemetry.js.map +1 -0
- package/dist/src/utils/__tests__/clack-utils.test.d.ts +1 -0
- package/dist/src/utils/__tests__/clack-utils.test.js +128 -0
- package/dist/src/utils/__tests__/clack-utils.test.js.map +1 -0
- package/dist/src/utils/analytics.d.ts +12 -0
- package/dist/src/utils/analytics.js +59 -0
- package/dist/src/utils/analytics.js.map +1 -0
- package/dist/src/utils/bash.d.ts +2 -0
- package/dist/src/utils/bash.js +54 -0
- package/dist/src/utils/bash.js.map +1 -0
- package/dist/src/utils/clack-utils.d.ts +180 -0
- package/dist/src/utils/clack-utils.js +634 -0
- package/dist/src/utils/clack-utils.js.map +1 -0
- package/dist/src/utils/clack.d.ts +2 -0
- package/dist/src/utils/clack.js +9 -0
- package/dist/src/utils/clack.js.map +1 -0
- package/dist/src/utils/debug.d.ts +2 -0
- package/dist/src/utils/debug.js +22 -0
- package/dist/src/utils/debug.js.map +1 -0
- package/dist/src/utils/environment.d.ts +3 -0
- package/dist/src/utils/environment.js +64 -0
- package/dist/src/utils/environment.js.map +1 -0
- package/dist/src/utils/file-utils.d.ts +29 -0
- package/dist/src/utils/file-utils.js +177 -0
- package/dist/src/utils/file-utils.js.map +1 -0
- package/dist/src/utils/logging.d.ts +9 -0
- package/dist/src/utils/logging.js +50 -0
- package/dist/src/utils/logging.js.map +1 -0
- package/dist/src/utils/package-json.d.ts +25 -0
- package/dist/src/utils/package-json.js +27 -0
- package/dist/src/utils/package-json.js.map +1 -0
- package/dist/src/utils/package-manager.d.ts +21 -0
- package/dist/src/utils/package-manager.js +208 -0
- package/dist/src/utils/package-manager.js.map +1 -0
- package/dist/src/utils/query.d.ts +8 -0
- package/dist/src/utils/query.js +27 -0
- package/dist/src/utils/query.js.map +1 -0
- package/dist/src/utils/rules/next-rules.md +9 -0
- package/dist/src/utils/rules/react-native-rules.md +7 -0
- package/dist/src/utils/rules/react-rules.md +7 -0
- package/dist/src/utils/rules/svelte-rules.md +7 -0
- package/dist/src/utils/rules/universal.md +20 -0
- package/dist/src/utils/semver.d.ts +5 -0
- package/dist/src/utils/semver.js +25 -0
- package/dist/src/utils/semver.js.map +1 -0
- package/dist/src/utils/string.d.ts +1 -0
- package/dist/src/utils/string.js +9 -0
- package/dist/src/utils/string.js.map +1 -0
- package/dist/src/utils/types.d.ts +48 -0
- package/dist/src/utils/types.js +3 -0
- package/dist/src/utils/types.js.map +1 -0
- package/dist/src/utils/urls.d.ts +4 -0
- package/dist/src/utils/urls.js +35 -0
- package/dist/src/utils/urls.js.map +1 -0
- package/dist/src/utils/vendor/is-unicorn-supported.d.ts +1 -0
- package/dist/src/utils/vendor/is-unicorn-supported.js +24 -0
- package/dist/src/utils/vendor/is-unicorn-supported.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,208 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
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>;
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fulfillsVersionRange = fulfillsVersionRange;
|
|
4
|
+
const semver_1 = require("semver");
|
|
5
|
+
function fulfillsVersionRange({ version, acceptableVersions, canBeLatest, }) {
|
|
6
|
+
if (version === 'latest') {
|
|
7
|
+
return canBeLatest;
|
|
8
|
+
}
|
|
9
|
+
let cleanedUserVersion, isRange;
|
|
10
|
+
if ((0, semver_1.valid)(version)) {
|
|
11
|
+
cleanedUserVersion = (0, semver_1.valid)(version);
|
|
12
|
+
isRange = false;
|
|
13
|
+
}
|
|
14
|
+
else if ((0, semver_1.validRange)(version)) {
|
|
15
|
+
cleanedUserVersion = (0, semver_1.validRange)(version);
|
|
16
|
+
isRange = true;
|
|
17
|
+
}
|
|
18
|
+
return (
|
|
19
|
+
// If the given version is a bogus format, this will still be undefined and we'll automatically reject it
|
|
20
|
+
!!cleanedUserVersion &&
|
|
21
|
+
(isRange
|
|
22
|
+
? (0, semver_1.subset)(cleanedUserVersion, acceptableVersions)
|
|
23
|
+
: (0, semver_1.satisfies)(cleanedUserVersion, acceptableVersions)));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=semver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.js","sourceRoot":"","sources":["../../../src/utils/semver.ts"],"names":[],"mappings":";;AAEA,oDA8BC;AAhCD,mCAA8D;AAE9D,SAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,kBAAkB,EAClB,WAAW,GAKZ;IACC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,kBAAkB,EAAE,OAAO,CAAC;IAEhC,IAAI,IAAA,cAAK,EAAC,OAAO,CAAC,EAAE,CAAC;QACnB,kBAAkB,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC;QACpC,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;SAAM,IAAI,IAAA,mBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,kBAAkB,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;QACzC,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO;IACL,yGAAyG;IACzG,CAAC,CAAC,kBAAkB;QACpB,CAAC,OAAO;YACN,CAAC,CAAC,IAAA,eAAM,EAAC,kBAAkB,EAAE,kBAAkB,CAAC;YAChD,CAAC,CAAC,IAAA,kBAAS,EAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CACvD,CAAC;AACJ,CAAC","sourcesContent":["import { satisfies, subset, valid, validRange } from 'semver';\n\nexport function fulfillsVersionRange({\n version,\n acceptableVersions,\n canBeLatest,\n}: {\n version: string;\n acceptableVersions: string;\n canBeLatest: boolean;\n}): boolean {\n if (version === 'latest') {\n return canBeLatest;\n }\n\n let cleanedUserVersion, isRange;\n\n if (valid(version)) {\n cleanedUserVersion = valid(version);\n isRange = false;\n } else if (validRange(version)) {\n cleanedUserVersion = validRange(version);\n isRange = true;\n }\n\n return (\n // If the given version is a bogus format, this will still be undefined and we'll automatically reject it\n !!cleanedUserVersion &&\n (isRange\n ? subset(cleanedUserVersion, acceptableVersions)\n : satisfies(cleanedUserVersion, acceptableVersions))\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function stripAnsii(str: string): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stripAnsii = stripAnsii;
|
|
4
|
+
function stripAnsii(str) {
|
|
5
|
+
return str.replace(
|
|
6
|
+
// eslint-disable-next-line no-control-regex
|
|
7
|
+
/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../src/utils/string.ts"],"names":[],"mappings":";;AAAA,gCAMC;AAND,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,OAAO;IAChB,4CAA4C;IAC5C,6EAA6E,EAC7E,EAAE,CACH,CAAC;AACJ,CAAC","sourcesContent":["export function stripAnsii(str: string): string {\n return str.replace(\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\n '',\n );\n}\n"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export type PostHogProjectData = Record<string, unknown>;
|
|
2
|
+
export type PreselectedProject = {
|
|
3
|
+
project: PostHogProjectData;
|
|
4
|
+
authToken: string;
|
|
5
|
+
};
|
|
6
|
+
export type WizardOptions = {
|
|
7
|
+
/**
|
|
8
|
+
* Whether to enable debug mode.
|
|
9
|
+
*/
|
|
10
|
+
debug: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Whether to force install the SDK package to continue with the installation in case
|
|
13
|
+
* any package manager checks are failing (e.g. peer dependency versions).
|
|
14
|
+
*
|
|
15
|
+
* Use with caution and only if you know what you're doing.
|
|
16
|
+
*
|
|
17
|
+
* Does not apply to all wizard flows (currently NPM only)
|
|
18
|
+
*/
|
|
19
|
+
forceInstall: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The directory to run the wizard in.
|
|
22
|
+
*/
|
|
23
|
+
installDir: string;
|
|
24
|
+
/**
|
|
25
|
+
* The cloud region to use.
|
|
26
|
+
*/
|
|
27
|
+
cloudRegion?: CloudRegion;
|
|
28
|
+
/**
|
|
29
|
+
* Whether to select the default option for all questions automatically.
|
|
30
|
+
*/
|
|
31
|
+
default: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether to create a new PostHog account during setup.
|
|
34
|
+
*/
|
|
35
|
+
signup: boolean;
|
|
36
|
+
};
|
|
37
|
+
export interface Feature {
|
|
38
|
+
id: string;
|
|
39
|
+
prompt: string;
|
|
40
|
+
enabledHint?: string;
|
|
41
|
+
disabledHint?: string;
|
|
42
|
+
}
|
|
43
|
+
export type FileChange = {
|
|
44
|
+
filePath: string;
|
|
45
|
+
oldContent?: string;
|
|
46
|
+
newContent: string;
|
|
47
|
+
};
|
|
48
|
+
export type CloudRegion = 'us' | 'eu';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"","sourcesContent":["export type PostHogProjectData = Record<string, unknown>;\n\nexport type PreselectedProject = {\n project: PostHogProjectData;\n authToken: string;\n};\n\nexport type WizardOptions = {\n /**\n * Whether to enable debug mode.\n */\n debug: boolean;\n\n /**\n * Whether to force install the SDK package to continue with the installation in case\n * any package manager checks are failing (e.g. peer dependency versions).\n *\n * Use with caution and only if you know what you're doing.\n *\n * Does not apply to all wizard flows (currently NPM only)\n */\n forceInstall: boolean;\n\n /**\n * The directory to run the wizard in.\n */\n installDir: string;\n\n /**\n * The cloud region to use.\n */\n cloudRegion?: CloudRegion;\n\n /**\n * Whether to select the default option for all questions automatically.\n */\n default: boolean;\n\n /**\n * Whether to create a new PostHog account during setup.\n */\n signup: boolean;\n};\n\nexport interface Feature {\n id: string;\n prompt: string;\n enabledHint?: string;\n disabledHint?: string;\n}\n\nexport type FileChange = {\n filePath: string;\n oldContent?: string;\n newContent: string;\n};\n\nexport type CloudRegion = 'us' | 'eu';\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CloudRegion } from './types';
|
|
2
|
+
export declare const getAssetHostFromHost: (host: string) => string;
|
|
3
|
+
export declare const getUiHostFromHost: (host: string) => string;
|
|
4
|
+
export declare const getCloudUrlFromRegion: (region: CloudRegion) => "http://localhost:8010" | "https://us.posthog.com" | "https://eu.posthog.com";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCloudUrlFromRegion = exports.getUiHostFromHost = exports.getAssetHostFromHost = void 0;
|
|
4
|
+
const constants_1 = require("../lib/constants");
|
|
5
|
+
const getAssetHostFromHost = (host) => {
|
|
6
|
+
if (host.includes('us.i.posthog.com')) {
|
|
7
|
+
return 'https://us-assets.i.posthog.com';
|
|
8
|
+
}
|
|
9
|
+
if (host.includes('eu.i.posthog.com')) {
|
|
10
|
+
return 'https://eu-assets.i.posthog.com';
|
|
11
|
+
}
|
|
12
|
+
return host;
|
|
13
|
+
};
|
|
14
|
+
exports.getAssetHostFromHost = getAssetHostFromHost;
|
|
15
|
+
const getUiHostFromHost = (host) => {
|
|
16
|
+
if (host.includes('us.i.posthog.com')) {
|
|
17
|
+
return 'https://us.posthog.com';
|
|
18
|
+
}
|
|
19
|
+
if (host.includes('eu.i.posthog.com')) {
|
|
20
|
+
return 'https://eu.posthog.com';
|
|
21
|
+
}
|
|
22
|
+
return host;
|
|
23
|
+
};
|
|
24
|
+
exports.getUiHostFromHost = getUiHostFromHost;
|
|
25
|
+
const getCloudUrlFromRegion = (region) => {
|
|
26
|
+
if (constants_1.IS_DEV) {
|
|
27
|
+
return 'http://localhost:8010';
|
|
28
|
+
}
|
|
29
|
+
if (region === 'us') {
|
|
30
|
+
return 'https://us.posthog.com';
|
|
31
|
+
}
|
|
32
|
+
return 'https://eu.posthog.com';
|
|
33
|
+
};
|
|
34
|
+
exports.getCloudUrlFromRegion = getCloudUrlFromRegion;
|
|
35
|
+
//# sourceMappingURL=urls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../src/utils/urls.ts"],"names":[],"mappings":";;;AAAA,gDAA0C;AAGnC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,EAAE;IACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEK,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;IAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B;AAEK,MAAM,qBAAqB,GAAG,CAAC,MAAmB,EAAE,EAAE;IAC3D,IAAI,kBAAM,EAAE,CAAC;QACX,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,wBAAwB,CAAC;IAClC,CAAC;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AATW,QAAA,qBAAqB,yBAShC","sourcesContent":["import { IS_DEV } from '../lib/constants';\nimport type { CloudRegion } from './types';\n\nexport const getAssetHostFromHost = (host: string) => {\n if (host.includes('us.i.posthog.com')) {\n return 'https://us-assets.i.posthog.com';\n }\n\n if (host.includes('eu.i.posthog.com')) {\n return 'https://eu-assets.i.posthog.com';\n }\n\n return host;\n};\n\nexport const getUiHostFromHost = (host: string) => {\n if (host.includes('us.i.posthog.com')) {\n return 'https://us.posthog.com';\n }\n\n if (host.includes('eu.i.posthog.com')) {\n return 'https://eu.posthog.com';\n }\n\n return host;\n};\n\nexport const getCloudUrlFromRegion = (region: CloudRegion) => {\n if (IS_DEV) {\n return 'http://localhost:8010';\n }\n\n if (region === 'us') {\n return 'https://us.posthog.com';\n }\n return 'https://eu.posthog.com';\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isUnicodeSupported(): boolean;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Vendored from: https://github.com/sindresorhus/is-unicode-supported/blob/c80c691dde9e2fcfe3996810858c6672c8f35ad9/index.js#L3
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.isUnicodeSupported = isUnicodeSupported;
|
|
5
|
+
// MIT License
|
|
6
|
+
// Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
7
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
8
|
+
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
9
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
10
|
+
function isUnicodeSupported() {
|
|
11
|
+
if (process.platform !== 'win32') {
|
|
12
|
+
return process.env.TERM !== 'linux'; // Linux console (kernel)
|
|
13
|
+
}
|
|
14
|
+
return (Boolean(process.env.CI) ||
|
|
15
|
+
Boolean(process.env.WT_SESSION) || // Windows Terminal
|
|
16
|
+
Boolean(process.env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
|
|
17
|
+
process.env.ConEmuTask === '{cmd::Cmder}' || // ConEmu and cmder
|
|
18
|
+
process.env.TERM_PROGRAM === 'Terminus-Sublime' ||
|
|
19
|
+
process.env.TERM_PROGRAM === 'vscode' ||
|
|
20
|
+
process.env.TERM === 'xterm-256color' ||
|
|
21
|
+
process.env.TERM === 'alacritty' ||
|
|
22
|
+
process.env.TERMINAL_EMULATOR === 'JetBrains-JediTerm');
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=is-unicorn-supported.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-unicorn-supported.js","sourceRoot":"","sources":["../../../../src/utils/vendor/is-unicorn-supported.ts"],"names":[],"mappings":";AAAA,gIAAgI;;AAYhI,gDAgBC;AA1BD,cAAc;AAEd,kFAAkF;AAElF,mbAAmb;AAEnb,iIAAiI;AAEjI,+cAA+c;AAE/c,SAAgB,kBAAkB;IAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,yBAAyB;IAChE,CAAC;IAED,OAAO,CACL,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,mBAAmB;QACtD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,qBAAqB;QAC9D,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,cAAc,IAAI,mBAAmB;QAChE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,kBAAkB;QAC/C,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ;QACrC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB;QACrC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW;QAChC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,oBAAoB,CACvD,CAAC;AACJ,CAAC","sourcesContent":["// Vendored from: https://github.com/sindresorhus/is-unicode-supported/blob/c80c691dde9e2fcfe3996810858c6672c8f35ad9/index.js#L3\n\n// MIT License\n\n// Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport function isUnicodeSupported() {\n if (process.platform !== 'win32') {\n return process.env.TERM !== 'linux'; // Linux console (kernel)\n }\n\n return (\n Boolean(process.env.CI) ||\n Boolean(process.env.WT_SESSION) || // Windows Terminal\n Boolean(process.env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)\n process.env.ConEmuTask === '{cmd::Cmder}' || // ConEmu and cmder\n process.env.TERM_PROGRAM === 'Terminus-Sublime' ||\n process.env.TERM_PROGRAM === 'vscode' ||\n process.env.TERM === 'xterm-256color' ||\n process.env.TERM === 'alacritty' ||\n process.env.TERMINAL_EMULATOR === 'JetBrains-JediTerm'\n );\n}\n"]}
|
package/package.json
CHANGED