vue-ninja 0.1.0-beta.2 → 0.2.0-create-vue-alpha.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/coverage.js CHANGED
@@ -34,7 +34,7 @@ function handleCoverageResults(data, resolve) {
34
34
  var coverage = function (options) {
35
35
  return new Promise(function (resolve, reject) {
36
36
  logger_1.default.log('Starting code coverage...');
37
- return utils_1.readFile(RESULT_FILE).then(function (data) { return handleCoverageResults(data, resolve); }, function (error) {
37
+ return (0, utils_1.readFile)(RESULT_FILE).then(function (data) { return handleCoverageResults(data, resolve); }, function (error) {
38
38
  logger_1.default.error('Error while reading the code coverage results. Try to run `npm run test:unit`.');
39
39
  logger_1.default.debug(options, 'Error while reading the code coverage results was: ', error);
40
40
  reject();
package/dist/e2e.js CHANGED
@@ -18,8 +18,8 @@ function handleCypressResults(data) {
18
18
  var cypressResults = { success: success, failed: failed };
19
19
  if (failed) {
20
20
  logger_1.default.warn('Looks like you have ' + failed + ' e2e tests failing.');
21
- logger_1.default.warn('Try to launch the tests using `npm run test:e2e --mode production`.');
22
- logger_1.default.warn("E2e tests score: " + Math.round((success * 100) / (success + failed)) + "%");
21
+ logger_1.default.warn('Try to launch the tests using `npm run test:e2e`.');
22
+ logger_1.default.warn("E2e tests score: ".concat(Math.round((success * 100) / (success + failed)), "%"));
23
23
  }
24
24
  else {
25
25
  logger_1.default.success('E2e tests score: 100%');
@@ -27,7 +27,7 @@ function handleCypressResults(data) {
27
27
  return cypressResults;
28
28
  }
29
29
  function mergeReports() {
30
- return utils_1.exec("npx mochawesome-merge ./results/mochawesome/*.json -o " + RESULT_FILE);
30
+ return (0, utils_1.exec)("npx mochawesome-merge ./results/mochawesome/*.json -o ".concat(RESULT_FILE));
31
31
  }
32
32
  var e2e = function (options) {
33
33
  return new Promise(function (resolve, reject) {
@@ -36,14 +36,14 @@ var e2e = function (options) {
36
36
  // so we'll go into the error handler even if the execution went well
37
37
  // and we try to read the results in both cases
38
38
  // mode=production is a hacky way to ensure integration tests pass.
39
- return utils_1.exec('npm run test:e2e -- --headless --mode production')
39
+ return (0, utils_1.exec)('npm run test:e2e:ci')
40
40
  .then(
41
41
  // each spec produces a report, so we need to merge them
42
42
  function () { return mergeReports(); }, function (error) {
43
43
  logger_1.default.debug(options, 'Error while running e2e was: ', error);
44
44
  return mergeReports();
45
45
  })
46
- .then(function () { return utils_1.readFile(RESULT_FILE); }, function () { return utils_1.readFile(RESULT_FILE); })
46
+ .then(function () { return (0, utils_1.readFile)(RESULT_FILE); }, function () { return (0, utils_1.readFile)(RESULT_FILE); })
47
47
  .then(function (data) { return handleCypressResults(data); })
48
48
  .then(function (results) { return resolve(results); }, function (error) {
49
49
  logger_1.default.debug(options, 'Error while reading e2e results: ', error);
@@ -12,7 +12,7 @@ function findSpecIfItExists(hashes, spec) {
12
12
  });
13
13
  }
14
14
  function listSpecs() {
15
- return utils_1.listFiles('./tests/**/*.spec.@(ts|js)');
15
+ return (0, utils_1.listFiles)('./{cypress,tests}/**/*.@(e2e-spec|spec).@(ts|js)');
16
16
  }
17
17
  function computeHash(specs) {
18
18
  return specs.map(function (name) {
@@ -25,7 +25,7 @@ function computeHashesOfSpecs() {
25
25
  var hashChecker = function (options) {
26
26
  return new Promise(function (resolve, reject) {
27
27
  logger_1.default.log('Checking submission...');
28
- utils_1.readFile('./exercise.json')
28
+ (0, utils_1.readFile)('./exercise.json')
29
29
  .then(function (exerciseData) {
30
30
  var exercise = JSON.parse(exerciseData);
31
31
  logger_1.default.success('Pack V' + exercise.pack + ' - Exercise ' + exercise.id + ' - ' + exercise.title);
package/dist/jest.js CHANGED
@@ -56,10 +56,10 @@ var jest = function (options) {
56
56
  // jest exit code is 1 if a test fails
57
57
  // so we'll go into the error handler even if the execution went well
58
58
  // and we try to read the results in both cases
59
- return (utils_1.exec('npm run test:unit --no-cache --max-workers=1')
60
- .then(function () { return utils_1.readFile(RESULT_FILE); }, function (error) {
59
+ return ((0, utils_1.exec)('npm run test:unit:ci')
60
+ .then(function () { return (0, utils_1.readFile)(RESULT_FILE); }, function (error) {
61
61
  logger_1.default.debug(options, 'Jest test failed', error);
62
- return utils_1.readFile(RESULT_FILE);
62
+ return (0, utils_1.readFile)(RESULT_FILE);
63
63
  })
64
64
  // if results, great we handle them
65
65
  // if not we warn the user
package/dist/lint.js CHANGED
@@ -9,10 +9,10 @@ var RESULT_FILE = 'results/lint-results.json';
9
9
  var lint = function (options) {
10
10
  return new Promise(function (resolve, reject) {
11
11
  logger_1.default.log('Starting code analysis...');
12
- return utils_1.exec("npm run lint -- --no-fix --format=json --output-file=" + RESULT_FILE)
13
- .then(function () { return utils_1.readFile(RESULT_FILE); },
12
+ return (0, utils_1.exec)("npm run lint -- --no-fix --format=json --output-file=".concat(RESULT_FILE))
13
+ .then(function () { return (0, utils_1.readFile)(RESULT_FILE); },
14
14
  // eslint will error if there is a warning
15
- function () { return utils_1.readFile(RESULT_FILE); })
15
+ function () { return (0, utils_1.readFile)(RESULT_FILE); })
16
16
  .then(function (data) {
17
17
  if (data) {
18
18
  return JSON.parse(data);
@@ -30,8 +30,8 @@ function login(options, loginAttempts, metadata) {
30
30
  }
31
31
  }
32
32
  };
33
- return utils_1.prompt(schema)
34
- .then(function (result) { return utils_1.post((options['local-server'] ? LOCALHOST : BASE_PATH) + "/api/authentications", result); })
33
+ return (0, utils_1.prompt)(schema)
34
+ .then(function (result) { return (0, utils_1.post)("".concat(options['local-server'] ? LOCALHOST : BASE_PATH, "/api/authentications"), result); })
35
35
  .then(function (_a) {
36
36
  var response = _a.response, body = _a.body;
37
37
  if (response.statusCode !== 201) {
@@ -48,7 +48,7 @@ function login(options, loginAttempts, metadata) {
48
48
  });
49
49
  }
50
50
  function computeScore(metadata, results, options) {
51
- var score = 100 - results.jest.failed * 5 - results.tslint.errors - (results.coverage.total - results.coverage.covered) - results.e2e.failed;
51
+ var score = 100 - results.vitest.failed * 5 - results.tslint.errors - (results.coverage.total - results.coverage.covered) - results.e2e.failed;
52
52
  if (score < 10) {
53
53
  score = 10;
54
54
  }
@@ -56,7 +56,7 @@ function computeScore(metadata, results, options) {
56
56
  // if we are running locally we want to return a failure
57
57
  if (score !== 100) {
58
58
  logger_1.default.error('Score is not perfect! ' + score + '%');
59
- utils_1.exitProcessWithError(1);
59
+ (0, utils_1.exitProcessWithError)(1);
60
60
  }
61
61
  logger_1.default.success('Exercise score: ' + score + '%');
62
62
  }
@@ -69,10 +69,10 @@ function computeScore(metadata, results, options) {
69
69
  return { metadata: metadata, score: score };
70
70
  }
71
71
  function postScore(options, metadata) {
72
- var headers = { Authorization: "Bearer: " + metadata.token };
72
+ var headers = { Authorization: "Bearer: ".concat(metadata.token) };
73
73
  var path = options['local-server'] ? LOCALHOST : BASE_PATH;
74
74
  var bodyToSubmit = { score: metadata.score };
75
- return utils_1.post(path + "/api/packs/" + metadata.pack + "/exercises/" + metadata.id + "/scores", bodyToSubmit, headers).then(function (_a) {
75
+ return (0, utils_1.post)("".concat(path, "/api/packs/").concat(metadata.pack, "/exercises/").concat(metadata.id, "/scores"), bodyToSubmit, headers).then(function (_a) {
76
76
  var response = _a.response, body = _a.body;
77
77
  // if authentication error
78
78
  if (response.statusCode === 401) {
@@ -101,7 +101,7 @@ function postScore(options, metadata) {
101
101
  });
102
102
  }
103
103
  var submitResults = function (results, options) {
104
- return utils_1.readFile('./exercise.json')
104
+ return (0, utils_1.readFile)('./exercise.json')
105
105
  .then(function (data) { return JSON.parse(data); }, function (error) {
106
106
  logger_1.default.error('Looks like you have no exercise.json file.');
107
107
  logger_1.default.debug(options, 'An error occurred while reading exercise.json: ', error);
package/dist/utils.js CHANGED
@@ -46,7 +46,7 @@ var post = function (url, json, headers) {
46
46
  exports.post = post;
47
47
  var listFiles = function (pattern) {
48
48
  return new Promise(function (resolve, reject) {
49
- glob_1.default(pattern, function (err, files) {
49
+ (0, glob_1.default)(pattern, function (err, files) {
50
50
  if (err) {
51
51
  logger_1.default.error('Could not find the spec files.');
52
52
  reject(err);
package/dist/vitest.js ADDED
@@ -0,0 +1,68 @@
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
+ var utils_1 = require("./utils");
7
+ var logger_1 = __importDefault(require("./logger"));
8
+ var RESULT_FILE = 'results/vitest-results.json';
9
+ function computeScore(vitestResults) {
10
+ // eslint-disable-next-line no-undefined
11
+ if (vitestResults.failed === undefined) {
12
+ return 0;
13
+ }
14
+ var score = 100 - vitestResults.failed * 5;
15
+ return score >= 0 ? score : 0;
16
+ }
17
+ function warnUserThatSomeTestsFailed(vitestResults) {
18
+ var score = computeScore(vitestResults);
19
+ logger_1.default.warn('Unit tests score: ' + score + '%');
20
+ logger_1.default.warn('Looks like you have ' + (vitestResults.failed ? vitestResults.failed : 'a few') + ' unit test(s) failing.');
21
+ logger_1.default.warn('Launch `npm run test:unit` and try to fix them.');
22
+ }
23
+ function warnUserThatVitestFailed(reject) {
24
+ logger_1.default.error('Error while running unit tests.');
25
+ logger_1.default.error("Maybe you code doesn't compile?");
26
+ logger_1.default.error('Launch `npm run test:unit` to see more.');
27
+ return reject();
28
+ }
29
+ function handleVitestResults(data, options, resolve, reject) {
30
+ var results = JSON.parse(data);
31
+ if (!results) {
32
+ logger_1.default.error('An error occurred during the unit tests.');
33
+ logger_1.default.error('Run `npm run test:unit` to see the problem.');
34
+ return reject();
35
+ }
36
+ var failed = results.numFailedTests ? results.numFailedTests : results.numFailedTestSuites;
37
+ var vitestResults = {
38
+ failed: failed,
39
+ success: results.numPassedTests
40
+ };
41
+ if (vitestResults.failed !== 0) {
42
+ warnUserThatSomeTestsFailed(vitestResults);
43
+ }
44
+ else {
45
+ logger_1.default.success('Unit tests score: 100%');
46
+ }
47
+ return resolve(vitestResults);
48
+ }
49
+ var vitest = function (options) {
50
+ return new Promise(function (resolve, reject) {
51
+ logger_1.default.log('Starting unit tests...');
52
+ // vitest exit code is 1 if a test fails
53
+ // so we'll go into the error handler even if the execution went well
54
+ // and we try to read the results in both cases
55
+ return ((0, utils_1.exec)("npm run test:unit:ci")
56
+ .then(function () { return (0, utils_1.readFile)(RESULT_FILE); }, function (error) {
57
+ logger_1.default.debug(options, 'Vitest test failed', error);
58
+ return (0, utils_1.readFile)(RESULT_FILE);
59
+ })
60
+ // if results, great we handle them
61
+ // if not we warn the user
62
+ .then(function (data) { return handleVitestResults(data, options, resolve, reject); }, function (error) {
63
+ logger_1.default.debug(options, 'An error occurred while reading vitest results: ', error);
64
+ return warnUserThatVitestFailed(reject);
65
+ }));
66
+ });
67
+ };
68
+ exports.default = vitest;
package/dist/vue-ninja.js CHANGED
@@ -6,7 +6,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  var command_line_args_1 = __importDefault(require("command-line-args"));
8
8
  var rimraf_1 = __importDefault(require("rimraf"));
9
- var jest_1 = __importDefault(require("./jest"));
9
+ var vitest_1 = __importDefault(require("./vitest"));
10
10
  var hash_checker_1 = __importDefault(require("./hash-checker"));
11
11
  var coverage_1 = __importDefault(require("./coverage"));
12
12
  var lint_1 = __importDefault(require("./lint"));
@@ -14,7 +14,7 @@ var e2e_1 = __importDefault(require("./e2e"));
14
14
  var submit_results_1 = __importDefault(require("./submit-results"));
15
15
  var logger_1 = __importDefault(require("./logger"));
16
16
  // parse cli options
17
- var options = command_line_args_1.default([
17
+ var options = (0, command_line_args_1.default)([
18
18
  { name: 'local', type: Boolean },
19
19
  { name: 'local-server', type: Boolean },
20
20
  { name: 'verbose', type: Boolean },
@@ -35,22 +35,22 @@ var results = {
35
35
  errors: 0
36
36
  }
37
37
  };
38
- hash_checker_1.default(options)
38
+ (0, hash_checker_1.default)(options)
39
39
  .then(function (exercise) { return (results.exercise = exercise); })
40
40
  .then(function () { return logger_1.default.debug(options, 'Exercise: ', results.exercise.title); })
41
- .then(function () { return jest_1.default(options); })
42
- .then(function (jestResults) { return (results.jest = jestResults); })
43
- .then(function () { return logger_1.default.debug(options, 'Jest results: ', JSON.stringify(results.jest)); })
44
- .then(function () { return coverage_1.default(options); })
41
+ .then(function () { return (0, vitest_1.default)(options); })
42
+ .then(function (vitestResults) { return (results.vitest = vitestResults); })
43
+ .then(function () { return logger_1.default.debug(options, 'Vitest results: ', JSON.stringify(results.vitest)); })
44
+ .then(function () { return (0, coverage_1.default)(options); })
45
45
  .then(function (coverageResults) { return (results.coverage = coverageResults); })
46
46
  .then(function () { return logger_1.default.debug(options, 'Coverage results: ', JSON.stringify(results.coverage)); })
47
- .then(function () { return lint_1.default(options); })
47
+ .then(function () { return (0, lint_1.default)(options); })
48
48
  .then(function (tslintResults) { return (results.tslint = tslintResults); })
49
49
  .then(function () { return logger_1.default.debug(options, 'Linter results: ', JSON.stringify(results.tslint)); })
50
- .then(function () { return e2e_1.default(options); })
50
+ .then(function () { return (0, e2e_1.default)(options); })
51
51
  .then(function (e2eResults) { return (results.e2e = e2eResults); })
52
52
  .then(function () { return logger_1.default.debug(options, 'E2e results: ', JSON.stringify(results.e2e)); })
53
- .then(function () { return submit_results_1.default(results, options); })
53
+ .then(function () { return (0, submit_results_1.default)(results, options); })
54
54
  .catch(function (error) {
55
55
  logger_1.default.error('Try to fix it and retry!');
56
56
  if (options.verbose) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-ninja",
3
- "version": "0.1.0-beta.2",
3
+ "version": "0.2.0-create-vue-alpha.1",
4
4
  "description": "CLI for the exercises of \"Become a ninja with Vue\"",
5
5
  "main": "dist/vue-ninja.js",
6
6
  "scripts": {
@@ -12,30 +12,30 @@
12
12
  "author": "",
13
13
  "license": "ISC",
14
14
  "dependencies": {
15
- "chalk": "4.1.0",
16
- "command-line-args": "5.1.1",
17
- "glob": "7.1.6",
15
+ "chalk": "4.1.2",
16
+ "command-line-args": "5.2.0",
17
+ "glob": "7.2.0",
18
18
  "hash-files": "1.1.1",
19
- "prompt": "1.1.0",
19
+ "prompt": "1.2.0",
20
20
  "request": "2.88.2",
21
21
  "rimraf": "3.0.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@typescript-eslint/eslint-plugin": "4.15.1",
25
- "@typescript-eslint/parser": "4.15.1",
26
- "@types/command-line-args": "5.0.0",
27
- "@types/glob": "7.1.3",
28
- "@types/jest": "26.0.20",
29
- "@types/node": "12.20.1",
30
- "@types/request": "2.48.5",
31
- "@types/rimraf": "3.0.0",
32
- "eslint": "7.20.0",
33
- "eslint-config-prettier": "7.2.0",
34
- "eslint-plugin-prettier": "3.3.1",
35
- "jest": "26.6.3",
36
- "prettier": "2.2.1",
37
- "ts-jest": "26.5.1",
38
- "typescript": "4.1.5"
24
+ "@typescript-eslint/eslint-plugin": "5.0.0",
25
+ "@typescript-eslint/parser": "5.0.0",
26
+ "@types/command-line-args": "5.2.0",
27
+ "@types/glob": "7.1.4",
28
+ "@types/jest": "27.0.2",
29
+ "@types/node": "14.17.26",
30
+ "@types/request": "2.48.7",
31
+ "@types/rimraf": "3.0.2",
32
+ "eslint": "8.0.1",
33
+ "eslint-config-prettier": "8.3.0",
34
+ "eslint-plugin-prettier": "4.0.0",
35
+ "jest": "27.2.5",
36
+ "prettier": "2.4.1",
37
+ "ts-jest": "27.0.5",
38
+ "typescript": "4.4.4"
39
39
  },
40
40
  "bin": {
41
41
  "vue-ninja": "dist/vue-ninja.js"