@aneuhold/core-ts-lib 1.0.17 → 1.1.3

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/lib/index.d.ts CHANGED
@@ -1,17 +1,10 @@
1
1
  import datesAreOnSameDay from './helperFunctions/dateFunctions';
2
2
  import sleep from './helperFunctions/sleep';
3
- import ChromeService from './services/applications/ChromeService';
4
- import DockerService from './services/applications/DockerService';
5
- import FileSystemService from './services/applications/FileSystemService/FileSystemService';
6
- import ITermService from './services/applications/ITermService';
7
- import CLIService from './services/CLIService';
8
- import ConfigService from './services/ConfigService/ConfigService';
9
3
  import DependencyService from './services/DependencyService';
10
4
  import DOFunctionService, { DOFunction } from './services/DOFunctionService/DOFunctionService';
11
5
  import { DOAuthCheckPasswordInput, DOAuthCheckPasswordOutput, DOAuthCheckPasswordRawOutput } from './services/DOFunctionService/functionsInfo/authCheckPassword';
12
6
  import StringService from './services/StringService';
13
- import CurrentEnv, { OperatingSystemType, ShellType, TerminalType } from './utils/CurrentEnv';
14
7
  import Logger from './utils/Logger';
15
- export { CLIService, StringService, CurrentEnv, ChromeService, DockerService, FileSystemService, sleep, OperatingSystemType, ShellType, Logger, TerminalType, datesAreOnSameDay, ITermService, ConfigService, DOFunctionService, DependencyService };
16
- export type { DOAuthCheckPasswordRawOutput, DOAuthCheckPasswordInput, DOAuthCheckPasswordOutput, DOFunction };
8
+ export { datesAreOnSameDay, DependencyService, DOFunctionService, Logger, sleep, StringService };
9
+ export type { DOAuthCheckPasswordInput, DOAuthCheckPasswordOutput, DOAuthCheckPasswordRawOutput, DOFunction };
17
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAC5C,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,iBAAiB,MAAM,6DAA6D,CAAC;AAC5F,OAAO,YAAY,MAAM,sCAAsC,CAAC;AAChE,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,aAAa,MAAM,wCAAwC,CAAC;AACnE,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,iBAAiB,EAAE,EACxB,UAAU,EACX,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,8DAA8D,CAAC;AACtE,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,UAAU,EAAE,EACjB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAGpC,OAAO,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,KAAK,EACL,mBAAmB,EACnB,SAAS,EACT,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EAClB,CAAC;AAGF,YAAY,EACV,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,UAAU,EACX,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAC5C,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,iBAAiB,EAAE,EACxB,UAAU,EACX,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,8DAA8D,CAAC;AACtE,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAGpC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,EACN,KAAK,EACL,aAAa,EACd,CAAC;AAGF,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,UAAU,EACX,CAAC"}
package/lib/index.js CHANGED
@@ -1,58 +1,18 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.DependencyService = exports.DOFunctionService = exports.ConfigService = exports.ITermService = exports.datesAreOnSameDay = exports.TerminalType = exports.Logger = exports.ShellType = exports.OperatingSystemType = exports.sleep = exports.FileSystemService = exports.DockerService = exports.ChromeService = exports.CurrentEnv = exports.StringService = exports.CLIService = void 0;
6
+ exports.StringService = exports.sleep = exports.Logger = exports.DOFunctionService = exports.DependencyService = exports.datesAreOnSameDay = void 0;
30
7
  const dateFunctions_1 = __importDefault(require("./helperFunctions/dateFunctions"));
31
8
  exports.datesAreOnSameDay = dateFunctions_1.default;
32
9
  const sleep_1 = __importDefault(require("./helperFunctions/sleep"));
33
10
  exports.sleep = sleep_1.default;
34
- const ChromeService_1 = __importDefault(require("./services/applications/ChromeService"));
35
- exports.ChromeService = ChromeService_1.default;
36
- const DockerService_1 = __importDefault(require("./services/applications/DockerService"));
37
- exports.DockerService = DockerService_1.default;
38
- const FileSystemService_1 = __importDefault(require("./services/applications/FileSystemService/FileSystemService"));
39
- exports.FileSystemService = FileSystemService_1.default;
40
- const ITermService_1 = __importDefault(require("./services/applications/ITermService"));
41
- exports.ITermService = ITermService_1.default;
42
- const CLIService_1 = __importDefault(require("./services/CLIService"));
43
- exports.CLIService = CLIService_1.default;
44
- const ConfigService_1 = __importDefault(require("./services/ConfigService/ConfigService"));
45
- exports.ConfigService = ConfigService_1.default;
46
11
  const DependencyService_1 = __importDefault(require("./services/DependencyService"));
47
12
  exports.DependencyService = DependencyService_1.default;
48
13
  const DOFunctionService_1 = __importDefault(require("./services/DOFunctionService/DOFunctionService"));
49
14
  exports.DOFunctionService = DOFunctionService_1.default;
50
15
  const StringService_1 = __importDefault(require("./services/StringService"));
51
16
  exports.StringService = StringService_1.default;
52
- const CurrentEnv_1 = __importStar(require("./utils/CurrentEnv"));
53
- exports.CurrentEnv = CurrentEnv_1.default;
54
- Object.defineProperty(exports, "OperatingSystemType", { enumerable: true, get: function () { return CurrentEnv_1.OperatingSystemType; } });
55
- Object.defineProperty(exports, "ShellType", { enumerable: true, get: function () { return CurrentEnv_1.ShellType; } });
56
- Object.defineProperty(exports, "TerminalType", { enumerable: true, get: function () { return CurrentEnv_1.TerminalType; } });
57
17
  const Logger_1 = __importDefault(require("./utils/Logger"));
58
18
  exports.Logger = Logger_1.default;
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const promises_1 = require("fs/promises");
7
7
  const path_1 = __importDefault(require("path"));
8
- const FileSystemService_1 = __importDefault(require("./applications/FileSystemService/FileSystemService"));
8
+ const FileSystemService_1 = __importDefault(require("./FileSystemService/FileSystemService"));
9
9
  /**
10
10
  * A service which can be used to manage dependencies in the current project
11
11
  * in various ways.
@@ -0,0 +1,42 @@
1
+ /**
2
+ * A service which can be used to interact with the file system, only in build
3
+ * steps.
4
+ */
5
+ export default class FileSystemService {
6
+ /**
7
+ * Tries to add the provided snippet of text to the path provided. If the file
8
+ * doesn't exist, it creates it. If the folders to the file don't exist, it
9
+ * creates those. If the text already exists in the file, it does nothing.
10
+ *
11
+ * @param folderPath the path to the folder which contains the file that should
12
+ * be updated
13
+ */
14
+ static findAndInsertText(folderPath: string, fileName: string, textToInsert: string): Promise<void>;
15
+ /**
16
+ * Copies the contents of one folder to another folder.
17
+ *
18
+ * @param ignoreExtensions is an array with extensions that should be
19
+ * ignored. For example, if you want to ignore all .ts files, you would pass
20
+ * in ['ts'].
21
+ */
22
+ static copyFolderContents(sourceFolderPath: string, targetFolderPath: string, ignoreExtensions?: string[]): Promise<void>;
23
+ static checkOrCreateFolder(folderPath: string): Promise<void>;
24
+ static deleteFolder(folderPath: string): Promise<void>;
25
+ /**
26
+ * Gets all the file paths in the directory provided, including all
27
+ * subdirectories, as an array of strings. The returned result will include
28
+ * the directory path provided.
29
+ *
30
+ * If only relative file paths are needed, use {@link getAllFilePathsRelative}.
31
+ */
32
+ static getAllFilePaths(dirPath: string): Promise<string[]>;
33
+ /**
34
+ * Gets all the file paths in the directory provided, including all
35
+ * subdirectories, as an array of strings. The returned result will not
36
+ * include the directory path provided.
37
+ *
38
+ * If absolute file paths are needed, use {@link getAllFilePaths}.
39
+ */
40
+ static getAllFilePathsRelative(dirPath: string): Promise<string[]>;
41
+ }
42
+ //# sourceMappingURL=FileSystemService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileSystemService.d.ts","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;OAOG;WACU,iBAAiB,CAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAsBhB;;;;;;OAMG;WACU,kBAAkB,CAC7B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,IAAI,CAAC;WAoCH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAWtD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;;;;;OAMG;WACU,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBhE;;;;;;OAMG;WACU,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAMzE"}
@@ -0,0 +1,128 @@
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
+ const promises_1 = require("fs/promises");
7
+ const path_1 = __importDefault(require("path"));
8
+ const Logger_1 = __importDefault(require("../../utils/Logger"));
9
+ const StringService_1 = __importDefault(require("../StringService"));
10
+ /**
11
+ * A service which can be used to interact with the file system, only in build
12
+ * steps.
13
+ */
14
+ class FileSystemService {
15
+ /**
16
+ * Tries to add the provided snippet of text to the path provided. If the file
17
+ * doesn't exist, it creates it. If the folders to the file don't exist, it
18
+ * creates those. If the text already exists in the file, it does nothing.
19
+ *
20
+ * @param folderPath the path to the folder which contains the file that should
21
+ * be updated
22
+ */
23
+ static async findAndInsertText(folderPath, fileName, textToInsert) {
24
+ const filePath = path_1.default.join(folderPath, fileName);
25
+ await FileSystemService.checkOrCreateFolder(folderPath);
26
+ try {
27
+ await (0, promises_1.access)(filePath);
28
+ const fileContents = await (0, promises_1.readFile)(filePath);
29
+ if (!fileContents.includes(textToInsert)) {
30
+ await (0, promises_1.appendFile)(filePath, `\n${textToInsert}`);
31
+ Logger_1.default.info(`Added "${textToInsert}" to "${filePath}"`);
32
+ }
33
+ else {
34
+ Logger_1.default.info(`"${textToInsert}" already exists in "${filePath}"`);
35
+ }
36
+ }
37
+ catch {
38
+ Logger_1.default.info(`File at "${filePath}" didn't exist. Creating it now and adding "${textToInsert}" to it.`);
39
+ await (0, promises_1.writeFile)(filePath, textToInsert);
40
+ }
41
+ }
42
+ /**
43
+ * Copies the contents of one folder to another folder.
44
+ *
45
+ * @param ignoreExtensions is an array with extensions that should be
46
+ * ignored. For example, if you want to ignore all .ts files, you would pass
47
+ * in ['ts'].
48
+ */
49
+ static async copyFolderContents(sourceFolderPath, targetFolderPath, ignoreExtensions) {
50
+ // Check if the source directory exists first
51
+ try {
52
+ await (0, promises_1.access)(sourceFolderPath);
53
+ }
54
+ catch {
55
+ Logger_1.default.error(`Source directory "${sourceFolderPath}" does not exist.`);
56
+ return;
57
+ }
58
+ await FileSystemService.checkOrCreateFolder(targetFolderPath);
59
+ // Get the files in the source directory
60
+ const sourceFilePaths = await FileSystemService.getAllFilePathsRelative(sourceFolderPath);
61
+ // console.log(sourceFilePaths);
62
+ await Promise.all(sourceFilePaths.map(async (sourceFilePath) => {
63
+ const sourceFile = path_1.default.join(sourceFolderPath, sourceFilePath);
64
+ const targetFile = path_1.default.join(targetFolderPath, sourceFilePath);
65
+ const sourceFileExtension = StringService_1.default.getFileNameExtension(sourceFile);
66
+ if (sourceFileExtension &&
67
+ ignoreExtensions?.includes(sourceFileExtension)) {
68
+ return;
69
+ }
70
+ await (0, promises_1.cp)(sourceFile, targetFile, { recursive: true });
71
+ }));
72
+ }
73
+ static async checkOrCreateFolder(folderPath) {
74
+ try {
75
+ await (0, promises_1.access)(folderPath);
76
+ }
77
+ catch {
78
+ Logger_1.default.verbose.info(`Directory "${folderPath}" does not exist. Creating it now...`);
79
+ await (0, promises_1.mkdir)(folderPath, { recursive: true });
80
+ }
81
+ }
82
+ static async deleteFolder(folderPath) {
83
+ try {
84
+ await (0, promises_1.access)(folderPath);
85
+ }
86
+ catch {
87
+ Logger_1.default.error(`Directory "${folderPath}" does not exist.`);
88
+ return;
89
+ }
90
+ await (0, promises_1.rm)(folderPath, { recursive: true });
91
+ }
92
+ /**
93
+ * Gets all the file paths in the directory provided, including all
94
+ * subdirectories, as an array of strings. The returned result will include
95
+ * the directory path provided.
96
+ *
97
+ * If only relative file paths are needed, use {@link getAllFilePathsRelative}.
98
+ */
99
+ static async getAllFilePaths(dirPath) {
100
+ const filePaths = [];
101
+ const fileOrFolderNames = await (0, promises_1.readdir)(dirPath);
102
+ await Promise.all(fileOrFolderNames.map(async (fileOrFolder) => {
103
+ const absolutePath = path_1.default.join(dirPath, fileOrFolder);
104
+ const fileStat = await (0, promises_1.stat)(absolutePath);
105
+ if (fileStat.isDirectory()) {
106
+ filePaths.push(...(await this.getAllFilePaths(absolutePath)));
107
+ }
108
+ else {
109
+ filePaths.push(absolutePath);
110
+ }
111
+ }));
112
+ return filePaths;
113
+ }
114
+ /**
115
+ * Gets all the file paths in the directory provided, including all
116
+ * subdirectories, as an array of strings. The returned result will not
117
+ * include the directory path provided.
118
+ *
119
+ * If absolute file paths are needed, use {@link getAllFilePaths}.
120
+ */
121
+ static async getAllFilePathsRelative(dirPath) {
122
+ const filePaths = await this.getAllFilePaths(dirPath);
123
+ return filePaths.map((filePath) => {
124
+ return filePath.replace(dirPath, '');
125
+ });
126
+ }
127
+ }
128
+ exports.default = FileSystemService;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FileSystemService.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileSystemService.spec.d.ts","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,85 @@
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
+ const path_1 = __importDefault(require("path"));
7
+ const promises_1 = require("fs/promises");
8
+ const FileSystemService_1 = __importDefault(require("./FileSystemService"));
9
+ const TEST_FOLDER_NAME = '__fileSystemService-tests__';
10
+ describe('FileSystemService', () => {
11
+ afterAll(async () => {
12
+ await deleteTestFolder();
13
+ });
14
+ describe('copyFolderContents', () => {
15
+ it('should successfully copy all contents when target folder doesnt exist', async () => {
16
+ // Make a test folder with a folder and a couple files in it
17
+ const testName = 'copyFolderContents-1';
18
+ const sourceFolderName = `${testName}-source`;
19
+ const sourceFolderPath = await createTestFolder(sourceFolderName);
20
+ await createTestFiles(sourceFolderPath, {
21
+ 'file1.txt': 'test text',
22
+ 'file2.txt': 'test text',
23
+ subFolder: {
24
+ 'subFile1.txt': 'sub test text',
25
+ 'subFile2.txt': 'sub test text'
26
+ }
27
+ });
28
+ const targetFolderPath = path_1.default.join(TEST_FOLDER_NAME, `${testName}-target`);
29
+ // Execute
30
+ await FileSystemService_1.default.copyFolderContents(sourceFolderPath, targetFolderPath);
31
+ // Assert
32
+ const expectedContents = await FileSystemService_1.default.getAllFilePathsRelative(sourceFolderPath);
33
+ const actualContents = await FileSystemService_1.default.getAllFilePathsRelative(targetFolderPath);
34
+ expect(actualContents).toEqual(expectedContents);
35
+ });
36
+ it('should successfully copy only files that arent ignored', async () => {
37
+ // Make a test folder with a folder and a couple files in it
38
+ const testName = 'copyFolderContents-2';
39
+ const sourceFolderName = `${testName}-source`;
40
+ const sourceFolderPath = await createTestFolder(sourceFolderName);
41
+ await createTestFiles(sourceFolderPath, {
42
+ 'file1.txt': 'test text',
43
+ 'file2.txt': 'test text',
44
+ subFolder: {
45
+ 'subFile1.txt': 'sub test text',
46
+ 'subFile2.txt': 'sub test text'
47
+ },
48
+ javascript: {
49
+ 'file1.js': 'test text',
50
+ 'file2.js': 'test text'
51
+ },
52
+ typescript: {
53
+ 'file1.ts': 'test text',
54
+ 'file2.ts': 'test text'
55
+ }
56
+ });
57
+ const targetFolderPath = path_1.default.join(TEST_FOLDER_NAME, `${testName}-target`);
58
+ // Execute
59
+ await FileSystemService_1.default.copyFolderContents(sourceFolderPath, targetFolderPath, ['ts']);
60
+ // Assert
61
+ const expectedContents = (await FileSystemService_1.default.getAllFilePathsRelative(sourceFolderPath)).filter((sourceFilePath) => !sourceFilePath.endsWith('.ts'));
62
+ const actualContents = await FileSystemService_1.default.getAllFilePathsRelative(targetFolderPath);
63
+ expect(actualContents).toEqual(expectedContents);
64
+ });
65
+ });
66
+ });
67
+ async function createTestFiles(folderPath, fileStructure) {
68
+ await FileSystemService_1.default.checkOrCreateFolder(folderPath);
69
+ await Promise.all(Object.entries(fileStructure).map(async ([key, value]) => {
70
+ if (typeof value === 'string') {
71
+ await (0, promises_1.writeFile)(path_1.default.join(folderPath, key), value);
72
+ }
73
+ else if (typeof value === 'object') {
74
+ await createTestFiles(path_1.default.join(folderPath, key), value);
75
+ }
76
+ }));
77
+ }
78
+ async function createTestFolder(folderName) {
79
+ const testFolderPath = path_1.default.join(TEST_FOLDER_NAME, folderName);
80
+ await FileSystemService_1.default.checkOrCreateFolder(testFolderPath);
81
+ return testFolderPath;
82
+ }
83
+ async function deleteTestFolder() {
84
+ await FileSystemService_1.default.deleteFolder(TEST_FOLDER_NAME);
85
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aneuhold/core-ts-lib",
3
- "version": "1.0.17",
3
+ "version": "1.1.3",
4
4
  "description": "A core library for all of my TypeScript projects",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -31,11 +31,6 @@
31
31
  "files": [
32
32
  "lib/**/*"
33
33
  ],
34
- "dependencies": {
35
- "dotenv": "^16.3.1",
36
- "node-fetch": "^2",
37
- "octokit": "^3.1.2"
38
- },
39
34
  "devDependencies": {
40
35
  "@types/jest": "^29.5.8",
41
36
  "@types/node": "^18.15.0",