@naturalcycles/nodejs-lib 12.98.3 → 12.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,13 +8,19 @@ const fs_1 = require("../fs");
8
8
  const script_1 = require("../script");
9
9
  const buildInfo_util_1 = require("../util/buildInfo.util");
10
10
  (0, script_1.runScript)(async () => {
11
- const { dir } = yargs.options({
11
+ const { dir, overrideTimestamp } = yargs.options({
12
12
  dir: {
13
13
  type: 'string',
14
14
  desc: 'Output directory',
15
15
  },
16
+ overrideTimestamp: {
17
+ type: 'number',
18
+ desc: 'This unix timestamp will be used instead of "current time"',
19
+ },
16
20
  }).argv;
17
- const buildInfo = (0, buildInfo_util_1.generateBuildInfo)();
21
+ const buildInfo = (0, buildInfo_util_1.generateBuildInfo)({
22
+ overrideTimestamp,
23
+ });
18
24
  console.log(buildInfo);
19
25
  if (dir)
20
26
  fs.mkdirSync(dir, { recursive: true });
@@ -1,2 +1,8 @@
1
- import { BuildInfo } from '@naturalcycles/js-lib';
2
- export declare function generateBuildInfo(): BuildInfo;
1
+ import { BuildInfo, UnixTimestampNumber } from '@naturalcycles/js-lib';
2
+ export interface GenerateBuildInfoOptions {
3
+ /**
4
+ * If set - this timestamp will be used, instead of "current time".
5
+ */
6
+ overrideTimestamp?: UnixTimestampNumber;
7
+ }
8
+ export declare function generateBuildInfo(opt?: GenerateBuildInfoOptions): BuildInfo;
@@ -4,8 +4,8 @@ exports.generateBuildInfo = void 0;
4
4
  const js_lib_1 = require("@naturalcycles/js-lib");
5
5
  const fs_util_1 = require("../fs/fs.util");
6
6
  const git_util_1 = require("./git.util");
7
- function generateBuildInfo() {
8
- const now = (0, js_lib_1.localTime)();
7
+ function generateBuildInfo(opt = {}) {
8
+ const now = (0, js_lib_1.localTime)(opt.overrideTimestamp);
9
9
  const ts = now.unix();
10
10
  const rev = (0, git_util_1.gitCurrentCommitSha)();
11
11
  const branchName = (0, git_util_1.gitCurrentBranchName)();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naturalcycles/nodejs-lib",
3
- "version": "12.98.3",
3
+ "version": "12.99.0",
4
4
  "scripts": {
5
5
  "prepare": "husky install",
6
6
  "docs-serve": "vuepress dev docs",
@@ -8,14 +8,20 @@ import { runScript } from '../script'
8
8
  import { generateBuildInfo } from '../util/buildInfo.util'
9
9
 
10
10
  runScript(async () => {
11
- const { dir } = yargs.options({
11
+ const { dir, overrideTimestamp } = yargs.options({
12
12
  dir: {
13
13
  type: 'string',
14
14
  desc: 'Output directory',
15
15
  },
16
+ overrideTimestamp: {
17
+ type: 'number',
18
+ desc: 'This unix timestamp will be used instead of "current time"',
19
+ },
16
20
  }).argv
17
21
 
18
- const buildInfo = generateBuildInfo()
22
+ const buildInfo = generateBuildInfo({
23
+ overrideTimestamp,
24
+ })
19
25
  console.log(buildInfo)
20
26
 
21
27
  if (dir) fs.mkdirSync(dir, { recursive: true })
@@ -28,7 +28,7 @@ export class CSVWriter {
28
28
  }
29
29
  }
30
30
 
31
- public cfg: CSVWriterConfig & { delimiter: string }
31
+ cfg: CSVWriterConfig & { delimiter: string }
32
32
 
33
33
  writeRows(rows: AnyObject[]): string {
34
34
  let s = ''
@@ -55,7 +55,7 @@ export class SlackService<CTX = any> {
55
55
  }
56
56
  }
57
57
 
58
- public cfg!: SlackServiceCfg<CTX>
58
+ cfg!: SlackServiceCfg<CTX>
59
59
 
60
60
  /**
61
61
  * Allows to "log" many things at once, similar to `console.log(one, two, three).
@@ -1,4 +1,10 @@
1
- import { _filterUndefinedValues, AnyObject, BuildInfo, localTime } from '@naturalcycles/js-lib'
1
+ import {
2
+ _filterUndefinedValues,
3
+ AnyObject,
4
+ BuildInfo,
5
+ localTime,
6
+ UnixTimestampNumber,
7
+ } from '@naturalcycles/js-lib'
2
8
  import { _pathExistsSync, _readJsonSync } from '../fs/fs.util'
3
9
  import {
4
10
  gitCurrentBranchName,
@@ -7,8 +13,15 @@ import {
7
13
  gitCurrentRepoName,
8
14
  } from './git.util'
9
15
 
10
- export function generateBuildInfo(): BuildInfo {
11
- const now = localTime()
16
+ export interface GenerateBuildInfoOptions {
17
+ /**
18
+ * If set - this timestamp will be used, instead of "current time".
19
+ */
20
+ overrideTimestamp?: UnixTimestampNumber
21
+ }
22
+
23
+ export function generateBuildInfo(opt: GenerateBuildInfoOptions = {}): BuildInfo {
24
+ const now = localTime(opt.overrideTimestamp)
12
25
  const ts = now.unix()
13
26
 
14
27
  const rev = gitCurrentCommitSha()