create-checkly 7.15.0 → 8.0.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/LICENSE +201 -0
- package/bin/run +4 -5
- package/dist/actions/creates.js +8 -12
- package/dist/actions/creates.js.map +1 -1
- package/dist/actions/dependencies.d.ts +1 -1
- package/dist/actions/dependencies.js +15 -21
- package/dist/actions/dependencies.js.map +1 -1
- package/dist/actions/git.js +11 -15
- package/dist/actions/git.js.map +1 -1
- package/dist/actions/playwright.js +14 -19
- package/dist/actions/playwright.js.map +1 -1
- package/dist/actions/template.js +12 -16
- package/dist/actions/template.js.map +1 -1
- package/dist/commands/bootstrap.js +30 -34
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/loader/index.d.ts +5 -6
- package/dist/loader/index.js +5 -16
- package/dist/loader/index.js.map +1 -1
- package/dist/loader/jiti.d.ts +1 -1
- package/dist/loader/jiti.js +14 -50
- package/dist/loader/jiti.js.map +1 -1
- package/dist/loader/loader.d.ts +1 -1
- package/dist/loader/loader.js +4 -9
- package/dist/loader/loader.js.map +1 -1
- package/dist/loader/match.js +3 -7
- package/dist/loader/match.js.map +1 -1
- package/dist/loader/mixed.d.ts +1 -1
- package/dist/loader/mixed.js +4 -8
- package/dist/loader/mixed.js.map +1 -1
- package/dist/loader/native.d.ts +1 -1
- package/dist/loader/native.js +5 -42
- package/dist/loader/native.js.map +1 -1
- package/dist/utils/directory.js +22 -39
- package/dist/utils/directory.js.map +1 -1
- package/dist/utils/fileloader.js +3 -6
- package/dist/utils/fileloader.js.map +1 -1
- package/dist/utils/fullname.js +8 -12
- package/dist/utils/fullname.js.map +1 -1
- package/dist/utils/installation.js +30 -38
- package/dist/utils/installation.js.map +1 -1
- package/dist/utils/messages.js +19 -26
- package/dist/utils/messages.js.map +1 -1
- package/dist/utils/playwright-config-template.js +2 -6
- package/dist/utils/playwright-config-template.js.map +1 -1
- package/dist/utils/prompts.js +30 -43
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/terminal.js +3 -7
- package/dist/utils/terminal.js.map +1 -1
- package/dist/utils/which-pm.js +1 -4
- package/dist/utils/which-pm.js.map +1 -1
- package/package.json +20 -31
- package/dist/loader/ts-node.d.ts +0 -25
- package/dist/loader/ts-node.js +0 -131
- package/dist/loader/ts-node.js.map +0 -1
package/dist/utils/directory.js
CHANGED
|
@@ -1,47 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.loadPlaywrightConfig = loadPlaywrightConfig;
|
|
8
|
-
exports.isValidProjectDirectory = isValidProjectDirectory;
|
|
9
|
-
exports.hasGitDir = hasGitDir;
|
|
10
|
-
exports.checkFilesToKeep = checkFilesToKeep;
|
|
11
|
-
exports.copyTemporaryFiles = copyTemporaryFiles;
|
|
12
|
-
exports.usePackageName = usePackageName;
|
|
13
|
-
exports.hasGitIgnore = hasGitIgnore;
|
|
14
|
-
exports.isValidUrl = isValidUrl;
|
|
15
|
-
exports.generateProjectName = generateProjectName;
|
|
16
|
-
exports.collectConfigPaths = collectConfigPaths;
|
|
17
|
-
const tslib_1 = require("tslib");
|
|
18
|
-
const fs = tslib_1.__importStar(require("fs"));
|
|
19
|
-
const path = tslib_1.__importStar(require("path"));
|
|
20
|
-
const unique_names_generator_1 = require("unique-names-generator");
|
|
21
|
-
const fileloader_1 = require("./fileloader");
|
|
22
|
-
exports.PLAYWRIGHT_CONFIG_FILES = ['playwright.config.ts', 'playwright.config.js'];
|
|
23
|
-
function hasPackageJsonFile(dirPath) {
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { uniqueNamesGenerator, colors, animals } from 'unique-names-generator';
|
|
4
|
+
import { loadFile } from './fileloader.js';
|
|
5
|
+
export const PLAYWRIGHT_CONFIG_FILES = ['playwright.config.ts', 'playwright.config.js'];
|
|
6
|
+
export function hasPackageJsonFile(dirPath) {
|
|
24
7
|
return fs.existsSync(path.join(dirPath, 'package.json'));
|
|
25
8
|
}
|
|
26
|
-
function getPlaywrightConfig(dirPath) {
|
|
27
|
-
return
|
|
9
|
+
export function getPlaywrightConfig(dirPath) {
|
|
10
|
+
return PLAYWRIGHT_CONFIG_FILES.find(config => fs.existsSync(path.join(dirPath, config)));
|
|
28
11
|
}
|
|
29
|
-
function readPackageJson(dirPath) {
|
|
12
|
+
export function readPackageJson(dirPath) {
|
|
30
13
|
return JSON.parse(fs.readFileSync(path.join(dirPath, 'package.json'), 'utf-8'));
|
|
31
14
|
}
|
|
32
|
-
function loadPlaywrightConfig(playwrightConfigPath) {
|
|
15
|
+
export function loadPlaywrightConfig(playwrightConfigPath) {
|
|
33
16
|
if (!fs.existsSync(playwrightConfigPath)) {
|
|
34
17
|
return Promise.resolve(null);
|
|
35
18
|
}
|
|
36
19
|
if (/\.[mc]?(js|ts)$/.test(playwrightConfigPath)) {
|
|
37
|
-
return
|
|
20
|
+
return loadFile(playwrightConfigPath);
|
|
38
21
|
}
|
|
39
22
|
else {
|
|
40
23
|
throw new Error('Unable to load the config file. '
|
|
41
24
|
+ `Please use a .js, .mjs, .cjs, .ts, .mts or .cts file instead.\n${playwrightConfigPath}`);
|
|
42
25
|
}
|
|
43
26
|
}
|
|
44
|
-
function isValidProjectDirectory(dirPath) {
|
|
27
|
+
export function isValidProjectDirectory(dirPath) {
|
|
45
28
|
if (!fs.existsSync(dirPath)) {
|
|
46
29
|
return true;
|
|
47
30
|
}
|
|
@@ -52,33 +35,33 @@ function isValidProjectDirectory(dirPath) {
|
|
|
52
35
|
// only allow non initiated directory if it's empty
|
|
53
36
|
return fs.readdirSync(dirPath).length === 0;
|
|
54
37
|
}
|
|
55
|
-
function hasGitDir(dirPath) {
|
|
38
|
+
export function hasGitDir(dirPath) {
|
|
56
39
|
return fs.existsSync(path.join(dirPath, './.git'));
|
|
57
40
|
}
|
|
58
|
-
function checkFilesToKeep(filesToKeep, dirPath) {
|
|
41
|
+
export function checkFilesToKeep(filesToKeep, dirPath) {
|
|
59
42
|
if (filesToKeep.some(file => fs.existsSync(path.join(dirPath, file)))) {
|
|
60
43
|
process.stderr.write('It looks like you already have "__checks__" folder or "checkly.config.ts". '
|
|
61
44
|
+ 'Please, remove them and try again.' + '\n');
|
|
62
45
|
process.exit(1);
|
|
63
46
|
}
|
|
64
47
|
}
|
|
65
|
-
function copyTemporaryFiles(filesToKeep, dirPath, tempPath) {
|
|
48
|
+
export function copyTemporaryFiles(filesToKeep, dirPath, tempPath) {
|
|
66
49
|
for (const file of filesToKeep) {
|
|
67
50
|
fs.renameSync(`${tempPath}/${file}`, path.join(dirPath, file));
|
|
68
51
|
}
|
|
69
52
|
fs.rmSync(tempPath, { recursive: true });
|
|
70
53
|
}
|
|
71
|
-
function usePackageName(packageName) {
|
|
54
|
+
export function usePackageName(packageName) {
|
|
72
55
|
const filePath = './checkly.config.ts';
|
|
73
56
|
const checklyConfig = fs.readFileSync(filePath, 'utf-8');
|
|
74
57
|
fs.writeFileSync(filePath, checklyConfig
|
|
75
58
|
.replace(/Boilerplate Project/, packageName)
|
|
76
59
|
.replace(/boilerplate-project/, packageName));
|
|
77
60
|
}
|
|
78
|
-
function hasGitIgnore(dirPath) {
|
|
61
|
+
export function hasGitIgnore(dirPath) {
|
|
79
62
|
return fs.existsSync(path.join(dirPath, '.gitignore'));
|
|
80
63
|
}
|
|
81
|
-
function isValidUrl(string) {
|
|
64
|
+
export function isValidUrl(string) {
|
|
82
65
|
try {
|
|
83
66
|
const url = new URL(string);
|
|
84
67
|
return url.protocol === 'http:' || url.protocol === 'https:';
|
|
@@ -87,9 +70,9 @@ function isValidUrl(string) {
|
|
|
87
70
|
return false;
|
|
88
71
|
}
|
|
89
72
|
}
|
|
90
|
-
function generateProjectName() {
|
|
91
|
-
return
|
|
92
|
-
dictionaries: [
|
|
73
|
+
export function generateProjectName() {
|
|
74
|
+
return uniqueNamesGenerator({
|
|
75
|
+
dictionaries: [colors, animals],
|
|
93
76
|
separator: '-',
|
|
94
77
|
length: 2,
|
|
95
78
|
style: 'lowerCase',
|
|
@@ -97,7 +80,7 @@ function generateProjectName() {
|
|
|
97
80
|
}
|
|
98
81
|
// Recursively find config files matching the given suffixes, excluding node_modules and dot-prefixed dirs.
|
|
99
82
|
// Results are sorted by path depth, then suffix priority (first suffix wins), then alphabetically.
|
|
100
|
-
function collectConfigPaths(dir, suffixes) {
|
|
83
|
+
export function collectConfigPaths(dir, suffixes) {
|
|
101
84
|
const entries = fs.readdirSync(dir, { recursive: true, withFileTypes: true });
|
|
102
85
|
const results = entries
|
|
103
86
|
.filter(e => e.isFile() && suffixes.some(s => e.name.endsWith(s)))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/utils/directory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/utils/directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAA;AASvF,MAAM,UAAU,kBAAkB,CAAE,OAAe;IACjD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAE,OAAe;IAClD,OAAO,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,eAAe,CAAE,OAAe;IAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AACjF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAE,oBAA4B;IAChE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,oBAAoB,CAAC,CAAA;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,kCAAkC;cAC9C,kEAAkE,oBAAoB,EAAE,CAAC,CAAA;IAC/F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAE,OAAe;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,6CAA6C;IAC7C,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,mDAAmD;IACnD,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,SAAS,CAAE,OAAe;IACxC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAE,WAAqB,EAAE,OAAe;IACtE,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1B,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6EAA6E;cAC9F,oCAAoC,GAAG,IAAI,CAAC,CAAA;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAE,WAAqB,EAAE,OAAe,EAAE,QAAgB;IAC1F,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IAChE,CAAC;IACD,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAAE,WAAmB;IACjD,MAAM,QAAQ,GAAG,qBAAqB,CAAA;IACtC,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAExD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa;SACrC,OAAO,CAAC,qBAAqB,EAAE,WAAW,CAAC;SAC3C,OAAO,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAC7C,CAAA;AACH,CAAC;AACD,MAAM,UAAU,YAAY,CAAE,OAAe;IAC3C,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,UAAU,CAAE,MAAc;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAA;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,oBAAoB,CAAC;QAC1B,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC/B,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,WAAW;KACnB,CAAC,CAAA;AACJ,CAAC;AAED,2GAA2G;AAC3G,mGAAmG;AACnG,MAAM,UAAU,kBAAkB,CAAE,GAAW,EAAE,QAAkB;IACjE,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7E,MAAM,OAAO,GAAG,OAAO;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,EAAE;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,cAAc,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IACxF,CAAC,CAAC,CAAA;IACJ,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IAChF,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5E,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;WAC9B,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;WACrC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACtB,CAAA;AACH,CAAC"}
|
package/dist/utils/fileloader.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const loader_1 = require("../loader");
|
|
5
|
-
const loader = new loader_1.MixedFileLoader(new loader_1.NativeFileLoader(), new loader_1.JitiFileLoader(), new loader_1.TSNodeFileLoader());
|
|
6
|
-
async function loadFile(filePath) {
|
|
1
|
+
import { MixedFileLoader, NativeFileLoader, JitiFileLoader } from '../loader/index.js';
|
|
2
|
+
const loader = new MixedFileLoader(new NativeFileLoader(), new JitiFileLoader());
|
|
3
|
+
export async function loadFile(filePath) {
|
|
7
4
|
if (!loader.isAuthoritativeFor(filePath)) {
|
|
8
5
|
throw new Error(`Unable to find a compatible loader for file '${filePath}'`);
|
|
9
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileloader.js","sourceRoot":"","sources":["../../src/utils/fileloader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fileloader.js","sourceRoot":"","sources":["../../src/utils/fileloader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEtF,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,IAAI,gBAAgB,EAAE,EACtB,IAAI,cAAc,EAAE,CACrB,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAE,QAAgB;IAC9C,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,gDAAgD,QAAQ,GAAG,CAAC,CAAA;IAC9E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAsB,QAAQ,CAAC,CAAA;QAE1E,MAAM,aAAa,GAAG,aAAa,EAAE,OAAO,IAAI,aAAa,CAAA;QAC7D,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACxC,OAAO,MAAM,aAAa,EAAE,CAAA;QAC9B,CAAC;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACnF,CAAC;AACH,CAAC"}
|
package/dist/utils/fullname.js
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.getFullName = getFullName;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const execa_1 = tslib_1.__importDefault(require("execa"));
|
|
6
|
-
const passwd_user_1 = tslib_1.__importDefault(require("passwd-user"));
|
|
1
|
+
import { execa } from 'execa';
|
|
2
|
+
import { passwdUser } from 'passwd-user';
|
|
7
3
|
const environmentVariables = [
|
|
8
4
|
'GIT_AUTHOR_NAME',
|
|
9
5
|
'GIT_COMMITTER_NAME',
|
|
@@ -20,28 +16,28 @@ function checkEnv() {
|
|
|
20
16
|
return fullName;
|
|
21
17
|
}
|
|
22
18
|
async function checkPasswd() {
|
|
23
|
-
const user = await (
|
|
19
|
+
const user = await passwdUser();
|
|
24
20
|
if (!user?.fullName) {
|
|
25
21
|
throw new Error();
|
|
26
22
|
}
|
|
27
23
|
return user.fullName;
|
|
28
24
|
}
|
|
29
25
|
async function checkGit() {
|
|
30
|
-
const fullName = await (
|
|
26
|
+
const fullName = await execa('git', ['config', '--global', 'user.name']);
|
|
31
27
|
if (!fullName?.stdout) {
|
|
32
28
|
throw new Error();
|
|
33
29
|
}
|
|
34
30
|
return fullName.stdout;
|
|
35
31
|
}
|
|
36
32
|
async function checkOsaScript() {
|
|
37
|
-
const fullName = await (
|
|
33
|
+
const fullName = await execa('osascript', ['-e', 'long user name of (system info)']);
|
|
38
34
|
if (!fullName?.stdout) {
|
|
39
35
|
throw new Error();
|
|
40
36
|
}
|
|
41
37
|
return fullName.stdout;
|
|
42
38
|
}
|
|
43
39
|
async function checkWmic() {
|
|
44
|
-
const stdout = await (
|
|
40
|
+
const stdout = await execa('wmic', [
|
|
45
41
|
'useraccount',
|
|
46
42
|
'where',
|
|
47
43
|
`name="${process.env.USERNAME}"`,
|
|
@@ -55,7 +51,7 @@ async function checkWmic() {
|
|
|
55
51
|
return fullName;
|
|
56
52
|
}
|
|
57
53
|
async function checkGetEnt() {
|
|
58
|
-
const result = await (
|
|
54
|
+
const result = await execa('getent', ['passwd', '$(whoami)']);
|
|
59
55
|
const fullName = (result.stdout.split(':')[4] || '').replace(/,.*/, '');
|
|
60
56
|
if (!fullName) {
|
|
61
57
|
throw new Error();
|
|
@@ -72,7 +68,7 @@ function fallback() {
|
|
|
72
68
|
}
|
|
73
69
|
return Promise.any([checkPasswd(), checkGetEnt(), checkGit()]);
|
|
74
70
|
}
|
|
75
|
-
async function getFullName() {
|
|
71
|
+
export async function getFullName() {
|
|
76
72
|
try {
|
|
77
73
|
return await checkEnv();
|
|
78
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullname.js","sourceRoot":"","sources":["../../src/utils/fullname.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fullname.js","sourceRoot":"","sources":["../../src/utils/fullname.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,79 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const directory_1 = require("./directory");
|
|
11
|
-
const prompts_1 = require("./prompts");
|
|
12
|
-
const dependencies_1 = require("../actions/dependencies");
|
|
13
|
-
const template_1 = require("../actions/template");
|
|
14
|
-
const creates_1 = require("../actions/creates");
|
|
15
|
-
const git_1 = require("../actions/git");
|
|
16
|
-
const playwright = tslib_1.__importStar(require("../actions/playwright"));
|
|
17
|
-
const debug = (0, debug_1.default)('checkly:create-cli');
|
|
1
|
+
import Debug from 'debug';
|
|
2
|
+
import { copyTemporaryFiles, generateProjectName, usePackageName, readPackageJson, hasPackageJsonFile, checkFilesToKeep } from './directory.js';
|
|
3
|
+
import { askCopyPlaywrightProject, askInitializeProject, askProjectDirectory, askTemplate } from './prompts.js';
|
|
4
|
+
import { addDevDependecies, installDependencies } from '../actions/dependencies.js';
|
|
5
|
+
import { copyTemplate } from '../actions/template.js';
|
|
6
|
+
import { createCustomBrowserCheck } from '../actions/creates.js';
|
|
7
|
+
import { initGit } from '../actions/git.js';
|
|
8
|
+
import * as playwright from '../actions/playwright.js';
|
|
9
|
+
const debug = Debug('checkly:create-cli');
|
|
18
10
|
const templateBaseRepo = 'checkly/checkly-cli/examples';
|
|
19
|
-
async function getProjectDirectory({ onCancel }) {
|
|
11
|
+
export async function getProjectDirectory({ onCancel }) {
|
|
20
12
|
debug('Ask or detect directory name');
|
|
21
13
|
const cwd = process.cwd();
|
|
22
14
|
// if directory has a package.json, do not ask project directory and use CWD
|
|
23
|
-
if (
|
|
15
|
+
if (hasPackageJsonFile(cwd)) {
|
|
24
16
|
return cwd;
|
|
25
17
|
}
|
|
26
|
-
const { projectDirectory } = await
|
|
18
|
+
const { projectDirectory } = await askProjectDirectory(onCancel);
|
|
27
19
|
if (!projectDirectory) {
|
|
28
20
|
process.stderr.write('You must provide a valid directory name. Please try again.');
|
|
29
21
|
}
|
|
30
22
|
return projectDirectory;
|
|
31
23
|
}
|
|
32
|
-
async function installWithinProject({ projectDirectory, version, onCancel }) {
|
|
24
|
+
export async function installWithinProject({ projectDirectory, version, onCancel }) {
|
|
33
25
|
debug('Existing package.json detected');
|
|
34
|
-
const { initializeProject } = await
|
|
26
|
+
const { initializeProject } = await askInitializeProject(onCancel);
|
|
35
27
|
if (initializeProject) {
|
|
36
|
-
const packageJson =
|
|
37
|
-
const temporaryDir =
|
|
28
|
+
const packageJson = readPackageJson(projectDirectory);
|
|
29
|
+
const temporaryDir = generateProjectName();
|
|
38
30
|
debug('Add dependencies to existing package.json');
|
|
39
|
-
|
|
31
|
+
addDevDependecies(projectDirectory, packageJson);
|
|
40
32
|
const FILE_TO_KEEP = ['__checks__', 'checkly.config.ts'];
|
|
41
|
-
|
|
33
|
+
checkFilesToKeep(FILE_TO_KEEP, projectDirectory);
|
|
42
34
|
debug('Copy boilerplate project to temporary folder');
|
|
43
|
-
await
|
|
35
|
+
await copyTemplate({
|
|
44
36
|
template: 'boilerplate-project',
|
|
45
37
|
templatePath: `github:${templateBaseRepo}/boilerplate-project#${version}`,
|
|
46
38
|
targetDir: temporaryDir,
|
|
47
39
|
});
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
copyTemporaryFiles(FILE_TO_KEEP, projectDirectory, temporaryDir);
|
|
41
|
+
usePackageName(packageJson.name);
|
|
50
42
|
debug('Create custom Browser check');
|
|
51
|
-
await
|
|
43
|
+
await createCustomBrowserCheck({ projectDirectory, onCancel });
|
|
52
44
|
}
|
|
53
45
|
else {
|
|
54
46
|
process.exit(0);
|
|
55
47
|
}
|
|
56
48
|
}
|
|
57
|
-
async function createProject({ projectDirectory, version, onCancel }) {
|
|
58
|
-
const templateResponse = await
|
|
49
|
+
export async function createProject({ projectDirectory, version, onCancel }) {
|
|
50
|
+
const templateResponse = await askTemplate(onCancel);
|
|
59
51
|
debug('Downloading template');
|
|
60
|
-
await
|
|
52
|
+
await copyTemplate({
|
|
61
53
|
template: templateResponse.template,
|
|
62
54
|
templatePath: `github:${templateBaseRepo}/${templateResponse.template}#${version}`,
|
|
63
55
|
targetDir: projectDirectory,
|
|
64
56
|
});
|
|
65
57
|
}
|
|
66
|
-
async function installDependenciesAndInitGit({ projectDirectory }) {
|
|
58
|
+
export async function installDependenciesAndInitGit({ projectDirectory }) {
|
|
67
59
|
debug('Install npm dependencies');
|
|
68
|
-
await
|
|
60
|
+
await installDependencies(projectDirectory);
|
|
69
61
|
debug('Init .git & .gitignore');
|
|
70
|
-
await
|
|
62
|
+
await initGit(projectDirectory);
|
|
71
63
|
}
|
|
72
|
-
async function copyPlaywrightConfig({ projectDirectory, playwrightConfig, onCancel }) {
|
|
64
|
+
export async function copyPlaywrightConfig({ projectDirectory, playwrightConfig, onCancel }) {
|
|
73
65
|
debug('Check if playwright config exists in project');
|
|
74
66
|
// The boilerplate template hardcodes playwrightConfigPath: './playwright.config.ts',
|
|
75
67
|
// update it to the path the user selected.
|
|
76
|
-
const { shouldCopyPlaywrightConfig } = await
|
|
68
|
+
const { shouldCopyPlaywrightConfig } = await askCopyPlaywrightProject(onCancel);
|
|
77
69
|
if (shouldCopyPlaywrightConfig) {
|
|
78
70
|
playwright.updatePlaywrightConfigPath(projectDirectory, `./${playwrightConfig}`);
|
|
79
71
|
await playwright.copyPlaywrightConfig(projectDirectory, playwrightConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installation.js","sourceRoot":"","sources":["../../src/utils/installation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"installation.js","sourceRoot":"","sources":["../../src/utils/installation.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/messages.js
CHANGED
|
@@ -1,54 +1,47 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getUserGreeting = getUserGreeting;
|
|
4
|
-
exports.header = header;
|
|
5
|
-
exports.hint = hint;
|
|
6
|
-
exports.footer = footer;
|
|
7
|
-
const tslib_1 = require("tslib");
|
|
8
1
|
/* eslint no-console: 'off' */
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { getFullName } from './fullname.js';
|
|
11
4
|
function sleep(ms) {
|
|
12
5
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
13
6
|
}
|
|
14
|
-
async function getUserGreeting() {
|
|
15
|
-
const name = await
|
|
7
|
+
export async function getUserGreeting() {
|
|
8
|
+
const name = await getFullName();
|
|
16
9
|
return name ? `Hi ${name}!` : 'Hi there!';
|
|
17
10
|
}
|
|
18
|
-
async function header(version, greeting) {
|
|
19
|
-
console.log(`${
|
|
11
|
+
export async function header(version, greeting) {
|
|
12
|
+
console.log(`${chalk.black.bgCyan.bold(' checkly ')} v${version} ${chalk.bold('Build and Run Synthetics That Scale')}\n`);
|
|
20
13
|
await sleep(1000);
|
|
21
|
-
console.log(`${greeting} Let's get you started on your ${
|
|
14
|
+
console.log(`${greeting} Let's get you started on your ${chalk.green.bold('monitoring as code')} journey!\n`);
|
|
22
15
|
await sleep(500);
|
|
23
16
|
}
|
|
24
|
-
async function hint(prefix, text) {
|
|
17
|
+
export async function hint(prefix, text) {
|
|
25
18
|
await sleep(100);
|
|
26
19
|
if (process.stdout.columns < 80) {
|
|
27
|
-
console.log(`${
|
|
28
|
-
console.log(`${' '.repeat(3)}${
|
|
20
|
+
console.log(`${chalk.cyan('◼')} ${chalk.cyan(prefix)}`);
|
|
21
|
+
console.log(`${' '.repeat(3)}${chalk.dim(text)}\n`);
|
|
29
22
|
}
|
|
30
23
|
else {
|
|
31
|
-
console.log(`${
|
|
24
|
+
console.log(`${chalk.cyan('◼')} ${chalk.cyan(prefix)} ${chalk.dim(text)}\n`);
|
|
32
25
|
}
|
|
33
26
|
}
|
|
34
|
-
async function footer(targetDir) {
|
|
27
|
+
export async function footer(targetDir) {
|
|
35
28
|
const max = process.stdout.columns;
|
|
36
29
|
const prefix = max < 80 ? ' ' : ' '.repeat(9);
|
|
37
30
|
await sleep(200);
|
|
38
|
-
console.log(`\n ${
|
|
31
|
+
console.log(`\n ${chalk.bgCyan(` ${chalk.black.bold('next')} `)} ${chalk.bold('All done. Time to get testing & monitoring with Checkly\n')}`);
|
|
39
32
|
if (targetDir) {
|
|
40
33
|
await sleep(200);
|
|
41
|
-
console.log(`${prefix}> Enter your project directory using ${
|
|
34
|
+
console.log(`${prefix}> Enter your project directory using ${chalk.cyan(`cd ${targetDir}`)}`);
|
|
42
35
|
}
|
|
43
36
|
await sleep(200);
|
|
44
|
-
console.log(`${prefix}> Run ${
|
|
37
|
+
console.log(`${prefix}> Run ${chalk.cyan('npx checkly login')} to login to your Checkly account or create a free new account`);
|
|
45
38
|
await sleep(200);
|
|
46
|
-
console.log(`${prefix}> Run ${
|
|
39
|
+
console.log(`${prefix}> Run ${chalk.cyan('npx checkly test')} to dry run your checks`);
|
|
47
40
|
await sleep(200);
|
|
48
|
-
console.log(`${prefix}> Run ${
|
|
41
|
+
console.log(`${prefix}> Run ${chalk.cyan('npx checkly deploy')} to deploy your checks to the Checkly cloud`);
|
|
49
42
|
await sleep(200);
|
|
50
43
|
console.log(`\n${prefix}Questions?\n`);
|
|
51
|
-
console.log(`${prefix}- Check the docs at ${
|
|
52
|
-
console.log(`${prefix}- Join the Checkly Slack community at ${
|
|
44
|
+
console.log(`${prefix}- Check the docs at ${chalk.cyan('https://checklyhq.com/docs/cli')}`);
|
|
45
|
+
console.log(`${prefix}- Join the Checkly Slack community at ${chalk.cyan('https://checklyhq.com/slack')}\n`);
|
|
53
46
|
}
|
|
54
47
|
//# sourceMappingURL=messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/utils/messages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/utils/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const JSON5 = tslib_1.__importStar(require("json5"));
|
|
5
|
-
class PlaywrightConfigTemplate {
|
|
1
|
+
import JSON5 from 'json5';
|
|
2
|
+
export default class PlaywrightConfigTemplate {
|
|
6
3
|
playwrightConfig;
|
|
7
4
|
constructor({ use, expect, timeout }) {
|
|
8
5
|
this.playwrightConfig = {};
|
|
@@ -52,5 +49,4 @@ class PlaywrightConfigTemplate {
|
|
|
52
49
|
return `const playwrightConfig = ${JSON5.stringify(this, { space: 2 })}`;
|
|
53
50
|
}
|
|
54
51
|
}
|
|
55
|
-
exports.default = PlaywrightConfigTemplate;
|
|
56
52
|
//# sourceMappingURL=playwright-config-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright-config-template.js","sourceRoot":"","sources":["../../src/utils/playwright-config-template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playwright-config-template.js","sourceRoot":"","sources":["../../src/utils/playwright-config-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC3C,gBAAgB,CAAqB;IAErC,YAAa,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAO;QACxC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACpD,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAA;IACzC,CAAC;IAEO,YAAY,CAAE,GAAQ;QAC5B,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAA;IACH,CAAC;IAEO,eAAe,CAAE,MAAW;QAClC,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAA;IACH,CAAC;IAED,iBAAiB;QACf,OAAO,4BAA4B,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAC1E,CAAC;CACF"}
|