@tramvai/cli 2.78.1 → 2.79.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/lib/cli/index.js +0 -1
  2. package/lib/cli/index.js.map +1 -1
  3. package/lib/commands/add/add.js +3 -0
  4. package/lib/commands/add/add.js.map +1 -1
  5. package/lib/commands/add/checkPackageValidator.js +1 -6
  6. package/lib/commands/add/checkPackageValidator.js.map +1 -1
  7. package/lib/commands/benchmark/benchmark.js +2 -1
  8. package/lib/commands/benchmark/benchmark.js.map +1 -1
  9. package/lib/commands/update/checkVersionValidator.js +1 -1
  10. package/lib/commands/update/checkVersionValidator.js.map +1 -1
  11. package/lib/commands/update/updatePackageJson.js +7 -2
  12. package/lib/commands/update/updatePackageJson.js.map +1 -1
  13. package/lib/config/validate.js +1 -1
  14. package/lib/config/validate.js.map +1 -1
  15. package/lib/models/config.js +7 -3
  16. package/lib/models/config.js.map +1 -1
  17. package/lib/models/logger.js +6 -3
  18. package/lib/models/logger.js.map +1 -1
  19. package/lib/schema/autogeneratedSchema.json +0 -25
  20. package/lib/schema/topLevelSchema.js +1 -1
  21. package/lib/schema/topLevelSchema.js.map +1 -1
  22. package/lib/utils/commands/dependencies/findTramvaiVersion.js +6 -1
  23. package/lib/utils/commands/dependencies/findTramvaiVersion.js.map +1 -1
  24. package/lib/utils/getRootFile.js +4 -1
  25. package/lib/utils/getRootFile.js.map +1 -1
  26. package/lib/utils/sentry.js +2 -0
  27. package/lib/utils/sentry.js.map +1 -1
  28. package/lib/validators/commands/checkConfigExists.js +1 -1
  29. package/lib/validators/commands/checkConfigExists.js.map +1 -1
  30. package/lib/validators/commands/checkDependencies.js +11 -11
  31. package/lib/validators/commands/checkDependencies.js.map +1 -1
  32. package/package.json +10 -10
  33. package/schema.json +1 -26
  34. package/src/cli/index.ts +0 -1
  35. package/src/commands/add/add.ts +6 -0
  36. package/src/commands/add/checkPackageValidator.ts +1 -5
  37. package/src/commands/benchmark/benchmark.ts +3 -1
  38. package/src/commands/new/templates/child-app/block/index.spec.tsx.hbs +2 -1
  39. package/src/commands/new/templates/child-app/monorepo/tramvai.json.hbs +1 -1
  40. package/src/commands/new/templates/child-app/multirepo/tramvai.json.hbs +1 -1
  41. package/src/commands/new/templates/shared/package.json.hbs +2 -0
  42. package/src/commands/update/checkVersionValidator.ts +1 -1
  43. package/src/commands/update/updatePackageJson.ts +8 -2
  44. package/src/config/validate.ts +3 -1
  45. package/src/models/config.ts +7 -3
  46. package/src/models/logger.ts +20 -3
  47. package/src/schema/autogeneratedSchema.json +0 -25
  48. package/src/schema/topLevelSchema.js +1 -1
  49. package/src/utils/commands/dependencies/findTramvaiVersion.ts +5 -1
  50. package/src/utils/getRootFile.ts +5 -1
  51. package/src/utils/sentry.ts +3 -0
  52. package/src/validators/commands/checkConfigExists.ts +1 -1
  53. package/src/validators/commands/checkDependencies.spec.ts +38 -37
  54. package/src/validators/commands/checkDependencies.ts +15 -11
package/lib/cli/index.js CHANGED
@@ -83,7 +83,6 @@ function cliInitialized(cliArgs = process.argv) {
83
83
  event: 'GLOBAL:ERROR',
84
84
  message: e.message || e,
85
85
  });
86
- console.error(e);
87
86
  sentry.captureException(e);
88
87
  throw e;
89
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,8EAA4F;AAC5F,+BAA4B;AAC5B,mDAAgD;AAChD,6CAA0C;AAC1C,6CAAiD;AACjD,4CAA6C;AAI7C,gFAAqD;AACrD,uDAAyD;AACzD,+EAAmD;AACnD,+EAAmD;AACnD,kFAAkD;AAClD,mFAAoD;AACpD,8EAAiD;AACjD,iFAAuD;AACvD,8EAAiD;AACjD,yDAA2D;AAC3D,6DAAkE;AAClE,4DAAiE;AAEjE,+EAAkD;AAClD,2EAA8C;AAE9C,sDAAmD;AACnD,gEAA6D;AAC7D,wDAAqD;AAErD,SAAe,YAAY;;QACzB,OAAO;YACL,iBAAY;YACZ,2BAAgB;YAChB,sBAAY;YACZ,iBAAW;YACX,iBAAW;YACX,iBAAO;YACP,iBAAQ;YACR,iBAAU;YACV,iBAAa;YACb,iBAAU;YACV,wBAAa;YACb,2BAAgB;SACjB,CAAC;IACJ,CAAC;CAAA;AAED,SAAe,SAAS;;QACtB,OAAO,CAAC,qBAAc,EAAE,mBAAY,CAAC,CAAC;IACxC,CAAC;CAAA;AAED,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAElE,SAAsB,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI;;QACzD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QAE5B,IAAI;YACF,MAAM,cAAc,GAAG;gBACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE;gBACzB,IAAI,EAAE,OAAO;aACd,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,MAAM,YAAY,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC;YAEnC,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,kBAAkB,EAAE,GAAG,IAAA,yBAAW,EAG9D,cAAc,CAAC,CAAC;YACnB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,mCAAgB,GAAE,CAAC;YAE/C,MAAM,QAAQ,GAAG,IAAI,qBAAS,CAAC;gBAC7B,WAAW;gBACX,YAAY,EAAE,gBAAgB;aAC/B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAI,sBAAa,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,2BAAY,EAAE,CAAC,CAAC;YAClF,MAAM,cAAc,GAAG,IAAA,+CAAqB,EAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAEzE,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,iBAAiB,GAAG,IAAI,2CAAiB,CAAC;gBAC9C,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,IAAI,SAAG,CACzB,WAAW,EACX,QAAQ,EACR,MAAM,EACN,aAAa,EACb,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,cAAc,CACf,CAAC;YAEF,OAAO,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACvC;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,KAAK,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC;aACxB,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAE3B,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;SACtB;IACH,CAAC;CAAA;AAzDD,wCAyDC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ const findTramvaiVersion_1 = require("../../utils/commands/dependencies/findTram
6
6
  const checkVersions_1 = require("../../utils/commands/dependencies/checkVersions");
7
7
  exports.default = (context, { packageName, dev }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
8
8
  const version = yield (0, findTramvaiVersion_1.findTramvaiVersion)();
9
+ if (!version) {
10
+ throw new Error('Could not resolve tramvai version from package.json. Do you have @tramvai/core installed?');
11
+ }
9
12
  yield context.packageManager.install({
10
13
  name: packageName,
11
14
  version,
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/add/add.ts"],"names":[],"mappings":";;;AAEA,uEAAoE;AACpE,6FAA0F;AAC1F,mFAAgF;AAOhF,kBAAe,CAAO,OAAgB,EAAE,EAAE,WAAW,EAAE,GAAG,EAAU,EAA0B,EAAE;IAC9F,MAAM,OAAO,GAAG,MAAM,IAAA,uCAAkB,GAAE,CAAC;IAE3C,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;QACnC,IAAI,EAAE,WAAW;QACjB,OAAO;QACP,aAAa,EAAE,GAAG;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE;QACzC,6CAA6C;QAC7C,8BAA8B;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;KAC3D;IAED,MAAM,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,IAAA,6BAAa,EAAC,OAAO,CAAC,CAAC;IAE7B,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/add/add.ts"],"names":[],"mappings":";;;AAEA,uEAAoE;AACpE,6FAA0F;AAC1F,mFAAgF;AAOhF,kBAAe,CAAO,OAAgB,EAAE,EAAE,WAAW,EAAE,GAAG,EAAU,EAA0B,EAAE;IAC9F,MAAM,OAAO,GAAG,MAAM,IAAA,uCAAkB,GAAE,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;KACH;IAED,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;QACnC,IAAI,EAAE,WAAW;QACjB,OAAO;QACP,aAAa,EAAE,GAAG;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE;QACzC,6CAA6C;QAC7C,8BAA8B;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;KAC3D;IAED,MAAM,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,IAAA,6BAAa,EAAC,OAAO,CAAC,CAAC;IAE7B,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC,CAAA,CAAC"}
@@ -4,12 +4,7 @@ exports.checkPackage = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const latest_version_1 = tslib_1.__importDefault(require("latest-version"));
6
6
  const checkPackage = (_, { packageName }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
7
- try {
8
- yield (0, latest_version_1.default)(packageName);
9
- }
10
- catch (e) {
11
- throw new Error(`Package ${packageName} does not exists`);
12
- }
7
+ yield (0, latest_version_1.default)(packageName);
13
8
  return {
14
9
  name: 'checkPackage',
15
10
  status: 'ok',
@@ -1 +1 @@
1
- {"version":3,"file":"checkPackageValidator.js","sourceRoot":"","sources":["../../../src/commands/add/checkPackageValidator.ts"],"names":[],"mappings":";;;;AAAA,4EAA2C;AAGpC,MAAM,YAAY,GAAG,CAAO,CAAC,EAAE,EAAE,WAAW,EAAU,EAAE,EAAE;IAC/D,IAAI;QACF,MAAM,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;KAClC;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,kBAAkB,CAAC,CAAC;KAC3D;IAED,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC,CAAA,CAAC;AAXW,QAAA,YAAY,gBAWvB"}
1
+ {"version":3,"file":"checkPackageValidator.js","sourceRoot":"","sources":["../../../src/commands/add/checkPackageValidator.ts"],"names":[],"mappings":";;;;AAAA,4EAA2C;AAGpC,MAAM,YAAY,GAAG,CAAO,CAAC,EAAE,EAAE,WAAW,EAAU,EAAE,EAAE;IAC/D,MAAM,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;IAEjC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC,CAAA,CAAC;AAPW,QAAA,YAAY,gBAOvB"}
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const mdtable_1 = tslib_1.__importDefault(require("mdtable"));
5
5
  const index_1 = require("../index");
6
+ const roundStats = (n) => Math.round(100 * n) / 100;
6
7
  const formatStats = (stats) => {
7
- return `${stats.mean}ms ± ${Math.round(100 * stats.variance) / 100}%`;
8
+ return `${roundStats(stats.mean)}ms ± ${roundStats(stats.variance)}%`;
8
9
  };
9
10
  const formatStatsTable = (stats) => {
10
11
  const header = [];
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../../src/commands/benchmark/benchmark.ts"],"names":[],"mappings":";;;AAAA,8DAA8B;AAK9B,oCAA+B;AAE/B,MAAM,WAAW,GAAG,CAAC,KAA+B,EAAE,EAAE;IACtD,OAAO,GAAG,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;IACzC,MAAM,MAAM,GAAG,EAAc,CAAC;IAC9B,MAAM,SAAS,GAAG,EAAc,CAAC;IACjC,MAAM,GAAG,GAAG,EAAc,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtC,GAAG,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC7D;IAED,OAAO,IAAA,iBAAO,EACZ;QACE,MAAM;QACN,SAAS;QACT,IAAI,EAAE,CAAC,GAAG,CAAC;KACZ,EACD;QACE,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC;KACX,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,CAAO,OAAgB,EAAE,UAAU,EAAgC,EAAE;IAClF,MAAM,EAAE,OAAO,EAAE,KAAK,KAAwB,UAAU,EAA7B,cAAc,kBAAK,UAAU,EAAlD,oBAAqC,CAAa,CAAC;IAEzD,MAAM,KAAK,GAAG,MAAM,WAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IAE7E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAErC,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../../src/commands/benchmark/benchmark.ts"],"names":[],"mappings":";;;AAAA,8DAA8B;AAK9B,oCAA+B;AAE/B,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAE5D,MAAM,WAAW,GAAG,CAAC,KAA+B,EAAE,EAAE;IACtD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;IACzC,MAAM,MAAM,GAAG,EAAc,CAAC;IAC9B,MAAM,SAAS,GAAG,EAAc,CAAC;IACjC,MAAM,GAAG,GAAG,EAAc,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtC,GAAG,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC7D;IAED,OAAO,IAAA,iBAAO,EACZ;QACE,MAAM;QACN,SAAS;QACT,IAAI,EAAE,CAAC,GAAG,CAAC;KACZ,EACD;QACE,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC;KACX,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,CAAO,OAAgB,EAAE,UAAU,EAAgC,EAAE;IAClF,MAAM,EAAE,OAAO,EAAE,KAAK,KAAwB,UAAU,EAA7B,cAAc,kBAAK,UAAU,EAAlD,oBAAqC,CAAa,CAAC;IAEzD,MAAM,KAAK,GAAG,MAAM,WAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IAE7E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAErC,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC,CAAA,CAAC"}
@@ -16,7 +16,7 @@ const checkVersion = (_, { to: version = 'latest' }) => tslib_1.__awaiter(void 0
16
16
  status: 'ok',
17
17
  };
18
18
  }
19
- throw new Error(`Tramvai version ${version} does not exists`);
19
+ throw new Error(`Tramvai version ${version} does not exist`);
20
20
  });
21
21
  exports.checkVersion = checkVersion;
22
22
  //# sourceMappingURL=checkVersionValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkVersionValidator.js","sourceRoot":"","sources":["../../../src/commands/update/checkVersionValidator.ts"],"names":[],"mappings":";;;;AAAA,2FAAwF;AAGjF,MAAM,YAAY,GAAG,CAAO,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,GAAG,QAAQ,EAAU,EAAE,EAAE;IAC1E,IAAI,OAAO,KAAK,QAAQ,EAAE;QACxB,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,IAAI;SACb,CAAC;KACH;IAED,IAAI,MAAM,IAAA,qCAAiB,EAAC,eAAe,EAAE,OAAO,CAAC,EAAE;QACrD,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,IAAI;SACb,CAAC;KACH;IAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,kBAAkB,CAAC,CAAC;AAChE,CAAC,CAAA,CAAC;AAhBW,QAAA,YAAY,gBAgBvB"}
1
+ {"version":3,"file":"checkVersionValidator.js","sourceRoot":"","sources":["../../../src/commands/update/checkVersionValidator.ts"],"names":[],"mappings":";;;;AAAA,2FAAwF;AAGjF,MAAM,YAAY,GAAG,CAAO,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,GAAG,QAAQ,EAAU,EAAE,EAAE;IAC1E,IAAI,OAAO,KAAK,QAAQ,EAAE;QACxB,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,IAAI;SACb,CAAC;KACH;IAED,IAAI,MAAM,IAAA,qCAAiB,EAAC,eAAe,EAAE,OAAO,CAAC,EAAE;QACrD,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,IAAI;SACb,CAAC;KACH;IAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,iBAAiB,CAAC,CAAC;AAC/D,CAAC,CAAA,CAAC;AAhBW,QAAA,YAAY,gBAgBvB"}
@@ -11,7 +11,12 @@ const dependantLibs_1 = require("./dependantLibs");
11
11
  const isUnifiedVersion = (name) => {
12
12
  return name.startsWith('@tramvai');
13
13
  };
14
- const getVersionFromDep = (dep) => { var _a, _b; return ((_a = (0, semver_1.parse)(dep)) === null || _a === void 0 ? void 0 : _a.version) || ((_b = (0, semver_1.minVersion)(dep)) === null || _b === void 0 ? void 0 : _b.version); };
14
+ const getVersionFromDep = (dep) => {
15
+ var _a, _b;
16
+ if (dep) {
17
+ return ((_a = (0, semver_1.parse)(dep)) === null || _a === void 0 ? void 0 : _a.version) || ((_b = (0, semver_1.minVersion)(dep)) === null || _b === void 0 ? void 0 : _b.version);
18
+ }
19
+ };
15
20
  const updateDependencies = (dependencies = {}, targetVersion, currentVersion, spinner) => {
16
21
  return (0, p_map_1.default)(Object.keys(dependencies), (dep) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
17
22
  let nextVersion;
@@ -49,7 +54,7 @@ const updatePackageJson = (version) => tslib_1.__awaiter(void 0, void 0, void 0,
49
54
  const content = JSON.parse(file.toString());
50
55
  const currentVersion = getVersionFromDep(content.dependencies['@tramvai/core']);
51
56
  if (!currentVersion) {
52
- throw new Error("Couldn't resolve current tramvai version");
57
+ throw new Error("Couldn't resolve current tramvai version, do you have '@tramvai/core' package in your dependencies?");
53
58
  }
54
59
  if (currentVersion === version) {
55
60
  console.error('The installed version is equal to the current version, no update is required.');
@@ -1 +1 @@
1
- {"version":3,"file":"updatePackageJson.js","sourceRoot":"","sources":["../../../src/commands/update/updatePackageJson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updatePackageJson.js","sourceRoot":"","sources":["../../../src/commands/update/updatePackageJson.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ const isChildApp = (configManager) => {
17
17
  };
18
18
  exports.isChildApp = isChildApp;
19
19
  const throwErrorMissing = (config, path) => {
20
- throw new Error(`Can not resolve '${path}', check your configuration: '${config}'`);
20
+ throw new Error(`Can not resolve path '${path}', check your tramvai.json configuration for option '${config}'`);
21
21
  };
22
22
  const validate = (configManager) => {
23
23
  const { rootDir } = configManager;
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/config/validate.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,qCAAiD;AAKjD,2CAAyC;AAGlC,MAAM,aAAa,GAAG,CAC3B,aAAoC,EACuB,EAAE;IAC7D,OAAO,aAAa,CAAC,IAAI,KAAK,aAAa,CAAC;AAC9C,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAEK,MAAM,QAAQ,GAAG,CACtB,aAAoC,EACkB,EAAE;IACxD,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzC,CAAC,CAAC;AAJW,QAAA,QAAQ,YAInB;AAEK,MAAM,UAAU,GAAG,CACxB,aAAoC,EACoB,EAAE;IAC1D,OAAO,aAAa,CAAC,IAAI,KAAK,WAAW,CAAC;AAC5C,CAAC,CAAC;AAJW,QAAA,UAAU,cAIrB;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE;IACzD,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,iCAAiC,MAAM,GAAG,CAAC,CAAC;AACtF,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,CAAC,aAAsC,EAAE,EAAE;IACjE,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;IAElC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;QACjC,IAAI;YACF,OAAO,CAAC,IAAA,cAAc,EAAC,IAAA,cAAO,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBAC7C,UAAU,EAAV,sBAAU;gBACV,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEF,IAAI,IAAA,qBAAa,EAAC,aAAa,CAAC,EAAE;QAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;QAEpD,IAAI,SAAS,KAAK,QAAQ,EAAE;YAC1B,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;gBACnB,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;aAC5C;YAED,IAAI,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE;gBACnC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzC;SACF;KACF;SAAM,IAAI,IAAA,gBAAQ,EAAC,aAAa,CAAC,EAAE;QAClC,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;QAC/B,MAAM,WAAW,GAAG,GAAG,IAAI,QAAQ,CAAC;QAEpC,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE;YAC1B,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;SACxC;KACF;SAAM;QACL,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;QAE/B,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;YACnB,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;SAC5C;KACF;AACH,CAAC,CAAC;AAxCW,QAAA,QAAQ,YAwCnB"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/config/validate.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,qCAAiD;AAKjD,2CAAyC;AAGlC,MAAM,aAAa,GAAG,CAC3B,aAAoC,EACuB,EAAE;IAC7D,OAAO,aAAa,CAAC,IAAI,KAAK,aAAa,CAAC;AAC9C,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAEK,MAAM,QAAQ,GAAG,CACtB,aAAoC,EACkB,EAAE;IACxD,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzC,CAAC,CAAC;AAJW,QAAA,QAAQ,YAInB;AAEK,MAAM,UAAU,GAAG,CACxB,aAAoC,EACoB,EAAE;IAC1D,OAAO,aAAa,CAAC,IAAI,KAAK,WAAW,CAAC;AAC5C,CAAC,CAAC;AAJW,QAAA,UAAU,cAIrB;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE;IACzD,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,wDAAwD,MAAM,GAAG,CAC/F,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,CAAC,aAAsC,EAAE,EAAE;IACjE,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;IAElC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;QACjC,IAAI;YACF,OAAO,CAAC,IAAA,cAAc,EAAC,IAAA,cAAO,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBAC7C,UAAU,EAAV,sBAAU;gBACV,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEF,IAAI,IAAA,qBAAa,EAAC,aAAa,CAAC,EAAE;QAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;QAEpD,IAAI,SAAS,KAAK,QAAQ,EAAE;YAC1B,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;gBACnB,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;aAC5C;YAED,IAAI,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE;gBACnC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzC;SACF;KACF;SAAM,IAAI,IAAA,gBAAQ,EAAC,aAAa,CAAC,EAAE;QAClC,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;QAC/B,MAAM,WAAW,GAAG,GAAG,IAAI,QAAQ,CAAC;QAEpC,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE;YAC1B,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;SACxC;KACF;SAAM;QACL,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;QAE/B,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;YACnB,iBAAiB,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;SAC5C;KACF;AACH,CAAC,CAAC;AAxCW,QAAA,QAAQ,YAwCnB"}
@@ -25,8 +25,8 @@ class ConfigManager {
25
25
  getProject(projectName) {
26
26
  const entry = this.config.projects[projectName];
27
27
  if (!entry) {
28
- console.error('This repo support projects: ', Object.keys(this.config.projects));
29
- throw new Error(`${projectName} not found in platform.json`);
28
+ console.error('This repo supports following projects: ', Object.keys(this.config.projects));
29
+ throw new Error(`${projectName} not found in tramvai.json`);
30
30
  }
31
31
  return entry;
32
32
  }
@@ -104,7 +104,11 @@ class ConfigManager {
104
104
  return message;
105
105
  })
106
106
  .join('\n');
107
- throw new Error(`[validateConfig] ${errorsMessage}`);
107
+ throw new Error(`[validateConfig] Config validation failed. Check errors below and make appropriate changes.
108
+ If this errors appeared after updating tramvai dependencies make sure you use command "tramvai update" to make the update or consult the docs to see config changes for your version
109
+
110
+ ${errorsMessage}
111
+ `);
108
112
  }
109
113
  }
110
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/models/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/models/config.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,8EAAgD;AAChD,4EAA8C;AAC9C,yEAAyC;AAGzC,0DAAoE;AACpE,gEAA6D;AAC7D,0CAAuC;AACvC,+CAA2C;AAE3C,MAAa,aAAa;IAKxB,YAAY,EAAE,MAAM,EAAE,cAAc,EAAoD;QACtF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,MAAc;QAChB,IAAI,CAAC,MAAM,GAAG,IAAA,aAAK,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,WAAmB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,4BAA4B,CAAC,CAAC;SAC7D;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,WAAwB,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI;QAC1D,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,aAAa,CAAC,CAAC,CAAC;SAChE;QACD,MAAM,SAAS,GAAG,IAAA,aAAK,EAAC,IAAI,CAAC,MAAM,EAAE;YACnC,QAAQ,EAAE;gBACR,CAAC,IAAI,CAAC,EAAE,WAAW;aACpB;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,mCAAgB,GAAE,CAAC;QAEpC,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACjE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QAED,MAAM,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3C,iEAAiE;QACjE,MAAM,gBAAgB,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAE3C,4FAA4F;QAC5F,OAAO,gBAAgB,CAAC,cAAc,CAAC;QACvC,qFAAqF;QAErF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC7D,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAErD,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAA,aAAK,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3C,GAAG,CAAC,UAAU,CAAC,iBAAiB,EAAE;YAChC,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,KAAK;YACb,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU;gBAC5C,MAAM,YAAY,GAAI,UAAkB,CAAC,OAAO,CAAC;gBAEjD,IAAI,CAAC,IAAA,gBAAQ,EAAC,YAAY,CAAC,EAAE;oBAC3B,OAAO,IAAI,CAAC;iBACb;gBAED,IAAI,UAAU,GAAG,YAAY,CAAC;gBAC9B,IAAI,WAAW,GAAG,YAAY,CAAC;gBAE/B,IAAI,IAAA,4BAAmB,EAAC,YAAY,CAAC,EAAE;oBACrC,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC;oBACtC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC;iBACvC;gBAED,IAAI,IAAA,4BAAmB,EAAC,YAAY,CAAC,IAAI,IAAA,eAAO,EAAC,YAAY,CAAC,EAAE;oBAC9D,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;wBAC7B,6CAA6C;wBAC7C,YAAY,CAAC,WAAW,GAAG,UAAU,CAAC;qBACvC;oBAED,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;wBAC5B,6CAA6C;wBAC7C,YAAY,CAAC,UAAU,GAAG,WAAW,CAAC;qBACvC;iBACF;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAEzC,8EAA8E;QAC9E,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAE/B,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;iBAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACb,IAAI,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEtC,IAAI,KAAK,CAAC,OAAO,KAAK,uCAAuC,EAAE;oBAC7D,OAAO,IAAI,wBAAyB,KAAK,CAAC,MAAc,CAAC,kBAAkB,YAAY,CAAC;iBACzF;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,IAAI,KAAK,CAAC;;;EAGpB,aAAa;CACd,CAAC,CAAC;SACE;IACH,CAAC;CACF;AAtID,sCAsIC"}
@@ -1,16 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Logger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
4
6
  class Logger {
5
7
  event(event) {
8
+ var _a, _b, _c;
6
9
  if (event.type === 'error') {
7
- console.error(event.type, event.event, event.message, event.payload);
10
+ console.error(chalk_1.default.red(event.type), chalk_1.default.bgRed(event.event), event.message, (_a = event.payload) !== null && _a !== void 0 ? _a : '');
8
11
  }
9
12
  else if (event.type === 'warning') {
10
- console.warn(event.type, event.event, event.message, event.payload);
13
+ console.warn(chalk_1.default.yellow(event.type), chalk_1.default.bgYellow(event.event), event.message, (_b = event.payload) !== null && _b !== void 0 ? _b : '');
11
14
  }
12
15
  else if (event.type === 'info' || process.env.DEBUG_MODE === 'true') {
13
- console.log(event.type, event.event, event.message, event.payload);
16
+ console.log(chalk_1.default.magenta(event.type), chalk_1.default.bgMagenta(event.event), event.message, (_c = event.payload) !== null && _c !== void 0 ? _c : '');
14
17
  }
15
18
  }
16
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/models/logger.ts"],"names":[],"mappings":";;;AAOA,MAAa,MAAM;IACjB,KAAK,CAAC,KAAe;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SACtE;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SACrE;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE;YACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SACpE;IACH,CAAC;CACF;AAVD,wBAUC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/models/logger.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAS1B,MAAa,MAAM;IACjB,KAAK,CAAC,KAAe;;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EACrB,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EACxB,KAAK,CAAC,OAAO,EACb,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CACpB,CAAC;SACH;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YACnC,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EACxB,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAC3B,KAAK,CAAC,OAAO,EACb,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CACpB,CAAC;SACH;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE;YACrE,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EACzB,eAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAC5B,KAAK,CAAC,OAAO,EACb,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CACpB,CAAC;SACH;IACH,CAAC;CACF;AAzBD,wBAyBC"}
@@ -234,31 +234,6 @@
234
234
  },
235
235
  "additionalProperties": false
236
236
  },
237
- "extensions": {
238
- "type": "object",
239
- "properties": {
240
- "vue": {
241
- "anyOf": [
242
- {
243
- "type": "object",
244
- "properties": {
245
- "enabled": {
246
- "type": "boolean"
247
- },
248
- "compiler": {
249
- "type": "string"
250
- }
251
- },
252
- "additionalProperties": false
253
- },
254
- {
255
- "type": "boolean"
256
- }
257
- ]
258
- }
259
- },
260
- "additionalProperties": false
261
- },
262
237
  "profile": {
263
238
  "type": "boolean"
264
239
  },
@@ -3,7 +3,7 @@ module.exports = (autogeneratedSchema) => {
3
3
  delete autogeneratedSchema.$schema;
4
4
  return {
5
5
  type: 'object',
6
- title: 'platform.json schema',
6
+ title: 'tramvai.json schema',
7
7
  $schema: 'http://json-schema.org/draft-07/schema#',
8
8
  required: ['projects'],
9
9
  additionalProperties: false,
@@ -1 +1 @@
1
- {"version":3,"file":"topLevelSchema.js","sourceRoot":"","sources":["../../src/schema/topLevelSchema.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,GAAG,CAAC,mBAAmB,EAAE,EAAE;IACvC,6CAA6C;IAC7C,OAAO,mBAAmB,CAAC,OAAO,CAAC;IAEnC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,yCAAyC;QAClD,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,iBAAiB;gBACxB,aAAa,EAAE,CAAC;gBAChB,iBAAiB,EAAE;oBACjB,8BAA8B,EAAE;wBAC9B,EAAE,EAAE;4BACF,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;6BAC/B;yBACF;wBACD,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,WAAW;wBAChD,IAAI,EAAE;4BACJ,EAAE,EAAE;gCACF,UAAU,EAAE;oCACV,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;iCAC1B;6BACF;4BACD,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,MAAM;4BAC3C,IAAI,EAAE;gCACJ,EAAE,EAAE;oCACF,UAAU,EAAE;wCACV,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;qCAC7B;iCACF;gCACD,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,WAAW,CAAC;gCACjD,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO;6BAC7C;yBACF;qBACF;iBACF;gBACD,OAAO,EAAE,EAAE;aACZ;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,KAAK,EAAE,wDAAwD;wBAC/D,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;qBACF;oBACD,aAAa,EAAE;wBACb,KAAK,EAAE,qDAAqD;wBAC5D,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"topLevelSchema.js","sourceRoot":"","sources":["../../src/schema/topLevelSchema.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,GAAG,CAAC,mBAAmB,EAAE,EAAE;IACvC,6CAA6C;IAC7C,OAAO,mBAAmB,CAAC,OAAO,CAAC;IAEnC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,yCAAyC;QAClD,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,iBAAiB;gBACxB,aAAa,EAAE,CAAC;gBAChB,iBAAiB,EAAE;oBACjB,8BAA8B,EAAE;wBAC9B,EAAE,EAAE;4BACF,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;6BAC/B;yBACF;wBACD,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,WAAW;wBAChD,IAAI,EAAE;4BACJ,EAAE,EAAE;gCACF,UAAU,EAAE;oCACV,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;iCAC1B;6BACF;4BACD,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,MAAM;4BAC3C,IAAI,EAAE;gCACJ,EAAE,EAAE;oCACF,UAAU,EAAE;wCACV,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;qCAC7B;iCACF;gCACD,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,WAAW,CAAC;gCACjD,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO;6BAC7C;yBACF;qBACF;iBACF;gBACD,OAAO,EAAE,EAAE;aACZ;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,KAAK,EAAE,wDAAwD;wBAC/D,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;qBACF;oBACD,aAAa,EAAE;wBACb,KAAK,EAAE,qDAAqD;wBAC5D,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -4,7 +4,12 @@ exports.findTramvaiVersion = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const semver_1 = require("semver");
6
6
  const fs_1 = tslib_1.__importDefault(require("fs"));
7
- const getVersionFromDep = (dep) => { var _a, _b; return ((_a = (0, semver_1.parse)(dep)) === null || _a === void 0 ? void 0 : _a.version) || ((_b = (0, semver_1.minVersion)(dep)) === null || _b === void 0 ? void 0 : _b.version); };
7
+ const getVersionFromDep = (dep) => {
8
+ var _a, _b;
9
+ if (dep) {
10
+ return ((_a = (0, semver_1.parse)(dep)) === null || _a === void 0 ? void 0 : _a.version) || ((_b = (0, semver_1.minVersion)(dep)) === null || _b === void 0 ? void 0 : _b.version);
11
+ }
12
+ };
8
13
  const findTramvaiVersion = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
9
14
  const file = fs_1.default.readFileSync('package.json');
10
15
  const content = JSON.parse(file.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"findTramvaiVersion.js","sourceRoot":"","sources":["../../../../src/utils/commands/dependencies/findTramvaiVersion.ts"],"names":[],"mappings":";;;;AAAA,mCAA2C;AAC3C,oDAAoB;AAEpB,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,EAAE,eAAC,OAAA,CAAA,MAAA,IAAA,cAAK,EAAC,GAAG,CAAC,0CAAE,OAAO,MAAI,MAAA,IAAA,mBAAU,EAAC,GAAG,CAAC,0CAAE,OAAO,CAAA,CAAA,EAAA,CAAC;AAE5E,MAAM,kBAAkB,GAAG,GAAS,EAAE;IAC3C,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;IAEhF,OAAO,cAAc,CAAC;AACxB,CAAC,CAAA,CAAC;AANW,QAAA,kBAAkB,sBAM7B"}
1
+ {"version":3,"file":"findTramvaiVersion.js","sourceRoot":"","sources":["../../../../src/utils/commands/dependencies/findTramvaiVersion.ts"],"names":[],"mappings":";;;;AAAA,mCAA2C;AAC3C,oDAAoB;AAEpB,MAAM,iBAAiB,GAAG,CAAC,GAAY,EAAE,EAAE;;IACzC,IAAI,GAAG,EAAE;QACP,OAAO,CAAA,MAAA,IAAA,cAAK,EAAC,GAAG,CAAC,0CAAE,OAAO,MAAI,MAAA,IAAA,mBAAU,EAAC,GAAG,CAAC,0CAAE,OAAO,CAAA,CAAC;KACxD;AACH,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,GAAS,EAAE;IAC3C,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;IAEhF,OAAO,cAAc,CAAC;AACxB,CAAC,CAAA,CAAC;AANW,QAAA,kBAAkB,sBAM7B"}
@@ -11,7 +11,10 @@ function getRootFile(name, rootDir = process.cwd()) {
11
11
  isSuccessful: true,
12
12
  };
13
13
  }
14
- catch (e) {
14
+ catch (error) {
15
+ if (error instanceof SyntaxError) {
16
+ throw error;
17
+ }
15
18
  return {
16
19
  path,
17
20
  content: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"getRootFile.js","sourceRoot":"","sources":["../../src/utils/getRootFile.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,SAAgB,WAAW,CACzB,IAAY,EACZ,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;IAEvB,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEpC,IAAI;QACF,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;YACtB,YAAY,EAAE,IAAI;SACnB,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACV,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,KAAK;SACpB,CAAC;KACH;AACH,CAAC;AAnBD,kCAmBC"}
1
+ {"version":3,"file":"getRootFile.js","sourceRoot":"","sources":["../../src/utils/getRootFile.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,SAAgB,WAAW,CACzB,IAAY,EACZ,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;IAEvB,MAAM,IAAI,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEpC,IAAI;QACF,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;YACtB,YAAY,EAAE,IAAI;SACnB,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,KAAK,YAAY,WAAW,EAAE;YAChC,MAAM,KAAK,CAAC;SACb;QAED,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,KAAK;SACpB,CAAC;KACH;AACH,CAAC;AAvBD,kCAuBC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initSentry = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const Sentry = tslib_1.__importStar(require("@sentry/node"));
6
+ const packageJson = require('../../package.json');
6
7
  let localSentry;
7
8
  function initSentry() {
8
9
  if (localSentry) {
@@ -16,6 +17,7 @@ function initSentry() {
16
17
  job: process === null || process === void 0 ? void 0 : process.env.CI_JOB_URL,
17
18
  repo: process === null || process === void 0 ? void 0 : process.env.CI_REPOSITORY_URL,
18
19
  branch: process === null || process === void 0 ? void 0 : process.env.CI_COMMIT_REF_NAME,
20
+ version: packageJson === null || packageJson === void 0 ? void 0 : packageJson.version,
19
21
  };
20
22
  Sentry.setContext('project', projectContext);
21
23
  localSentry = Sentry;
@@ -1 +1 @@
1
- {"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../src/utils/sentry.ts"],"names":[],"mappings":";;;;AAAA,6DAAuC;AAEvC,IAAI,WAAW,CAAC;AAEhB,SAAgB,UAAU;IACxB,IAAI,WAAW,EAAE;QACf,OAAO,WAAW,CAAC;KACpB;IACD,MAAM,CAAC,IAAI,CAAC;QACV,GAAG,EAAE,EAAE;KACR,CAAC,CAAC;IACH,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,eAAe;QACtC,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,UAAU;QAC5B,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,iBAAiB;QACpC,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,kBAAkB;KACxC,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE7C,WAAW,GAAG,MAAM,CAAC;IACrB,OAAO,WAAW,CAAC;AACrB,CAAC;AAjBD,gCAiBC"}
1
+ {"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../src/utils/sentry.ts"],"names":[],"mappings":";;;;AAAA,6DAAuC;AAEvC,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAElD,IAAI,WAAW,CAAC;AAEhB,SAAgB,UAAU;IACxB,IAAI,WAAW,EAAE;QACf,OAAO,WAAW,CAAC;KACpB;IACD,MAAM,CAAC,IAAI,CAAC;QACV,GAAG,EAAE,EAAE;KACR,CAAC,CAAC;IACH,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,eAAe;QACtC,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,UAAU;QAC5B,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,iBAAiB;QACpC,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,kBAAkB;QACvC,OAAO,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO;KAC9B,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE7C,WAAW,GAAG,MAAM,CAAC;IACrB,OAAO,WAAW,CAAC;AACrB,CAAC;AAlBD,gCAkBC"}
@@ -4,7 +4,7 @@ exports.checkConfigExists = void 0;
4
4
  const checkConfigExists = ({ config }) => {
5
5
  const configParameters = config.get();
6
6
  if (!configParameters) {
7
- throw new Error(`[checkConfigExists] Не создан tramvai.json в корне проекта. Для продолжения работы необходимо создать tramvai.json или запустить команду tramvai new myAwesomeApp`);
7
+ throw new Error(`[checkConfigExists] tramvai.json config is missing. To resolve create tramvai.json config manually, or create a new app with command "tramvai new myAwesomeApp"`);
8
8
  }
9
9
  return Promise.resolve({ name: 'checkConfigExists', status: 'ok' });
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"checkConfigExists.js","sourceRoot":"","sources":["../../../src/validators/commands/checkConfigExists.ts"],"names":[],"mappings":";;;AAEO,MAAM,iBAAiB,GAAc,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IACzD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IAEtC,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,mKAAmK,CACpK,CAAC;KACH;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B"}
1
+ {"version":3,"file":"checkConfigExists.js","sourceRoot":"","sources":["../../../src/validators/commands/checkConfigExists.ts"],"names":[],"mappings":";;;AAEO,MAAM,iBAAiB,GAAc,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IACzD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IAEtC,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,iKAAiK,CAClK,CAAC;KACH;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B"}
@@ -6,6 +6,7 @@ const any_1 = tslib_1.__importDefault(require("@tinkoff/utils/array/any"));
6
6
  const each_1 = tslib_1.__importDefault(require("@tinkoff/utils/object/each"));
7
7
  const resolve_1 = require("resolve");
8
8
  const semver_1 = require("semver");
9
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
9
10
  const depsToCheck = [/^webpack$/, /^@babel/, /^postcss/];
10
11
  const criticalDeps = [/^webpack$/, /^@babel\/core/, /^postcss$/];
11
12
  const checkDependencies = ({ logger }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -33,7 +34,7 @@ const checkDependencies = ({ logger }) => tslib_1.__awaiter(void 0, void 0, void
33
34
  logger.event({
34
35
  type: versionDiff === 'major' ? 'error' : 'warning',
35
36
  event: 'COMMAND:VALIDATE:DEPENDENCIES',
36
- message: `Package ${packageName} has duplicates in @tramvai/cli (${pathFromCli}) and in the process.cwd (${pathFromRoot})`,
37
+ message: `Package ${chalk_1.default.underline(packageName)} has duplicates in @tramvai/cli (${pathFromCli}) and in the process.cwd (${pathFromRoot})`,
37
38
  });
38
39
  }
39
40
  }
@@ -46,17 +47,16 @@ const checkDependencies = ({ logger }) => tslib_1.__awaiter(void 0, void 0, void
46
47
  name: 'checkDependencies',
47
48
  status: hasCriticalMismatch ? 'error' : 'warning',
48
49
  message: `
49
- Некоторые важные пакеты необходимые для работы @tramvai/cli дублируются,
50
- что может привести к неочевидным багам и проблемам из-за особенностей commonjs по поиску импортируемых модулей.
50
+ Found duplicates of some of the important dependencies for @tramvai/cli.
51
+ That can lead to unexpected problems due to how commonjs resolves imported modules.
51
52
 
52
- Во избежании возможных проблем желательно провести дедупликацию таких пакетов.
53
- Сам список проблемных пакетов выведен выше.
54
- Для дедупликации можно предпринять следующие шаги (после каждого шага можно перезапустить сборку для проверки):
55
- 1. Вызвать команды дедупликации своего пакетного менеджера: npm dedupe; yarn-deduplicate
56
- 2. Пересобрать lock файл полностью (удалить node_modules, удалить package-lock.json или yarn.lock и запустить установку пакетов)
57
- 3. Если ничего из выше не помогло, то проверить какие пакеты тянут в сборку проблемные пакеты и постараться реорганизовать работу с ними (npm ls; yarn why)
58
- 4. Возможно дубликаты ничего не ломают и их можно не трогать, если проблемы всё же есть и их не получается решить обратитесь в чат #tramvai с описанием проблемы
59
- `,
53
+ To avoid possible problems it is preferably to do deduplication of the dependencies.
54
+ To do it refer the docs - https://tramvai.dev/docs/mistakes/duplicate-dependencies#using-package-manager
55
+ The exact list of important duplicates is above.
56
+ ${hasCriticalMismatch
57
+ ? ''
58
+ : 'Please note that duplicates above not necessarily will cause problems, but if you have some cryptic issue with the build consider fixing duplicates first'}
59
+ `,
60
60
  };
61
61
  }
62
62
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"checkDependencies.js","sourceRoot":"","sources":["../../../src/validators/commands/checkDependencies.ts"],"names":[],"mappings":";;;;AAAA,2EAA2C;AAC3C,8EAAiD;AACjD,qCAA0C;AAC1C,mCAA8B;AAG9B,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACzD,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;AAE1D,MAAM,iBAAiB,GAAc,CAAO,EAAE,MAAM,EAAE,EAAE,EAAE;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACrD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,IAAA,cAAO,EAAC,CAAC,CAAC,EAAE,WAAmB,EAAE,EAAE;QACjC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;YAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC3B,MAAM,WAAW,GAAG,GAAG,WAAW,eAAe,CAAC;gBAClD,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC;gBAEzC,sFAAsF;gBACtF,IAAI;oBACF,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBAChE,IAAI,WAAW,GAA4B,IAAI,CAAC;oBAEhD,IAAI,WAAW,KAAK,YAAY,EAAE;wBAChC,YAAY,GAAG,IAAI,CAAC;wBAEpB,IAAI,IAAA,aAAG,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,EAAE;4BAC3D,WAAW,GAAG,IAAA,aAAI,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;4BAEhF,IAAI,WAAW,KAAK,OAAO,EAAE;gCAC3B,mBAAmB,GAAG,IAAI,CAAC;6BAC5B;yBACF;wBAED,MAAM,CAAC,KAAK,CAAC;4BACX,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;4BACnD,KAAK,EAAE,+BAA+B;4BACtC,OAAO,EAAE,WAAW,WAAW,oCAAoC,WAAW,6BAA6B,YAAY,GAAG;yBAC3H,CAAC,CAAC;qBACJ;iBACF;gBAAC,OAAO,GAAG,EAAE,GAAE;aACjB;SACF;IACH,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAE7B,IAAI,YAAY,EAAE;QAChB,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACjD,OAAO,EAAE;;;;;;;;;;;aAWF;SACR,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC,CAAA,CAAC;AA9DW,QAAA,iBAAiB,qBA8D5B"}
1
+ {"version":3,"file":"checkDependencies.js","sourceRoot":"","sources":["../../../src/validators/commands/checkDependencies.ts"],"names":[],"mappings":";;;;AAAA,2EAA2C;AAC3C,8EAAiD;AACjD,qCAA0C;AAC1C,mCAA8B;AAC9B,0DAA0B;AAG1B,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACzD,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;AAE1D,MAAM,iBAAiB,GAAc,CAAO,EAAE,MAAM,EAAE,EAAE,EAAE;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACrD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,IAAA,cAAO,EAAC,CAAC,CAAC,EAAE,WAAmB,EAAE,EAAE;QACjC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;YAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC3B,MAAM,WAAW,GAAG,GAAG,WAAW,eAAe,CAAC;gBAClD,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC;gBAEzC,sFAAsF;gBACtF,IAAI;oBACF,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBAChE,IAAI,WAAW,GAA4B,IAAI,CAAC;oBAEhD,IAAI,WAAW,KAAK,YAAY,EAAE;wBAChC,YAAY,GAAG,IAAI,CAAC;wBAEpB,IAAI,IAAA,aAAG,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,EAAE;4BAC3D,WAAW,GAAG,IAAA,aAAI,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;4BAEhF,IAAI,WAAW,KAAK,OAAO,EAAE;gCAC3B,mBAAmB,GAAG,IAAI,CAAC;6BAC5B;yBACF;wBAED,MAAM,CAAC,KAAK,CAAC;4BACX,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;4BACnD,KAAK,EAAE,+BAA+B;4BACtC,OAAO,EAAE,WAAW,eAAK,CAAC,SAAS,CACjC,WAAW,CACZ,oCAAoC,WAAW,6BAA6B,YAAY,GAAG;yBAC7F,CAAC,CAAC;qBACJ;iBACF;gBAAC,OAAO,GAAG,EAAE,GAAE;aACjB;SACF;IACH,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAE7B,IAAI,YAAY,EAAE;QAChB,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACjD,OAAO,EAAE;;;;;;;EAQb,mBAAmB;gBACjB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,2JACN;CACC;SACI,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC,CAAA,CAAC;AAjEW,QAAA,iBAAiB,qBAiE5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "2.78.1",
3
+ "version": "2.79.4",
4
4
  "description": "Cli инструмент для сборки и запуска приложений",
5
5
  "files": [
6
6
  "src",
@@ -54,8 +54,8 @@
54
54
  "@babel/traverse": "^7.18.11",
55
55
  "@babel/types": "^7.18.10",
56
56
  "@discoveryjs/json-ext": "^0.5.7",
57
- "@fastify/compress": "^6.1.1",
58
- "@fastify/static": "^6.5.0",
57
+ "@fastify/compress": "^6.2.0",
58
+ "@fastify/static": "^6.9.0",
59
59
  "@module-federation/node": "^0.11.1",
60
60
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
61
61
  "@sentry/node": "^6.2.5",
@@ -71,7 +71,7 @@
71
71
  "@tinkoff/utils": "^2.1.3",
72
72
  "@tinkoff/webpack-dedupe-plugin": "1.0.3",
73
73
  "@tramvai/build": "3.1.2",
74
- "@tramvai/react": "2.78.1",
74
+ "@tramvai/react": "2.79.4",
75
75
  "@tramvai/tools-check-versions": "0.4.9",
76
76
  "@tramvai/tools-migrate": "0.6.12",
77
77
  "ajv": "^6.12.6",
@@ -99,10 +99,10 @@
99
99
  "execa": "^5.1.1",
100
100
  "exit": "^0.1.2",
101
101
  "express": "^4.18.1",
102
- "fastify": "^4.6.0",
102
+ "fastify": "^4.14.1",
103
103
  "figures": "^3.2.0",
104
104
  "find-cache-dir": "^3.3.2",
105
- "fork-ts-checker-webpack-plugin": "^7.3.0",
105
+ "fork-ts-checker-webpack-plugin": "^8.0.0",
106
106
  "fs-extra": "^9.1.0",
107
107
  "file-loader": "^6.2.0",
108
108
  "fs-readdir-recursive": "^1.1.0",
@@ -147,18 +147,18 @@
147
147
  "stoppable": "^1.1.0",
148
148
  "svgo": "^1.3.2",
149
149
  "svgo-loader": "^2.2.2",
150
- "terser-webpack-plugin": "^5.3.6",
150
+ "terser-webpack-plugin": "^5.3.7",
151
151
  "text-table": "^0.2.0",
152
152
  "thread-loader": "^3.0.4",
153
- "tsconfig-paths-webpack-plugin": "^4.0.0",
153
+ "tsconfig-paths-webpack-plugin": "^4.0.1",
154
154
  "universal-analytics": "^0.4.23",
155
155
  "utility-types": "^3.10.0",
156
156
  "v8-compile-cache": "^2.3.0",
157
157
  "validate-npm-package-name": "^3.0.0",
158
158
  "wait-on": "^5.3.0",
159
- "webpack": "5.75.0",
159
+ "webpack": "5.76.0",
160
160
  "webpack-build-notifier": "^2.3.0",
161
- "webpack-bundle-analyzer": "^4.7.0",
161
+ "webpack-bundle-analyzer": "^4.8.0",
162
162
  "webpack-chain": "^6.5.1",
163
163
  "webpack-dev-middleware": "^6.0.1",
164
164
  "webpack-hot-middleware": "^2.25.3",
package/schema.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "type": "object",
3
- "title": "platform.json schema",
3
+ "title": "tramvai.json schema",
4
4
  "$schema": "http://json-schema.org/draft-07/schema#",
5
5
  "required": [
6
6
  "projects"
@@ -255,31 +255,6 @@
255
255
  },
256
256
  "additionalProperties": false
257
257
  },
258
- "extensions": {
259
- "type": "object",
260
- "properties": {
261
- "vue": {
262
- "anyOf": [
263
- {
264
- "type": "object",
265
- "properties": {
266
- "enabled": {
267
- "type": "boolean"
268
- },
269
- "compiler": {
270
- "type": "string"
271
- }
272
- },
273
- "additionalProperties": false
274
- },
275
- {
276
- "type": "boolean"
277
- }
278
- ]
279
- }
280
- },
281
- "additionalProperties": false
282
- },
283
258
  "profile": {
284
259
  "type": "boolean"
285
260
  },
package/src/cli/index.ts CHANGED
@@ -101,7 +101,6 @@ export async function cliInitialized(cliArgs = process.argv) {
101
101
  event: 'GLOBAL:ERROR',
102
102
  message: e.message || e,
103
103
  });
104
- console.error(e);
105
104
  sentry.captureException(e);
106
105
 
107
106
  throw e;
@@ -12,6 +12,12 @@ export type Params = {
12
12
  export default async (context: Context, { packageName, dev }: Params): Promise<CommandResult> => {
13
13
  const version = await findTramvaiVersion();
14
14
 
15
+ if (!version) {
16
+ throw new Error(
17
+ 'Could not resolve tramvai version from package.json. Do you have @tramvai/core installed?'
18
+ );
19
+ }
20
+
15
21
  await context.packageManager.install({
16
22
  name: packageName,
17
23
  version,
@@ -2,11 +2,7 @@ import latestVersion from 'latest-version';
2
2
  import type { Params } from './add';
3
3
 
4
4
  export const checkPackage = async (_, { packageName }: Params) => {
5
- try {
6
- await latestVersion(packageName);
7
- } catch (e) {
8
- throw new Error(`Package ${packageName} does not exists`);
9
- }
5
+ await latestVersion(packageName);
10
6
 
11
7
  return {
12
8
  name: 'checkPackage',
@@ -5,8 +5,10 @@ import type { Result } from '../../api/benchmark';
5
5
 
6
6
  import { app } from '../index';
7
7
 
8
+ const roundStats = (n: number) => Math.round(100 * n) / 100;
9
+
8
10
  const formatStats = (stats: Result[string]['client']) => {
9
- return `${stats.mean}ms ± ${Math.round(100 * stats.variance) / 100}%`;
11
+ return `${roundStats(stats.mean)}ms ± ${roundStats(stats.variance)}%`;
10
12
  };
11
13
 
12
14
  const formatStatsTable = (stats: Result) => {
@@ -12,7 +12,8 @@ describe('testChildApp', () => {
12
12
  childApp: { di, Component },
13
13
  close,
14
14
  } = await testChildApp(childApp);
15
- const { render } = testComponent(<Component di={di} props={{}} />);
15
+ const props = {};
16
+ const { render } = testComponent(<Component di={di} props={props} />);
16
17
 
17
18
  expect(render.getAllByText('Child App microfront')).toBeTruthy();
18
19
 
@@ -7,7 +7,7 @@
7
7
  "type": "child-app",
8
8
  "postcss": {
9
9
  "config": "apps/{{configEntry.name}}/postcss"
10
- },
10
+ }
11
11
  }
12
12
  }
13
13
  }
@@ -7,7 +7,7 @@
7
7
  "type": "child-app",
8
8
  "postcss": {
9
9
  "config": "src/postcss"
10
- },
10
+ }
11
11
  }
12
12
  }
13
13
  }
@@ -4,6 +4,8 @@
4
4
  "scripts": {
5
5
  "start": "tramvai start {{configEntry.name}}",
6
6
  "build": "tramvai build {{configEntry.name}}",
7
+ "preview": "tramvai start-prod {{configEntry.name}}",
8
+ "analyze": "tramvai analyze {{configEntry.name}}",
7
9
  "lint": "eslint --ext .ts,.tsx --ignore-path .gitignore ."{{#if isJest}},
8
10
  "test": "jest --passWithNoTests",
9
11
  "test:watch": "jest --watch",
@@ -16,5 +16,5 @@ export const checkVersion = async (_, { to: version = 'latest' }: Params) => {
16
16
  };
17
17
  }
18
18
 
19
- throw new Error(`Tramvai version ${version} does not exists`);
19
+ throw new Error(`Tramvai version ${version} does not exist`);
20
20
  };
@@ -10,7 +10,11 @@ const isUnifiedVersion = (name: string) => {
10
10
  return name.startsWith('@tramvai');
11
11
  };
12
12
 
13
- const getVersionFromDep = (dep: string) => parse(dep)?.version || minVersion(dep)?.version;
13
+ const getVersionFromDep = (dep?: string) => {
14
+ if (dep) {
15
+ return parse(dep)?.version || minVersion(dep)?.version;
16
+ }
17
+ };
14
18
 
15
19
  const updateDependencies = (
16
20
  dependencies: Record<string, string> = {},
@@ -65,7 +69,9 @@ export const updatePackageJson = async (version: string) => {
65
69
  const currentVersion = getVersionFromDep(content.dependencies['@tramvai/core']);
66
70
 
67
71
  if (!currentVersion) {
68
- throw new Error("Couldn't resolve current tramvai version");
72
+ throw new Error(
73
+ "Couldn't resolve current tramvai version, do you have '@tramvai/core' package in your dependencies?"
74
+ );
69
75
  }
70
76
 
71
77
  if (currentVersion === version) {
@@ -26,7 +26,9 @@ export const isChildApp = <E extends Env>(
26
26
  };
27
27
 
28
28
  const throwErrorMissing = (config: string, path: string) => {
29
- throw new Error(`Can not resolve '${path}', check your configuration: '${config}'`);
29
+ throw new Error(
30
+ `Can not resolve path '${path}', check your tramvai.json configuration for option '${config}'`
31
+ );
30
32
  };
31
33
 
32
34
  export const validate = (configManager: ConfigManager<any, any>) => {
@@ -33,8 +33,8 @@ export class ConfigManager {
33
33
  const entry = this.config.projects[projectName];
34
34
 
35
35
  if (!entry) {
36
- console.error('This repo support projects: ', Object.keys(this.config.projects));
37
- throw new Error(`${projectName} not found in platform.json`);
36
+ console.error('This repo supports following projects: ', Object.keys(this.config.projects));
37
+ throw new Error(`${projectName} not found in tramvai.json`);
38
38
  }
39
39
 
40
40
  return entry;
@@ -136,7 +136,11 @@ export class ConfigManager {
136
136
  })
137
137
  .join('\n');
138
138
 
139
- throw new Error(`[validateConfig] ${errorsMessage}`);
139
+ throw new Error(`[validateConfig] Config validation failed. Check errors below and make appropriate changes.
140
+ If this errors appeared after updating tramvai dependencies make sure you use command "tramvai update" to make the update or consult the docs to see config changes for your version
141
+
142
+ ${errorsMessage}
143
+ `);
140
144
  }
141
145
  }
142
146
  }
@@ -1,3 +1,5 @@
1
+ import chalk from 'chalk';
2
+
1
3
  interface LogEvent {
2
4
  type: 'error' | 'warning' | 'info' | 'debug';
3
5
  event: string; // уникальный идентификатор
@@ -8,11 +10,26 @@ interface LogEvent {
8
10
  export class Logger {
9
11
  event(event: LogEvent): void {
10
12
  if (event.type === 'error') {
11
- console.error(event.type, event.event, event.message, event.payload);
13
+ console.error(
14
+ chalk.red(event.type),
15
+ chalk.bgRed(event.event),
16
+ event.message,
17
+ event.payload ?? ''
18
+ );
12
19
  } else if (event.type === 'warning') {
13
- console.warn(event.type, event.event, event.message, event.payload);
20
+ console.warn(
21
+ chalk.yellow(event.type),
22
+ chalk.bgYellow(event.event),
23
+ event.message,
24
+ event.payload ?? ''
25
+ );
14
26
  } else if (event.type === 'info' || process.env.DEBUG_MODE === 'true') {
15
- console.log(event.type, event.event, event.message, event.payload);
27
+ console.log(
28
+ chalk.magenta(event.type),
29
+ chalk.bgMagenta(event.event),
30
+ event.message,
31
+ event.payload ?? ''
32
+ );
16
33
  }
17
34
  }
18
35
  }
@@ -234,31 +234,6 @@
234
234
  },
235
235
  "additionalProperties": false
236
236
  },
237
- "extensions": {
238
- "type": "object",
239
- "properties": {
240
- "vue": {
241
- "anyOf": [
242
- {
243
- "type": "object",
244
- "properties": {
245
- "enabled": {
246
- "type": "boolean"
247
- },
248
- "compiler": {
249
- "type": "string"
250
- }
251
- },
252
- "additionalProperties": false
253
- },
254
- {
255
- "type": "boolean"
256
- }
257
- ]
258
- }
259
- },
260
- "additionalProperties": false
261
- },
262
237
  "profile": {
263
238
  "type": "boolean"
264
239
  },
@@ -4,7 +4,7 @@ module.exports = (autogeneratedSchema) => {
4
4
 
5
5
  return {
6
6
  type: 'object',
7
- title: 'platform.json schema',
7
+ title: 'tramvai.json schema',
8
8
  $schema: 'http://json-schema.org/draft-07/schema#',
9
9
  required: ['projects'],
10
10
  additionalProperties: false,
@@ -1,7 +1,11 @@
1
1
  import { parse, minVersion } from 'semver';
2
2
  import fs from 'fs';
3
3
 
4
- const getVersionFromDep = (dep) => parse(dep)?.version || minVersion(dep)?.version;
4
+ const getVersionFromDep = (dep?: string) => {
5
+ if (dep) {
6
+ return parse(dep)?.version || minVersion(dep)?.version;
7
+ }
8
+ };
5
9
 
6
10
  export const findTramvaiVersion = async () => {
7
11
  const file = fs.readFileSync('package.json');
@@ -12,7 +12,11 @@ export function getRootFile<T>(
12
12
  content: require(path),
13
13
  isSuccessful: true,
14
14
  };
15
- } catch (e) {
15
+ } catch (error) {
16
+ if (error instanceof SyntaxError) {
17
+ throw error;
18
+ }
19
+
16
20
  return {
17
21
  path,
18
22
  content: undefined,
@@ -1,5 +1,7 @@
1
1
  import * as Sentry from '@sentry/node';
2
2
 
3
+ const packageJson = require('../../package.json');
4
+
3
5
  let localSentry;
4
6
 
5
7
  export function initSentry() {
@@ -14,6 +16,7 @@ export function initSentry() {
14
16
  job: process?.env.CI_JOB_URL,
15
17
  repo: process?.env.CI_REPOSITORY_URL,
16
18
  branch: process?.env.CI_COMMIT_REF_NAME,
19
+ version: packageJson?.version,
17
20
  };
18
21
  Sentry.setContext('project', projectContext);
19
22
 
@@ -5,7 +5,7 @@ export const checkConfigExists: Validator = ({ config }) => {
5
5
 
6
6
  if (!configParameters) {
7
7
  throw new Error(
8
- `[checkConfigExists] Не создан tramvai.json в корне проекта. Для продолжения работы необходимо создать tramvai.json или запустить команду tramvai new myAwesomeApp`
8
+ `[checkConfigExists] tramvai.json config is missing. To resolve create tramvai.json config manually, or create a new app with command "tramvai new myAwesomeApp"`
9
9
  );
10
10
  }
11
11
 
@@ -1,4 +1,5 @@
1
1
  import { sync as mockResolve } from 'resolve';
2
+ import chalk from 'chalk';
2
3
  import type { Context } from '../../models/context';
3
4
  import { checkDependencies } from './checkDependencies';
4
5
 
@@ -38,7 +39,7 @@ describe('validators/checkDependencies', () => {
38
39
  });
39
40
 
40
41
  it('should return ok when all dependecies good', async () => {
41
- expect(await checkDependencies(context)).toEqual({
42
+ expect(await checkDependencies(context, {})).toEqual({
42
43
  name: 'checkDependencies',
43
44
  status: 'ok',
44
45
  });
@@ -61,20 +62,17 @@ describe('validators/checkDependencies', () => {
61
62
  return `/app/${name}`;
62
63
  });
63
64
 
64
- expect(await checkDependencies(context)).toMatchInlineSnapshot(`
65
+ expect(await checkDependencies(context, {})).toMatchInlineSnapshot(`
65
66
  {
66
67
  "message": "
67
- Некоторые важные пакеты необходимые для работы @tramvai/cli дублируются,
68
- что может привести к неочевидным багам и проблемам из-за особенностей commonjs по поиску импортируемых модулей.
69
-
70
- Во избежании возможных проблем желательно провести дедупликацию таких пакетов.
71
- Сам список проблемных пакетов выведен выше.
72
- Для дедупликации можно предпринять следующие шаги (после каждого шага можно перезапустить сборку для проверки):
73
- 1. Вызвать команды дедупликации своего пакетного менеджера: npm dedupe; yarn-deduplicate
74
- 2. Пересобрать lock файл полностью (удалить node_modules, удалить package-lock.json или yarn.lock и запустить установку пакетов)
75
- 3. Если ничего из выше не помогло, то проверить какие пакеты тянут в сборку проблемные пакеты и постараться реорганизовать работу с ними (npm ls; yarn why)
76
- 4. Возможно дубликаты ничего не ломают и их можно не трогать, если проблемы всё же есть и их не получается решить обратитесь в чат #tramvai с описанием проблемы
77
- ",
68
+ Found duplicates of some of the important dependencies for @tramvai/cli.
69
+ That can lead to unexpected problems due to how commonjs resolves imported modules.
70
+
71
+ To avoid possible problems it is preferably to do deduplication of the dependencies.
72
+ To do it refer the docs - https://tramvai.dev/docs/mistakes/duplicate-dependencies#using-package-manager
73
+ The exact list of important duplicates is above.
74
+ Please note that duplicates above not necessarily will cause problems, but if you have some cryptic issue with the build consider fixing duplicates first
75
+ ",
78
76
  "name": "checkDependencies",
79
77
  "status": "warning",
80
78
  }
@@ -85,22 +83,25 @@ describe('validators/checkDependencies', () => {
85
83
  expect(mockLog).toHaveBeenCalledWith({
86
84
  type: 'warning',
87
85
  event: 'COMMAND:VALIDATE:DEPENDENCIES',
88
- message:
89
- 'Package webpack has duplicates in @tramvai/cli (/app/webpack/package.json) and in the process.cwd (/app/@tramvai/cli/webpack/package.json)',
86
+ message: `Package ${chalk.underline(
87
+ 'webpack'
88
+ )} has duplicates in @tramvai/cli (/app/webpack/package.json) and in the process.cwd (/app/@tramvai/cli/webpack/package.json)`,
90
89
  });
91
90
 
92
91
  expect(mockLog).toHaveBeenCalledWith({
93
92
  type: 'warning',
94
93
  event: 'COMMAND:VALIDATE:DEPENDENCIES',
95
- message:
96
- 'Package @babel/runtime has duplicates in @tramvai/cli (/app/@babel/runtime/package.json) and in the process.cwd (/app/@tramvai/cli/@babel/runtime/package.json)',
94
+ message: `Package ${chalk.underline(
95
+ '@babel/runtime'
96
+ )} has duplicates in @tramvai/cli (/app/@babel/runtime/package.json) and in the process.cwd (/app/@tramvai/cli/@babel/runtime/package.json)`,
97
97
  });
98
98
 
99
99
  expect(mockLog).toHaveBeenCalledWith({
100
100
  type: 'warning',
101
101
  event: 'COMMAND:VALIDATE:DEPENDENCIES',
102
- message:
103
- 'Package postcss-modules-tilda has duplicates in @tramvai/cli (/app/postcss-modules-tilda/package.json) and in the process.cwd (/app/@tramvai/cli/postcss-modules-tilda/package.json)',
102
+ message: `Package ${chalk.underline(
103
+ 'postcss-modules-tilda'
104
+ )} has duplicates in @tramvai/cli (/app/postcss-modules-tilda/package.json) and in the process.cwd (/app/@tramvai/cli/postcss-modules-tilda/package.json)`,
104
105
  });
105
106
  });
106
107
 
@@ -121,20 +122,17 @@ describe('validators/checkDependencies', () => {
121
122
  return `/app/${name}`;
122
123
  });
123
124
 
124
- expect(await checkDependencies(context)).toMatchInlineSnapshot(`
125
+ expect(await checkDependencies(context, {})).toMatchInlineSnapshot(`
125
126
  {
126
127
  "message": "
127
- Некоторые важные пакеты необходимые для работы @tramvai/cli дублируются,
128
- что может привести к неочевидным багам и проблемам из-за особенностей commonjs по поиску импортируемых модулей.
129
-
130
- Во избежании возможных проблем желательно провести дедупликацию таких пакетов.
131
- Сам список проблемных пакетов выведен выше.
132
- Для дедупликации можно предпринять следующие шаги (после каждого шага можно перезапустить сборку для проверки):
133
- 1. Вызвать команды дедупликации своего пакетного менеджера: npm dedupe; yarn-deduplicate
134
- 2. Пересобрать lock файл полностью (удалить node_modules, удалить package-lock.json или yarn.lock и запустить установку пакетов)
135
- 3. Если ничего из выше не помогло, то проверить какие пакеты тянут в сборку проблемные пакеты и постараться реорганизовать работу с ними (npm ls; yarn why)
136
- 4. Возможно дубликаты ничего не ломают и их можно не трогать, если проблемы всё же есть и их не получается решить обратитесь в чат #tramvai с описанием проблемы
137
- ",
128
+ Found duplicates of some of the important dependencies for @tramvai/cli.
129
+ That can lead to unexpected problems due to how commonjs resolves imported modules.
130
+
131
+ To avoid possible problems it is preferably to do deduplication of the dependencies.
132
+ To do it refer the docs - https://tramvai.dev/docs/mistakes/duplicate-dependencies#using-package-manager
133
+ The exact list of important duplicates is above.
134
+
135
+ ",
138
136
  "name": "checkDependencies",
139
137
  "status": "error",
140
138
  }
@@ -145,22 +143,25 @@ describe('validators/checkDependencies', () => {
145
143
  expect(mockLog).toHaveBeenCalledWith({
146
144
  type: 'error',
147
145
  event: 'COMMAND:VALIDATE:DEPENDENCIES',
148
- message:
149
- 'Package webpack has duplicates in @tramvai/cli (/app/webpack/package.json) and in the process.cwd (/app/@tramvai/cli/webpack/package.json)',
146
+ message: `Package ${chalk.underline(
147
+ 'webpack'
148
+ )} has duplicates in @tramvai/cli (/app/webpack/package.json) and in the process.cwd (/app/@tramvai/cli/webpack/package.json)`,
150
149
  });
151
150
 
152
151
  expect(mockLog).toHaveBeenCalledWith({
153
152
  type: 'warning',
154
153
  event: 'COMMAND:VALIDATE:DEPENDENCIES',
155
- message:
156
- 'Package @babel/runtime has duplicates in @tramvai/cli (/app/@babel/runtime/package.json) and in the process.cwd (/app/@tramvai/cli/@babel/runtime/package.json)',
154
+ message: `Package ${chalk.underline(
155
+ '@babel/runtime'
156
+ )} has duplicates in @tramvai/cli (/app/@babel/runtime/package.json) and in the process.cwd (/app/@tramvai/cli/@babel/runtime/package.json)`,
157
157
  });
158
158
 
159
159
  expect(mockLog).toHaveBeenCalledWith({
160
160
  type: 'warning',
161
161
  event: 'COMMAND:VALIDATE:DEPENDENCIES',
162
- message:
163
- 'Package postcss-modules-tilda has duplicates in @tramvai/cli (/app/postcss-modules-tilda/package.json) and in the process.cwd (/app/@tramvai/cli/postcss-modules-tilda/package.json)',
162
+ message: `Package ${chalk.underline(
163
+ 'postcss-modules-tilda'
164
+ )} has duplicates in @tramvai/cli (/app/postcss-modules-tilda/package.json) and in the process.cwd (/app/@tramvai/cli/postcss-modules-tilda/package.json)`,
164
165
  });
165
166
  });
166
167
  });
@@ -2,6 +2,7 @@ import any from '@tinkoff/utils/array/any';
2
2
  import eachObj from '@tinkoff/utils/object/each';
3
3
  import { sync as resolve } from 'resolve';
4
4
  import { diff } from 'semver';
5
+ import chalk from 'chalk';
5
6
  import type { Validator } from './validator.h';
6
7
 
7
8
  const depsToCheck = [/^webpack$/, /^@babel/, /^postcss/];
@@ -38,7 +39,9 @@ export const checkDependencies: Validator = async ({ logger }) => {
38
39
  logger.event({
39
40
  type: versionDiff === 'major' ? 'error' : 'warning',
40
41
  event: 'COMMAND:VALIDATE:DEPENDENCIES',
41
- message: `Package ${packageName} has duplicates in @tramvai/cli (${pathFromCli}) and in the process.cwd (${pathFromRoot})`,
42
+ message: `Package ${chalk.underline(
43
+ packageName
44
+ )} has duplicates in @tramvai/cli (${pathFromCli}) and in the process.cwd (${pathFromRoot})`,
42
45
  });
43
46
  }
44
47
  } catch (err) {}
@@ -51,17 +54,18 @@ export const checkDependencies: Validator = async ({ logger }) => {
51
54
  name: 'checkDependencies',
52
55
  status: hasCriticalMismatch ? 'error' : 'warning',
53
56
  message: `
54
- Некоторые важные пакеты необходимые для работы @tramvai/cli дублируются,
55
- что может привести к неочевидным багам и проблемам из-за особенностей commonjs по поиску импортируемых модулей.
57
+ Found duplicates of some of the important dependencies for @tramvai/cli.
58
+ That can lead to unexpected problems due to how commonjs resolves imported modules.
56
59
 
57
- Во избежании возможных проблем желательно провести дедупликацию таких пакетов.
58
- Сам список проблемных пакетов выведен выше.
59
- Для дедупликации можно предпринять следующие шаги (после каждого шага можно перезапустить сборку для проверки):
60
- 1. Вызвать команды дедупликации своего пакетного менеджера: npm dedupe; yarn-deduplicate
61
- 2. Пересобрать lock файл полностью (удалить node_modules, удалить package-lock.json или yarn.lock и запустить установку пакетов)
62
- 3. Если ничего из выше не помогло, то проверить какие пакеты тянут в сборку проблемные пакеты и постараться реорганизовать работу с ними (npm ls; yarn why)
63
- 4. Возможно дубликаты ничего не ломают и их можно не трогать, если проблемы всё же есть и их не получается решить обратитесь в чат #tramvai с описанием проблемы
64
- `,
60
+ To avoid possible problems it is preferably to do deduplication of the dependencies.
61
+ To do it refer the docs - https://tramvai.dev/docs/mistakes/duplicate-dependencies#using-package-manager
62
+ The exact list of important duplicates is above.
63
+ ${
64
+ hasCriticalMismatch
65
+ ? ''
66
+ : 'Please note that duplicates above not necessarily will cause problems, but if you have some cryptic issue with the build consider fixing duplicates first'
67
+ }
68
+ `,
65
69
  };
66
70
  }
67
71