@flisk/analyze-tracking 0.2.5 → 0.2.6

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/README.md CHANGED
@@ -12,7 +12,10 @@ npx @flisk/analyze-tracking /path/to/project [options]
12
12
 
13
13
  Optional arguments:
14
14
  - `-o, --output <output_file>`: Name of the output file (default: `tracking-schema.yaml`)
15
- - `-c, --customFunction <output_file>`: Name of your custom tracking function
15
+ - `-c, --customFunction <function_name>`: Name of your custom tracking function
16
+ - `-u, --repositoryUrl <git_url>`: URL to your repository
17
+ - `-h, --commitHash <commit_sha>`: Latest commit hash
18
+ - `-t, --commitTimestamp <iso_timestamp>`: Timestamp of latest commit
16
19
 
17
20
  Note: Custom Functions only support the following format:
18
21
  ```js
package/bin/cli.js CHANGED
@@ -22,13 +22,41 @@ const optionDefinitions = [
22
22
  alias: 'c',
23
23
  type: String,
24
24
  },
25
+ {
26
+ name: 'repositoryUrl',
27
+ alias: 'u',
28
+ type: String,
29
+ },
30
+ {
31
+ name: 'commitHash',
32
+ alias: 'h',
33
+ type: String,
34
+ },
35
+ {
36
+ name: 'commitTimestamp',
37
+ alias: 't',
38
+ type: String,
39
+ },
25
40
  ]
26
41
  const options = commandLineArgs(optionDefinitions);
27
- const { targetDir, output, customFunction } = options;
42
+ const {
43
+ targetDir,
44
+ output,
45
+ customFunction,
46
+ repositoryUrl,
47
+ commitHash,
48
+ commitTimestamp,
49
+ } = options;
50
+
51
+ const customSourceDetails = {
52
+ repositoryUrl,
53
+ commitHash,
54
+ commitTimestamp,
55
+ };
28
56
 
29
57
  if (!targetDir) {
30
58
  console.error('Please provide the path to the repository.');
31
59
  process.exit(1);
32
60
  }
33
61
 
34
- run(path.resolve(targetDir), output, customFunction);
62
+ run(path.resolve(targetDir), output, customFunction, customSourceDetails);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flisk/analyze-tracking",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "Analyzes tracking code in a project and generates data schemas",
5
5
  "main": "src/index.js",
6
6
  "bin": {
package/src/index.js CHANGED
@@ -2,9 +2,9 @@ const { analyzeDirectory } = require('./analyze');
2
2
  const { getRepoDetails } = require('./repoDetails');
3
3
  const { generateYamlSchema } = require('./yamlGenerator');
4
4
 
5
- async function run(targetDir, outputPath, customFunction) {
5
+ async function run(targetDir, outputPath, customFunction, customSourceDetails) {
6
6
  const events = analyzeDirectory(targetDir, customFunction);
7
- const repoDetails = await getRepoDetails(targetDir);
7
+ const repoDetails = await getRepoDetails(targetDir, customSourceDetails);
8
8
  generateYamlSchema(events, repoDetails, outputPath);
9
9
  }
10
10
 
@@ -57,7 +57,7 @@ function toISODateString(date) {
57
57
  + pad(date.getUTCSeconds())+'Z';
58
58
  }
59
59
 
60
- async function getRepoDetails(targetDir) {
60
+ async function getRepoDetails(targetDir, customSourceDetails) {
61
61
  const repoUrl = await getRepositoryUrl(targetDir);
62
62
  const commitHash = await getCommitHash(targetDir);
63
63
  const commitEpochTime = await getCommitTimestamp(targetDir, commitHash);
@@ -67,6 +67,11 @@ async function getRepoDetails(targetDir) {
67
67
  if (!!repoUrl) repoDetails.repository = repoUrl;
68
68
  if (!!commitHash) repoDetails.commit = commitHash;
69
69
  repoDetails.timestamp = commitTimestamp;
70
+
71
+ if (!!customSourceDetails?.repositoryUrl) repoDetails.repository = customSourceDetails.repositoryUrl;
72
+ if (!!customSourceDetails?.commitHash) repoDetails.commit = customSourceDetails.commitHash;
73
+ if (!!customSourceDetails?.commitTimestamp) repoDetails.timestamp = customSourceDetails.commitTimestamp;
74
+
70
75
  return repoDetails;
71
76
  }
72
77