@eik/cli 3.0.0-next.1 → 3.0.2

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 (95) hide show
  1. package/CHANGELOG.md +156 -3
  2. package/classes/alias.js +43 -16
  3. package/classes/index.js +47 -23
  4. package/classes/integrity.js +27 -16
  5. package/classes/login.js +21 -7
  6. package/classes/meta.js +20 -12
  7. package/classes/ping.js +20 -9
  8. package/classes/publish/map.js +33 -10
  9. package/classes/publish/package/index.js +54 -17
  10. package/classes/publish/package/tasks/check-bundle-sizes.js +7 -11
  11. package/classes/publish/package/tasks/check-if-already-published.js +8 -11
  12. package/classes/publish/package/tasks/cleanup.js +7 -9
  13. package/classes/publish/package/tasks/create-temp-directory.js +5 -9
  14. package/classes/publish/package/tasks/create-zip-file.js +6 -11
  15. package/classes/publish/package/tasks/dry-run.js +4 -8
  16. package/classes/publish/package/tasks/save-metafile.js +5 -7
  17. package/classes/publish/package/tasks/task.js +3 -5
  18. package/classes/publish/package/tasks/upload-files.js +16 -17
  19. package/classes/publish/package/tasks/validate-input.js +4 -8
  20. package/classes/version.js +38 -21
  21. package/commands/alias.js +105 -0
  22. package/commands/index.js +27 -0
  23. package/commands/init.js +69 -52
  24. package/commands/integrity.js +15 -32
  25. package/commands/login.js +23 -35
  26. package/commands/map-alias.js +16 -26
  27. package/commands/map.js +90 -0
  28. package/commands/meta.js +12 -29
  29. package/commands/npm-alias.js +16 -26
  30. package/commands/package-alias.js +21 -28
  31. package/commands/ping.js +11 -21
  32. package/commands/publish.js +82 -138
  33. package/commands/version.js +16 -33
  34. package/formatters/alias.js +4 -8
  35. package/formatters/artifact.js +4 -8
  36. package/formatters/file.js +3 -10
  37. package/formatters/index.js +5 -5
  38. package/formatters/version.js +5 -12
  39. package/index.js +53 -12
  40. package/package.json +49 -52
  41. package/readme.md +16 -4
  42. package/types/classes/alias.d.ts +60 -0
  43. package/types/classes/index.d.ts +37 -0
  44. package/types/classes/integrity.d.ts +35 -0
  45. package/types/classes/login.d.ts +25 -0
  46. package/types/classes/meta.d.ts +28 -0
  47. package/types/classes/ping.d.ts +23 -0
  48. package/types/classes/publish/map.d.ts +51 -0
  49. package/types/classes/publish/package/index.d.ts +94 -0
  50. package/types/classes/publish/package/tasks/check-bundle-sizes.d.ts +4 -0
  51. package/types/classes/publish/package/tasks/check-if-already-published.d.ts +4 -0
  52. package/types/classes/publish/package/tasks/cleanup.d.ts +4 -0
  53. package/types/classes/publish/package/tasks/create-temp-directory.d.ts +4 -0
  54. package/types/classes/publish/package/tasks/create-zip-file.d.ts +4 -0
  55. package/types/classes/publish/package/tasks/dry-run.d.ts +7 -0
  56. package/types/classes/publish/package/tasks/save-metafile.d.ts +4 -0
  57. package/types/classes/publish/package/tasks/task.d.ts +8 -0
  58. package/types/classes/publish/package/tasks/upload-files.d.ts +4 -0
  59. package/types/classes/publish/package/tasks/validate-input.d.ts +4 -0
  60. package/types/classes/version.d.ts +43 -0
  61. package/types/utils/hash/compare.d.ts +2 -0
  62. package/types/utils/hash/file.d.ts +2 -0
  63. package/types/utils/hash/files.d.ts +2 -0
  64. package/types/utils/hash/index.d.ts +9 -0
  65. package/types/utils/http/index.d.ts +12 -0
  66. package/types/utils/http/integrity.d.ts +2 -0
  67. package/types/utils/http/latest-version.d.ts +2 -0
  68. package/types/utils/http/request.d.ts +33 -0
  69. package/types/utils/http/versions.d.ts +5 -0
  70. package/types/utils/index.d.ts +6 -0
  71. package/types/utils/json/index.d.ts +9 -0
  72. package/types/utils/json/read.d.ts +5 -0
  73. package/types/utils/json/write-eik.d.ts +5 -0
  74. package/types/utils/json/write.d.ts +5 -0
  75. package/types/utils/logger.d.ts +33 -0
  76. package/types/utils/type-slug.d.ts +2 -0
  77. package/types/utils/type-title.d.ts +2 -0
  78. package/utils/hash/compare.js +1 -3
  79. package/utils/hash/file.js +3 -5
  80. package/utils/hash/files.js +4 -6
  81. package/utils/hash/index.js +4 -4
  82. package/utils/http/index.js +6 -5
  83. package/utils/http/integrity.js +2 -5
  84. package/utils/http/latest-version.js +2 -5
  85. package/utils/http/request.js +25 -19
  86. package/utils/http/versions.js +2 -5
  87. package/utils/index.js +6 -4
  88. package/utils/json/index.js +4 -4
  89. package/utils/json/read.js +5 -7
  90. package/utils/json/write-eik.js +4 -6
  91. package/utils/json/write.js +4 -6
  92. package/utils/logger.js +2 -5
  93. package/utils/type-slug.js +1 -1
  94. package/utils/type-title.js +1 -1
  95. package/utils/get-cwd.js +0 -14
@@ -0,0 +1,7 @@
1
+ export default class DryRun extends Task {
2
+ process(zipFile: any): Promise<{
3
+ pathname: any;
4
+ type: string;
5
+ }[]>;
6
+ }
7
+ import Task from './task.js';
@@ -0,0 +1,4 @@
1
+ export default class SaveMetaFile extends Task {
2
+ process(response: any): Promise<void>;
3
+ }
4
+ import Task from './task.js';
@@ -0,0 +1,8 @@
1
+ export default class Task {
2
+ constructor(options: any);
3
+ cwd: any;
4
+ log: abslog.ValidLogger;
5
+ path: any;
6
+ config: any;
7
+ }
8
+ import abslog from 'abslog';
@@ -0,0 +1,4 @@
1
+ export default class UploadFiles extends Task {
2
+ process(zipFile: any): Promise<any>;
3
+ }
4
+ import Task from './task.js';
@@ -0,0 +1,4 @@
1
+ export default class ValidateInput extends Task {
2
+ process(): void;
3
+ }
4
+ import Task from './task.js';
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @typedef {object} VersionOptions
3
+ * @property {import('abslog').AbstractLoggerOptions} [logger]
4
+ * @property {string} server
5
+ * @property {"package" | "npm" | "map"} [type="package"]
6
+ * @property {string} name
7
+ * @property {string} version
8
+ * @property {import("semver").ReleaseType} [level="patch"]
9
+ * @property {string} cwd
10
+ * @property {string[]} [map]
11
+ * @property {string} [out="./.eik"]
12
+ * @property {string | Record<string, string>} files
13
+ */
14
+ export default class Version {
15
+ /**
16
+ * @param {VersionOptions} options
17
+ */
18
+ constructor({ logger, server, type, name, version, level, cwd, map, out, files, }: VersionOptions);
19
+ log: abslog.ValidLogger;
20
+ config: EikConfig;
21
+ path: string;
22
+ level: semver.ReleaseType;
23
+ /**
24
+ * Similar to `npm version`, but updates `eik.json`
25
+ * @returns {Promise<string | null>} The new version number, or null if the versioning failed
26
+ */
27
+ run(): Promise<string | null>;
28
+ }
29
+ export type VersionOptions = {
30
+ logger?: import("abslog").AbstractLoggerOptions;
31
+ server: string;
32
+ type?: "package" | "npm" | "map";
33
+ name: string;
34
+ version: string;
35
+ level?: import("semver").ReleaseType;
36
+ cwd: string;
37
+ map?: string[];
38
+ out?: string;
39
+ files: string | Record<string, string>;
40
+ };
41
+ import abslog from 'abslog';
42
+ import { EikConfig } from '@eik/common';
43
+ import semver from 'semver';
@@ -0,0 +1,2 @@
1
+ declare function _default(hash1: string, hash2: string): boolean;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare function _default(path: string): Promise<string>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare function _default(files: string[]): Promise<string>;
2
+ export default _default;
@@ -0,0 +1,9 @@
1
+ declare namespace _default {
2
+ export { file };
3
+ export { files };
4
+ export { compare };
5
+ }
6
+ export default _default;
7
+ import file from './file.js';
8
+ import files from './files.js';
9
+ import compare from './compare.js';
@@ -0,0 +1,12 @@
1
+ declare namespace _default {
2
+ export { latestVersion };
3
+ export { versions };
4
+ export { integrity };
5
+ export { request };
6
+ }
7
+ export default _default;
8
+ import latestVersion from './latest-version.js';
9
+ import versions from './versions.js';
10
+ import integrity from './integrity.js';
11
+ import request from './request.js';
12
+ export { latestVersion, versions, integrity, request };
@@ -0,0 +1,2 @@
1
+ declare function _default(server: string, type: any, name: string, version: string): Promise<string>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare function _default(server: string, type: any, name: string, major: string | number): Promise<string | null>;
2
+ export default _default;
@@ -0,0 +1,33 @@
1
+ export default request;
2
+ export type RequestOptions = {
3
+ method?: string;
4
+ host: string;
5
+ pathname: string;
6
+ data?: unknown;
7
+ file?: string;
8
+ map?: string;
9
+ token?: string;
10
+ };
11
+ /**
12
+ * @typedef {object} RequestOptions
13
+ * @property {string} [method="POST"]
14
+ * @property {string} host
15
+ * @property {string} pathname
16
+ * @property {unknown} [data]
17
+ * @property {string} [file]
18
+ * @property {string} [map]
19
+ * @property {string} [token]
20
+ */
21
+ /**
22
+ * HTTP Utility for making requests against an Eik server
23
+ *
24
+ * @param {RequestOptions} options
25
+ *
26
+ * @returns {Promise<{ status:number; message: object | string }>} - Promise that resolves to an object with properties status and message
27
+ *
28
+ * @throws Error
29
+ */
30
+ declare function request(options: RequestOptions): Promise<{
31
+ status: number;
32
+ message: object | string;
33
+ }>;
@@ -0,0 +1,5 @@
1
+ declare function _default(server: string, type: any, name: string): Promise<Array<Array<number, {
2
+ version: string;
3
+ integrity: string;
4
+ }>>>;
5
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import logger from './logger.js';
2
+ export const getDefaults: typeof helpers.getDefaults;
3
+ import typeSlug from './type-slug.js';
4
+ import typeTitle from './type-title.js';
5
+ import { helpers } from '@eik/common';
6
+ export { logger, typeSlug, typeTitle };
@@ -0,0 +1,9 @@
1
+ declare namespace _default {
2
+ export { read };
3
+ export { write };
4
+ export { writeEik };
5
+ }
6
+ export default _default;
7
+ import read from './read.js';
8
+ import write from './write.js';
9
+ import writeEik from './write-eik.js';
@@ -0,0 +1,5 @@
1
+ declare function _default(location: string | {
2
+ filename: string;
3
+ cwd: string;
4
+ }): Promise<unknown>;
5
+ export default _default;
@@ -0,0 +1,5 @@
1
+ declare function _default(data: object, options: {
2
+ cwd: string;
3
+ filename: string;
4
+ }): Promise<undefined>;
5
+ export default _default;
@@ -0,0 +1,5 @@
1
+ declare function _default(meta: object, location: string | {
2
+ cwd: string;
3
+ filename: string;
4
+ }): Promise<undefined>;
5
+ export default _default;
@@ -0,0 +1,33 @@
1
+ export default logger;
2
+ /**
3
+ * Creates a logger object that wraps an instance of the "ora" module in order to provide consistent command line logging that includes a spinner
4
+ *
5
+ * @param {object} spinner
6
+ * @param {boolean} debug
7
+ */
8
+ declare function logger(spinner: object, debug?: boolean): {
9
+ /**
10
+ * @param {string} message
11
+ */
12
+ fatal(message: string): void;
13
+ /**
14
+ * @param {string} message
15
+ */
16
+ error(message: string): void;
17
+ /**
18
+ * @param {string} message
19
+ */
20
+ warn(message: string): void;
21
+ /**
22
+ * @param {string} message
23
+ */
24
+ info(message: string): void;
25
+ /**
26
+ * @param {string} message
27
+ */
28
+ debug(message: string): void;
29
+ /**
30
+ * @param {string} message
31
+ */
32
+ trace(message: string): void;
33
+ };
@@ -0,0 +1,2 @@
1
+ declare function _default(type: any): any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare function _default(type: any): "PACKAGE" | "NPM" | "MAP";
2
+ export default _default;
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  /**
4
2
  * Compares 2 hash strings for comparison. Returns `true` if hashes are identical, false otherwise.
5
3
  *
@@ -10,4 +8,4 @@
10
8
  *
11
9
  * @example hash.compare('a1b22c23d24e25f4g33a123b23c34', 'a1b22c23d24e25f4g33a123b23c34');
12
10
  */
13
- module.exports = (hash1, hash2) => hash1 === hash2;
11
+ export default (hash1, hash2) => hash1 === hash2;
@@ -1,7 +1,5 @@
1
- 'use strict';
2
-
3
- const ssri = require('ssri');
4
- const fs = require('fs');
1
+ import ssri from 'ssri';
2
+ import fs from 'fs';
5
3
 
6
4
  /**
7
5
  * Reads a file from a given path and produces and returns an integrity hash from its contents
@@ -12,7 +10,7 @@ const fs = require('fs');
12
10
  *
13
11
  * @example hash.file('/path/to/file.js');
14
12
  */
15
- module.exports = async (path) => {
13
+ export default async (path) => {
16
14
  const integrity = await ssri.fromStream(fs.createReadStream(path));
17
15
  return integrity.toString();
18
16
  };
@@ -1,18 +1,16 @@
1
- 'use strict';
2
-
3
- const ssri = require('ssri');
4
- const fileHash = require('./file');
1
+ import ssri from 'ssri';
2
+ import fileHash from './file.js';
5
3
 
6
4
  /**
7
5
  * Reads files from given paths and produces and returns an integrity hash from all files contents
8
6
  *
9
- * @param {[string]} files - an array of file paths
7
+ * @param {string[]} files - an array of file paths
10
8
  *
11
9
  * @returns {Promise<string>} - integrity string
12
10
  *
13
11
  * @example hash.files(['/path/to/file1.js', '/path/to/file2.js']);
14
12
  */
15
- module.exports = async (files) => {
13
+ export default async (files) => {
16
14
  const hashes = await Promise.all(files.map(fileHash));
17
15
  const hasher = ssri.create();
18
16
  for (const hash of hashes.sort()) {
@@ -1,5 +1,5 @@
1
- const file = require('./file');
2
- const files = require('./files');
3
- const compare = require('./compare');
1
+ import file from './file.js';
2
+ import files from './files.js';
3
+ import compare from './compare.js';
4
4
 
5
- module.exports = { file, files, compare };
5
+ export default { file, files, compare };
@@ -1,6 +1,7 @@
1
- const latestVersion = require('./latest-version');
2
- const versions = require('./versions');
3
- const integrity = require('./integrity');
4
- const request = require('./request');
1
+ import latestVersion from './latest-version.js';
2
+ import versions from './versions.js';
3
+ import integrity from './integrity.js';
4
+ import request from './request.js';
5
5
 
6
- module.exports = { latestVersion, versions, integrity, request };
6
+ export default { latestVersion, versions, integrity, request };
7
+ export { latestVersion, versions, integrity, request };
@@ -1,7 +1,4 @@
1
- 'use strict';
2
-
3
- const { join } = require('path');
4
- const fetch = require('node-fetch');
1
+ import { join } from 'path';
5
2
 
6
3
  /**
7
4
  * Fetches package integrity string by name and version from a given Eik asset server.
@@ -14,7 +11,7 @@ const fetch = require('node-fetch');
14
11
  *
15
12
  * @throws Error
16
13
  */
17
- module.exports = async (server, type, name, version) => {
14
+ export default async (server, type, name, version) => {
18
15
  const url = new URL(join(type, name, version), server);
19
16
  url.search = `?t=${Date.now()}`;
20
17
 
@@ -1,7 +1,4 @@
1
- 'use strict';
2
-
3
- const { join } = require('path');
4
- const fetch = require('node-fetch');
1
+ import { join } from 'path';
5
2
 
6
3
  /**
7
4
  * Fetches the latest version from an Eik server of a package by name, optionally restricting the lookup to a specified semver major version
@@ -14,7 +11,7 @@ const fetch = require('node-fetch');
14
11
  *
15
12
  * @throws Error
16
13
  */
17
- module.exports = async (server, type, name, major) => {
14
+ export default async (server, type, name, major) => {
18
15
  const url = new URL(`${join(type, name)}?t=${Date.now()}`, server);
19
16
  const res = await fetch(url);
20
17
  if (!res.ok) {
@@ -1,59 +1,65 @@
1
- 'use strict';
1
+ import { readFile } from 'node:fs/promises';
2
2
 
3
- const fetch = require('node-fetch');
4
- const FormData = require('form-data');
5
- const { createReadStream } = require('fs');
3
+ /**
4
+ * @typedef {object} RequestOptions
5
+ * @property {string} [method="POST"]
6
+ * @property {string} host
7
+ * @property {string} pathname
8
+ * @property {unknown} [data]
9
+ * @property {string} [file]
10
+ * @property {string} [map]
11
+ * @property {string} [token]
12
+ */
6
13
 
7
14
  /**
8
15
  * HTTP Utility for making requests against an Eik server
9
16
  *
10
- * @param {{method:string,host:string,pathname:string,data:object,file:string,map:string,token:string}} options
17
+ * @param {RequestOptions} options
11
18
  *
12
- * @returns {Promise<{status:number,message:object|string}>} - Promise that resolves to an object with properties status and message
19
+ * @returns {Promise<{ status:number; message: object | string }>} - Promise that resolves to an object with properties status and message
13
20
  *
14
21
  * @throws Error
15
22
  */
16
23
  async function request(options) {
17
24
  const { method = 'POST', host, pathname, data, file, map, token } = options;
18
- const form = new FormData();
19
- const headers = {};
25
+ const body = new FormData();
26
+ const headers = new Headers();
20
27
 
21
28
  if (data) {
22
29
  for (const [key, value] of Object.entries(data)) {
23
- form.append(key, value);
30
+ body.set(key, value);
24
31
  }
25
32
  }
26
33
 
27
34
  if (file) {
28
- form.append('package', createReadStream(file));
35
+ const fileData = await readFile(file);
36
+ body.set('package', new Blob([fileData]));
29
37
  }
30
38
 
31
39
  if (map) {
32
- form.append('map', createReadStream(map));
40
+ const mapData = await readFile(map);
41
+ body.set('map', new Blob([mapData]));
33
42
  }
34
43
 
35
44
  if (token) {
36
- headers.Authorization = `Bearer ${token}`;
45
+ headers.set('Authorization', `Bearer ${token}`);
37
46
  }
38
47
 
39
48
  try {
40
49
  const url = new URL(pathname, host);
41
50
  url.search = `?t=${Date.now()}`;
42
51
 
43
- const res = await fetch(url, {
44
- method,
45
- body: form,
46
- headers: { ...headers, ...form.getHeaders() },
47
- });
52
+ const res = await fetch(url, { method, body, headers });
48
53
 
49
54
  if (!res.ok) {
50
55
  const err = new Error(
51
56
  `Server responded with a non 200 ok status code. Response: ${res.status}`,
52
57
  );
58
+ // @ts-ignore
53
59
  err.statusCode = res.status;
54
60
  throw err;
55
61
  }
56
- if (res.headers.get('content-type').includes('application/json')) {
62
+ if (res?.headers?.get('content-type')?.includes('application/json')) {
57
63
  return { message: await res.json(), status: res.status };
58
64
  }
59
65
  return { message: await res.text(), status: res.status };
@@ -65,4 +71,4 @@ async function request(options) {
65
71
  }
66
72
  }
67
73
 
68
- module.exports = request;
74
+ export default request;
@@ -1,7 +1,4 @@
1
- 'use strict';
2
-
3
- const { join } = require('path');
4
- const fetch = require('node-fetch');
1
+ import { join } from 'path';
5
2
 
6
3
  /**
7
4
  * Fetches package versions by name from a given Eik asset server.
@@ -13,7 +10,7 @@ const fetch = require('node-fetch');
13
10
  *
14
11
  * @throws Error
15
12
  */
16
- module.exports = async (server, type, name) => {
13
+ export default async (server, type, name) => {
17
14
  const pkg = join(type, name);
18
15
  const url = new URL(pkg, server);
19
16
  url.search = `?t=${Date.now()}`;
package/utils/index.js CHANGED
@@ -1,6 +1,8 @@
1
- 'use strict';
1
+ import { helpers } from '@eik/common';
2
+ import logger from './logger.js';
3
+ import typeSlug from './type-slug.js';
4
+ import typeTitle from './type-title.js';
2
5
 
3
- const logger = require('./logger');
4
- const getCWD = require('./get-cwd');
6
+ const { getDefaults } = helpers;
5
7
 
6
- module.exports = { logger, getCWD };
8
+ export { logger, getDefaults, typeSlug, typeTitle };
@@ -1,5 +1,5 @@
1
- const read = require('./read');
2
- const write = require('./write');
3
- const writeEik = require('./write-eik');
1
+ import read from './read.js';
2
+ import write from './write.js';
3
+ import writeEik from './write-eik.js';
4
4
 
5
- module.exports = { read, write, writeEik };
5
+ export default { read, write, writeEik };
@@ -1,8 +1,6 @@
1
- 'use strict';
2
-
3
- const assert = require('assert');
4
- const fs = require('fs').promises;
5
- const { join, isAbsolute } = require('path');
1
+ import assert from 'assert';
2
+ import fs from 'node:fs/promises';
3
+ import { join, isAbsolute } from 'path';
6
4
 
7
5
  /**
8
6
  * Reads a file at a given location, assumes the contents to be JSON and then deserializes into a JavaScript object
@@ -10,7 +8,7 @@ const { join, isAbsolute } = require('path');
10
8
  * @param {string|{filename:string,cwd:string}} location - Path string or object describing location for where to write JSON to.
11
9
  * If location is a string it can be relative or absolute.
12
10
  * If location is an object, `pathname` must be given which can be relative or absolute. `cwd` can also be given to define the current working directory.
13
- * @return {Promise<any{}>} - JavaScript object deserialized from JSON file contents
11
+ * @return {Promise<unknown>} - JavaScript object deserialized from JSON file contents
14
12
  *
15
13
  * @example json.read('/path/to/file.json');
16
14
  * @example json.read('./relative/path/to/file.json');
@@ -18,7 +16,7 @@ const { join, isAbsolute } = require('path');
18
16
  * @example json.read({ filename: './relative/path/to/file.json' });
19
17
  * @example json.read({ filename: './relative/path/to/file.json', cwd: '/path/to/cwd });
20
18
  */
21
- module.exports = async (location) => {
19
+ export default async (location) => {
22
20
  if (typeof location !== 'string') {
23
21
  assert(
24
22
  location.filename,
@@ -1,7 +1,5 @@
1
- 'use strict';
2
-
3
- const fs = require('fs').promises;
4
- const { join } = require('path');
1
+ import fs from 'node:fs/promises';
2
+ import { join } from 'path';
5
3
 
6
4
  /**
7
5
  * Reads, updates and then writes data to given eik.json file (defaults to file in current directory)
@@ -15,10 +13,10 @@ const { join } = require('path');
15
13
  * @example json.writeEik({ key: 'value' }, { cwd: '/path/to/cwd' });
16
14
  * @example json.writeEik({ key: 'value' }, { cwd: '/path/to/cwd', filename: 'eik.json' });
17
15
  */
18
- module.exports = async (data = {}, options) => {
16
+ export default async (data = {}, options) => {
19
17
  const { cwd = process.cwd(), filename = 'eik.json' } = options;
20
18
  const eikpath = join(cwd, filename);
21
- const eik = await fs.readFile(eikpath);
19
+ const eik = await fs.readFile(eikpath, 'utf-8');
22
20
  const eikjson = JSON.parse(eik);
23
21
 
24
22
  await fs.writeFile(
@@ -1,8 +1,6 @@
1
- 'use strict';
2
-
3
- const assert = require('assert');
4
- const fs = require('fs').promises;
5
- const { join, isAbsolute, dirname } = require('path');
1
+ import assert from 'assert';
2
+ import fs from 'node:fs/promises';
3
+ import { join, isAbsolute, dirname } from 'path';
6
4
 
7
5
  /**
8
6
  * Utility function that can be used to write a JavaScript object to a file at a given location.
@@ -21,7 +19,7 @@ const { join, isAbsolute, dirname } = require('path');
21
19
  *
22
20
  * @throws Error
23
21
  */
24
- module.exports = async (meta = {}, location) => {
22
+ export default async (meta = {}, location) => {
25
23
  if (typeof location !== 'string') {
26
24
  assert(
27
25
  location.filename,
package/utils/logger.js CHANGED
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  /**
4
2
  * Creates a logger object that wraps an instance of the "ora" module in order to provide consistent command line logging that includes a spinner
5
3
  *
@@ -30,10 +28,9 @@ const logger = (spinner, debug = false) => ({
30
28
  */
31
29
  info(message) {
32
30
  if (typeof message !== 'string') {
33
- // eslint-disable-next-line no-param-reassign
34
31
  spinner.text = '';
35
32
  spinner.stopAndPersist();
36
- // eslint-disable-next-line no-console
33
+
37
34
  console.log(message);
38
35
  spinner.start();
39
36
  } else {
@@ -54,4 +51,4 @@ const logger = (spinner, debug = false) => ({
54
51
  },
55
52
  });
56
53
 
57
- module.exports = logger;
54
+ export default logger;
@@ -1,4 +1,4 @@
1
- module.exports = (type) => {
1
+ export default (type) => {
2
2
  if (type === 'package') return 'pkg';
3
3
  return type;
4
4
  };
@@ -1,4 +1,4 @@
1
- module.exports = (type) => {
1
+ export default (type) => {
2
2
  if (type === 'package') return 'PACKAGE';
3
3
  if (type === 'npm') return 'NPM';
4
4
  return 'MAP';
package/utils/get-cwd.js DELETED
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- const av = require('yargs-parser')(process.argv.slice(2));
4
-
5
- /**
6
- * Returns the current working directory path
7
- * If a --cwd or -c command line flag has been used, the value given will be returned
8
- * Otherwise, the directory where the process was run from is used
9
- *
10
- * @returns {string}
11
- */
12
- module.exports = function getCWD() {
13
- return av.cwd || av.c || process.cwd();
14
- };