@slicemachine/init 1.0.2-alpha.19 → 1.0.2-alpha.22

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/build/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const core_1 = require("@slicemachine/core");
5
+ const tracker_1 = require("./utils/tracker");
5
6
  const steps_1 = require("./steps");
6
7
  const utils_1 = require("./utils");
7
8
  async function init() {
@@ -11,15 +12,22 @@ async function init() {
11
12
  const branch = (0, utils_1.findArgument)(process.argv, "branch");
12
13
  console.log(core_1.Utils.purple("You're about to configure Slicemachine... Press ctrl + C to cancel"));
13
14
  (0, steps_1.validatePkg)(cwd);
14
- await (0, steps_1.loginOrBypass)(base);
15
+ const user = await (0, steps_1.loginOrBypass)(base);
16
+ if (!user)
17
+ throw new Error("The user should be logged in!");
15
18
  const config = core_1.FileSystem.PrismicSharedConfigManager.get();
16
19
  const frameworkResult = await (0, steps_1.detectFramework)(cwd);
17
20
  const { existing, name } = await (0, steps_1.maybeExistingRepo)(config.cookies, cwd, config.base);
18
21
  if (!existing) {
19
22
  await (0, steps_1.createRepository)(name, frameworkResult.value, config);
20
23
  }
24
+ const tracker = tracker_1.Tracker.build("JfTfmHaATChc4xueS7RcCBsixI71dJIJ", name, {
25
+ userId: user.userId,
26
+ });
21
27
  await (0, steps_1.installRequiredDependencies)(cwd, frameworkResult.value);
22
- const sliceLibPath = lib ? await (0, steps_1.installLib)(cwd, lib, branch) : undefined;
28
+ const sliceLibPath = lib
29
+ ? await (0, steps_1.installLib)(tracker, cwd, lib, branch)
30
+ : undefined;
23
31
  (0, steps_1.configureProject)(cwd, base, name, frameworkResult, sliceLibPath);
24
32
  (0, steps_1.displayFinalMessage)(cwd);
25
33
  }
@@ -32,4 +40,4 @@ catch (error) {
32
40
  else
33
41
  console.error(error);
34
42
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsNkNBQXVEO0FBQ3ZELG1DQVVpQjtBQUNqQixtQ0FBdUM7QUFFdkMsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxHQUFHLEdBQUcsSUFBQSxvQkFBWSxFQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQy9ELE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVksRUFBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLFlBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzdFLE1BQU0sR0FBRyxHQUF1QixJQUFBLG9CQUFZLEVBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN0RSxNQUFNLE1BQU0sR0FBdUIsSUFBQSxvQkFBWSxFQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFeEUsT0FBTyxDQUFDLEdBQUcsQ0FDVCxZQUFLLENBQUMsTUFBTSxDQUNWLG9FQUFvRSxDQUNyRSxDQUNGLENBQUM7SUFHRixJQUFBLG1CQUFXLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFHakIsTUFBTSxJQUFBLHFCQUFhLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFHMUIsTUFBTSxNQUFNLEdBQUcsaUJBQVUsQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUczRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUEsdUJBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQztJQUduRCxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBQSx5QkFBaUIsRUFDaEQsTUFBTSxDQUFDLE9BQU8sRUFDZCxHQUFHLEVBQ0gsTUFBTSxDQUFDLElBQUksQ0FDWixDQUFDO0lBRUYsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE1BQU0sSUFBQSx3QkFBZ0IsRUFBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztLQUM3RDtJQUdELE1BQU0sSUFBQSxtQ0FBMkIsRUFBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFBLGtCQUFVLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRzFFLElBQUEsd0JBQWdCLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBR2pFLElBQUEsMkJBQW1CLEVBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELElBQUk7SUFDRixLQUFLLElBQUksRUFBRSxDQUFDO0NBQ2I7QUFBQyxPQUFPLEtBQUssRUFBRTtJQUNkLElBQUksS0FBSyxZQUFZLEtBQUs7UUFBRSxZQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzs7UUFDdkQsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztDQUMzQiJ9
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsNkNBQXVEO0FBQ3ZELDZDQUEwQztBQUMxQyxtQ0FVaUI7QUFDakIsbUNBQXVDO0FBRXZDLEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sR0FBRyxHQUFHLElBQUEsb0JBQVksRUFBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvRCxNQUFNLElBQUksR0FBRyxJQUFBLG9CQUFZLEVBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxZQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM3RSxNQUFNLEdBQUcsR0FBdUIsSUFBQSxvQkFBWSxFQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdEUsTUFBTSxNQUFNLEdBQXVCLElBQUEsb0JBQVksRUFBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXhFLE9BQU8sQ0FBQyxHQUFHLENBQ1QsWUFBSyxDQUFDLE1BQU0sQ0FDVixvRUFBb0UsQ0FDckUsQ0FDRixDQUFDO0lBR0YsSUFBQSxtQkFBVyxFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBR2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxxQkFBYSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxJQUFJO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBRzVELE1BQU0sTUFBTSxHQUFHLGlCQUFVLENBQUMsMEJBQTBCLENBQUMsR0FBRyxFQUFFLENBQUM7SUFHM0QsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFBLHVCQUFlLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFHbkQsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUEseUJBQWlCLEVBQ2hELE1BQU0sQ0FBQyxPQUFPLEVBQ2QsR0FBRyxFQUNILE1BQU0sQ0FBQyxJQUFJLENBQ1osQ0FBQztJQUVGLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDYixNQUFNLElBQUEsd0JBQWdCLEVBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDN0Q7SUFFRCxNQUFNLE9BQU8sR0FBRyxpQkFBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLEVBQUU7UUFDdEUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO0tBQ3BCLENBQUMsQ0FBQztJQUdILE1BQU0sSUFBQSxtQ0FBMkIsRUFBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlELE1BQU0sWUFBWSxHQUFHLEdBQUc7UUFDdEIsQ0FBQyxDQUFDLE1BQU0sSUFBQSxrQkFBVSxFQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQztRQUM3QyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBR2QsSUFBQSx3QkFBZ0IsRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFHakUsSUFBQSwyQkFBbUIsRUFBQyxHQUFHLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQsSUFBSTtJQUNGLEtBQUssSUFBSSxFQUFFLENBQUM7Q0FDYjtBQUFDLE9BQU8sS0FBSyxFQUFFO0lBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSztRQUFFLFlBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDOztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0NBQzNCIn0=
@@ -34,7 +34,7 @@ const downloadFile = async (reqUrl) => {
34
34
  }
35
35
  });
36
36
  };
37
- async function installLib(cwd, libGithubPath, branch = "main") {
37
+ async function installLib(tracker, cwd, libGithubPath, branch = "main") {
38
38
  const spinner = core_1.Utils.spinner(`Installing the ${libGithubPath} lib in your project...`);
39
39
  try {
40
40
  spinner.start();
@@ -69,6 +69,7 @@ async function installLib(cwd, libGithubPath, branch = "main") {
69
69
  return `~/${name}/${path.replace("src/", "")}`;
70
70
  });
71
71
  spinner.succeed(`Slice library "${libGithubPath}" was installed successfully`);
72
+ tracker === null || tracker === void 0 ? void 0 : tracker.Track.downloadLibrary(libGithubPath);
72
73
  return localLibs;
73
74
  }
74
75
  catch {
@@ -77,4 +78,4 @@ async function installLib(cwd, libGithubPath, branch = "main") {
77
78
  }
78
79
  }
79
80
  exports.installLib = installLib;
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC1saWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvaW5zdGFsbC1saWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBQTJDO0FBQzNDLDhDQUFzQjtBQUN0QixzREFBNkI7QUFDN0Isd0RBQStCO0FBQy9CLGtEQUEwQjtBQUUxQiw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLHlDQUEwQztBQUMxQyw0REFBdUU7QUFDdkUsZ0ZBQW1GO0FBQ25GLDJFQUdzRDtBQUN0RCxxRkFBNkQ7QUFFN0QsTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBbUIsRUFBRTtJQUM3RCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUEsZUFBSyxFQUFDO1FBQ3RCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsR0FBRyxFQUFFLE1BQU07UUFDWCxZQUFZLEVBQUUsYUFBYTtLQUM1QixDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUU7WUFDckIsTUFBTSxVQUFVLEdBQUcsYUFBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsR0FBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDckI7YUFBTTtZQUNMLE1BQU0sRUFBRSxDQUFDO1NBQ1Y7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVLLEtBQUssVUFBVSxVQUFVLENBQzlCLEdBQVcsRUFDWCxhQUFxQixFQUNyQixTQUE2QixNQUFNO0lBRW5DLE1BQU0sT0FBTyxHQUFHLFlBQUssQ0FBQyxPQUFPLENBQzNCLGtCQUFr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
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC1saWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvaW5zdGFsbC1saWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBQTJDO0FBQzNDLDhDQUFzQjtBQUN0QixzREFBNkI7QUFDN0Isd0RBQStCO0FBQy9CLGtEQUEwQjtBQUUxQiw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLHlDQUEwQztBQUMxQyw0REFBdUU7QUFDdkUsZ0ZBQW1GO0FBQ25GLDJFQUdzRDtBQUN0RCxxRkFBNkQ7QUFHN0QsTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBbUIsRUFBRTtJQUM3RCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUEsZUFBSyxFQUFDO1FBQ3RCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsR0FBRyxFQUFFLE1BQU07UUFDWCxZQUFZLEVBQUUsYUFBYTtLQUM1QixDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUU7WUFDckIsTUFBTSxVQUFVLEdBQUcsYUFBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsR0FBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDckI7YUFBTTtZQUNMLE1BQU0sRUFBRSxDQUFDO1NBQ1Y7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVLLEtBQUssVUFBVSxVQUFVLENBQzlCLE9BQTRCLEVBQzVCLEdBQVcsRUFDWCxhQUFxQixFQUNyQixTQUE2QixNQUFNO0lBRW5DLE1BQU0sT0FBTyxHQUFHLFlBQUssQ0FBQyxPQUFP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
@@ -4,10 +4,15 @@ exports.loginOrBypass = void 0;
4
4
  const core_1 = require("@slicemachine/core");
5
5
  async function loginOrBypass(base) {
6
6
  const user = await core_1.Auth.validateSession(base);
7
- if (user)
8
- return core_1.Utils.writeCheck(`Logged in as ${core_1.Utils.bold(user.email)}`);
9
- else
7
+ if (user) {
8
+ core_1.Utils.writeCheck(`Logged in as ${core_1.Utils.bold(user.email)}`);
9
+ return user;
10
+ }
11
+ else {
10
12
  await core_1.Auth.login(base);
13
+ const user = await core_1.Auth.validateSession(base);
14
+ return user;
15
+ }
11
16
  }
12
17
  exports.loginOrBypass = loginOrBypass;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW5PckJ5cGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9sb2dpbk9yQnlwYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFpRDtBQUUxQyxLQUFLLFVBQVUsYUFBYSxDQUFDLElBQVk7SUFDOUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxXQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLElBQUksSUFBSTtRQUFFLE9BQU8sWUFBSyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsWUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDOztRQUN2RSxNQUFNLFdBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUpELHNDQUlDIn0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW5PckJ5cGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9sb2dpbk9yQnlwYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFpRDtBQUcxQyxLQUFLLFVBQVUsYUFBYSxDQUFDLElBQVk7SUFDOUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxXQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLElBQUksSUFBSSxFQUFFO1FBQ1IsWUFBSyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsWUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0tBQ2I7U0FBTTtRQUNMLE1BQU0sV0FBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixNQUFNLElBQUksR0FBRyxNQUFNLFdBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUM7S0FDYjtBQUNILENBQUM7QUFWRCxzQ0FVQyJ9
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Tracker = exports.EventType = void 0;
7
+ const analytics_node_1 = __importDefault(require("analytics-node"));
8
+ var EventType;
9
+ (function (EventType) {
10
+ EventType["DownloadLibrary"] = "SliceMachine Download Library";
11
+ })(EventType = exports.EventType || (exports.EventType = {}));
12
+ class Tracker {
13
+ constructor(analytics, repo, identifier) {
14
+ this.analytics = analytics;
15
+ this.repo = repo;
16
+ this.identifier = identifier;
17
+ this.Track = {
18
+ downloadLibrary: (library) => {
19
+ this.trackEvent(EventType.DownloadLibrary, { library });
20
+ },
21
+ };
22
+ }
23
+ static build(writeKey, repo, identifier) {
24
+ try {
25
+ if (!repo)
26
+ return;
27
+ const analytics = new analytics_node_1.default(writeKey);
28
+ return new Tracker(analytics, repo, identifier);
29
+ }
30
+ catch (error) {
31
+ console.warn(error);
32
+ return;
33
+ }
34
+ }
35
+ trackEvent(eventType, attributes = {}) {
36
+ this.analytics.track({
37
+ event: eventType,
38
+ ...this.identifier,
39
+ properties: attributes,
40
+ });
41
+ }
42
+ }
43
+ exports.Tracker = Tracker;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90cmFja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQVFBLG9FQUE2QztBQUU3QyxJQUFZLFNBRVg7QUFGRCxXQUFZLFNBQVM7SUFDbkIsOERBQWlELENBQUE7QUFDbkQsQ0FBQyxFQUZXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBRXBCO0FBRUQsTUFBYSxPQUFPO0lBQ2xCLFlBQ1csU0FBMEIsRUFDMUIsSUFBWSxFQUNaLFVBQXdEO1FBRnhELGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUE4QztRQTZCbkUsVUFBSyxHQUFHO1lBRU4sZUFBZSxFQUFFLENBQUMsT0FBZSxFQUFFLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQztTQUNGLENBQUM7SUFqQ0MsQ0FBQztJQUVKLE1BQU0sQ0FBQyxLQUFLLENBQ1YsUUFBZ0IsRUFDaEIsSUFBd0IsRUFDeEIsVUFBd0Q7UUFFeEQsSUFBSTtZQUNGLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU87WUFDbEIsTUFBTSxTQUFTLEdBQUcsSUFBSSx3QkFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNqRDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQixPQUFPO1NBQ1I7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUNoQixTQUFvQixFQUNwQixhQUFzQyxFQUFFO1FBRXhDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ25CLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEdBQUcsSUFBSSxDQUFDLFVBQVU7WUFDbEIsVUFBVSxFQUFFLFVBQVU7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQVFGO0FBdkNELDBCQXVDQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slicemachine/init",
3
- "version": "1.0.2-alpha.19",
3
+ "version": "1.0.2-alpha.22",
4
4
  "license": "MIT",
5
5
  "description": "The easiest way to add Slice Machine to your project",
6
6
  "bin": {
@@ -24,6 +24,7 @@
24
24
  "@babel/preset-env": "^7.15.8",
25
25
  "@babel/preset-typescript": "^7.15.0",
26
26
  "@types/adm-zip": "^0.4.34",
27
+ "@types/analytics-node": "^3.1.7",
27
28
  "@types/fs-extra": "^9.0.13",
28
29
  "@types/inquirer": "^8.1.3",
29
30
  "@types/jest": "^27.0.2",
@@ -45,8 +46,9 @@
45
46
  "typescript": "^4.4.3"
46
47
  },
47
48
  "dependencies": {
48
- "@slicemachine/core": "1.0.2-alpha.19",
49
+ "@slicemachine/core": "1.0.2-alpha.22",
49
50
  "adm-zip": "^0.5.9",
51
+ "analytics-node": "^6.0.0",
50
52
  "axios": "^0.24.0",
51
53
  "fp-ts": "^2.11.5",
52
54
  "fs-extra": "^10.0.0",
@@ -54,5 +56,5 @@
54
56
  "io-ts": "^2.2.16",
55
57
  "tmp": "^0.2.1"
56
58
  },
57
- "gitHead": "1f8a026d2c4b78623a5023fc0634094cb5a723ce"
59
+ "gitHead": "31aa37f4aa41a661cde38781f3d5027e54d01cda"
58
60
  }
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { Utils, FileSystem } from "@slicemachine/core";
4
+ import { Tracker } from "./utils/tracker";
4
5
  import {
5
6
  installRequiredDependencies,
6
7
  validatePkg,
@@ -30,7 +31,8 @@ async function init() {
30
31
  validatePkg(cwd);
31
32
 
32
33
  // login
33
- await loginOrBypass(base);
34
+ const user = await loginOrBypass(base);
35
+ if (!user) throw new Error("The user should be logged in!");
34
36
 
35
37
  // retrieve tokens for api calls
36
38
  const config = FileSystem.PrismicSharedConfigManager.get();
@@ -49,10 +51,16 @@ async function init() {
49
51
  await createRepository(name, frameworkResult.value, config);
50
52
  }
51
53
 
54
+ const tracker = Tracker.build("JfTfmHaATChc4xueS7RcCBsixI71dJIJ", name, {
55
+ userId: user.userId,
56
+ });
57
+
52
58
  // install the required dependencies in the project.
53
59
  await installRequiredDependencies(cwd, frameworkResult.value);
54
60
 
55
- const sliceLibPath = lib ? await installLib(cwd, lib, branch) : undefined;
61
+ const sliceLibPath = lib
62
+ ? await installLib(tracker, cwd, lib, branch)
63
+ : undefined;
56
64
 
57
65
  // configure the SM.json file and the json package file of the project..
58
66
  configureProject(cwd, base, name, frameworkResult, sliceLibPath);
@@ -14,6 +14,7 @@ import {
14
14
  ManifestHelper,
15
15
  } from "@slicemachine/core/build/src/models/Manifest";
16
16
  import Files from "@slicemachine/core/build/src/utils/files";
17
+ import { Tracker } from "../utils/tracker";
17
18
 
18
19
  const downloadFile = async (reqUrl: string): Promise<string> => {
19
20
  const res = await axios({
@@ -35,6 +36,7 @@ const downloadFile = async (reqUrl: string): Promise<string> => {
35
36
  };
36
37
 
37
38
  export async function installLib(
39
+ tracker: Tracker | undefined,
38
40
  cwd: string,
39
41
  libGithubPath: string,
40
42
  branch: string | undefined = "main"
@@ -101,6 +103,7 @@ export async function installLib(
101
103
  `Slice library "${libGithubPath}" was installed successfully`
102
104
  );
103
105
 
106
+ tracker?.Track.downloadLibrary(libGithubPath);
104
107
  return localLibs;
105
108
  } catch {
106
109
  spinner.fail(`Error installing ${libGithubPath} lib!`);
@@ -1,7 +1,14 @@
1
1
  import { Utils, Auth } from "@slicemachine/core";
2
+ import { UserInfo } from "@slicemachine/core/build/src/core/communication";
2
3
 
3
- export async function loginOrBypass(base: string): Promise<void> {
4
+ export async function loginOrBypass(base: string): Promise<UserInfo | null> {
4
5
  const user = await Auth.validateSession(base);
5
- if (user) return Utils.writeCheck(`Logged in as ${Utils.bold(user.email)}`);
6
- else await Auth.login(base);
6
+ if (user) {
7
+ Utils.writeCheck(`Logged in as ${Utils.bold(user.email)}`);
8
+ return user;
9
+ } else {
10
+ await Auth.login(base);
11
+ const user = await Auth.validateSession(base);
12
+ return user;
13
+ }
7
14
  }
@@ -0,0 +1,54 @@
1
+ /*
2
+ * DUPLICATION
3
+ * this file is a duplication of ServerTracker in sm-ui
4
+ * this duplication has been done on purpose to simplify the merge if init becomes part of sm-ui
5
+ * or if we decide to share the tracker implementation from a lib, but it'll need some refactoring
6
+ * Duplication means no entanglement so don't merge this with the other implem and keep the structure.
7
+ */
8
+
9
+ import ServerAnalytics from "analytics-node";
10
+
11
+ export enum EventType {
12
+ DownloadLibrary = "SliceMachine Download Library",
13
+ }
14
+
15
+ export class Tracker {
16
+ constructor(
17
+ readonly analytics: ServerAnalytics,
18
+ readonly repo: string,
19
+ readonly identifier: { userId: string } | { anonymousId: string }
20
+ ) {}
21
+
22
+ static build(
23
+ writeKey: string,
24
+ repo: string | undefined,
25
+ identifier: { userId: string } | { anonymousId: string }
26
+ ): Tracker | undefined {
27
+ try {
28
+ if (!repo) return;
29
+ const analytics = new ServerAnalytics(writeKey);
30
+ return new Tracker(analytics, repo, identifier);
31
+ } catch (error) {
32
+ console.warn(error);
33
+ return;
34
+ }
35
+ }
36
+
37
+ private trackEvent(
38
+ eventType: EventType,
39
+ attributes: Record<string, unknown> = {}
40
+ ): void {
41
+ this.analytics.track({
42
+ event: eventType,
43
+ ...this.identifier,
44
+ properties: attributes,
45
+ });
46
+ }
47
+
48
+ Track = {
49
+ // not called, for demo only
50
+ downloadLibrary: (library: string) => {
51
+ this.trackEvent(EventType.DownloadLibrary, { library });
52
+ },
53
+ };
54
+ }