From 7aa970cebc8e1407ff6937b402ba303e14c73efd Mon Sep 17 00:00:00 2001 From: JellyBrick Date: Wed, 11 Oct 2023 18:24:11 +0900 Subject: [PATCH] fix: bump dependencies --- index.ts | 13 +- package-lock.json | 134 +++++++++--------- package.json | 17 +-- plugins/bypass-age-restrictions/front.ts | 2 +- ...simple-youtube-age-restriction-bypass.d.ts | 4 + plugins/visualizer/butterchurn.d.ts | 4 +- plugins/visualizer/visualizers/butterchurn.ts | 4 +- utils/generate-package-json.js | 42 ------ 8 files changed, 86 insertions(+), 134 deletions(-) create mode 100644 plugins/bypass-age-restrictions/simple-youtube-age-restriction-bypass.d.ts delete mode 100755 utils/generate-package-json.js diff --git a/index.ts b/index.ts index 573207b4..b813a2fe 100644 --- a/index.ts +++ b/index.ts @@ -1,14 +1,12 @@ import path from 'node:path'; import { BrowserWindow, app, screen, globalShortcut, session, shell, dialog, ipcMain } from 'electron'; -import enhanceWebRequest from 'electron-better-web-request'; +import enhanceWebRequest, { BetterSession } from '@jellybrick/electron-better-web-request'; import is from 'electron-is'; import unhandled from 'electron-unhandled'; import { autoUpdater } from 'electron-updater'; import electronDebug from 'electron-debug'; -import { BetterWebRequest } from 'electron-better-web-request/lib/electron-better-web-request'; - import config from './config'; import { setApplicationMenu } from './menu'; import { fileExists, injectCSS, injectCSSAsFile } from './plugins/utils'; @@ -603,8 +601,6 @@ function showUnresponsiveDialog(win: BrowserWindow, details: Electron.RenderProc }); } -// HACK: electron-better-web-request's typing is wrong -type BetterSession = Omit & { webRequest: BetterWebRequest & Electron.WebRequest }; function removeContentSecurityPolicy( betterSession: BetterSession = session.defaultSession as BetterSession, ) { @@ -624,11 +620,10 @@ function removeContentSecurityPolicy( callback({ cancel: false, responseHeaders: details.responseHeaders }); }); - type ResolverListener = { apply: () => Promise>; context: unknown }; // When multiple listeners are defined, apply them all - betterSession.webRequest.setResolver('onHeadersReceived', async (listeners: ResolverListener[]) => { - return listeners.reduce>>( - async (accumulator: Promise>, listener: ResolverListener) => { + betterSession.webRequest.setResolver('onHeadersReceived', async (listeners) => { + return listeners.reduce( + async (accumulator, listener) => { const acc = await accumulator; if (acc.cancel) { return acc; diff --git a/package-lock.json b/package-lock.json index bcd7fcb4..939b737e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,14 +14,14 @@ "@ffmpeg.wasm/core-mt": "0.12.0", "@ffmpeg.wasm/main": "0.12.0", "@foobar404/wave": "2.0.4", + "@jellybrick/electron-better-web-request": "1.0.4", "@jellybrick/mpris-service": "2.1.4", "@xhayper/discord-rpc": "1.0.23", "async-mutex": "0.4.0", - "butterchurn": "2.6.7", - "butterchurn-presets": "2.4.7", + "butterchurn": "3.0.0-beta.4", + "butterchurn-presets": "3.0.0-beta.4", "conf": "10.2.0", "custom-electron-prompt": "1.5.7", - "electron-better-web-request": "1.0.1", "electron-debug": "3.2.0", "electron-is": "3.0.0", "electron-localshortcut": "3.2.1", @@ -35,7 +35,7 @@ "keyboardevent-from-electron-accelerator": "2.0.0", "keyboardevents-areequal": "0.2.2", "node-id3": "0.2.6", - "simple-youtube-age-restriction-bypass": "git+https://github.com/MiepHD/Simple-YouTube-Age-Restriction-Bypass.git#v2.5.5", + "simple-youtube-age-restriction-bypass": "git+https://github.com/organization/Simple-YouTube-Age-Restriction-Bypass.git#v2.5.8", "vudio": "2.1.1", "x11": "2.3.0", "youtubei.js": "6.4.1", @@ -62,7 +62,7 @@ "electron-devtools-installer": "3.2.0", "eslint": "8.51.0", "eslint-plugin-import": "2.28.1", - "eslint-plugin-prettier": "5.0.0", + "eslint-plugin-prettier": "5.0.1", "node-gyp": "9.4.0", "patch-package": "8.0.0", "playwright": "1.38.1", @@ -85,6 +85,11 @@ "node": ">=0.10.0" } }, + "node_modules/@assemblyscript/loader": { + "version": "0.17.14", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.17.14.tgz", + "integrity": "sha512-+PVTOfla/0XMLRTQLJFPg4u40XcdTfon6GGea70hBGi8Pd7ZymIXyVUR+vK8wt5Jb4MVKTKPIz43Myyebw5mZA==" + }, "node_modules/@babel/code-frame": { "version": "7.22.13", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", @@ -882,6 +887,27 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@jellybrick/electron-better-web-request": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@jellybrick/electron-better-web-request/-/electron-better-web-request-1.0.4.tgz", + "integrity": "sha512-vL2lv7Gz8BWgCpwXb3ha17oaEmJqG5ZLdVWssAkA/0PGPMCWH2lLWq7vDymyTswmZ+zKpfOdzwTomvMqn9nElg==", + "dependencies": { + "browser-extension-url-match": "^1.0.0", + "uuid": "^9.0.1" + } + }, + "node_modules/@jellybrick/electron-better-web-request/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@jellybrick/mpris-service": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@jellybrick/mpris-service/-/mpris-service-2.1.4.tgz", @@ -2725,20 +2751,6 @@ "proxy-from-env": "^1.1.0" } }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2838,6 +2850,14 @@ "node": ">=8" } }, + "node_modules/browser-extension-url-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-extension-url-match/-/browser-extension-url-match-1.0.0.tgz", + "integrity": "sha512-LfIs9SYgPjYksjxkgOVYZhxMIroR56isQB3YHTAmzunWuT9qrH6Fxt7TD9/s9MoKo7GP37JZbLlZhL9vwQAk3w==", + "dependencies": { + "fancy-regex": "^0.5.4" + } + }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -2987,22 +3007,22 @@ } }, "node_modules/butterchurn": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/butterchurn/-/butterchurn-2.6.7.tgz", - "integrity": "sha512-BJiRA8L0L2+84uoG2SSfkp0kclBuN+vQKf217pK7pMlwEO2ZEg3MtO2/o+l8Qpr8Nbejg8tmL1ZHD1jmhiaaqg==", + "version": "3.0.0-beta.4", + "resolved": "https://registry.npmjs.org/butterchurn/-/butterchurn-3.0.0-beta.4.tgz", + "integrity": "sha512-hiY1ktHYHQ8MT65nnZi7GjrgZZ6sl/ipT5rBqEfaYJd90L4SvOtB6lVxtKadtzAyJo2TQJc4gJfEca4cpZo0DA==", "dependencies": { - "@babel/runtime": "^7.0.0", - "ecma-proposal-math-extensions": "0.0.2" + "@assemblyscript/loader": "^0.17.11", + "@babel/runtime": "^7.11.2", + "ecma-proposal-math-extensions": "0.0.2", + "eel-wasm": "^0.0.15" } }, "node_modules/butterchurn-presets": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/butterchurn-presets/-/butterchurn-presets-2.4.7.tgz", - "integrity": "sha512-4MdM8ripz/VfH1BCldrIKdAc/1ryJFBDvqlyow6Ivo1frwj0H3duzvSMFC7/wIjAjxb1QpwVHVqGqS9uAFKhpg==", + "version": "3.0.0-beta.4", + "resolved": "https://registry.npmjs.org/butterchurn-presets/-/butterchurn-presets-3.0.0-beta.4.tgz", + "integrity": "sha512-TbQLUPvGOYMZAtWKoCmBtludh9aQZ6NaMGQU4lvPeadBPy3Du3yNmwBjlTMLP5c5mRWElxQPjTL1PtR7FZK3OQ==", "dependencies": { - "babel-runtime": "^6.26.0", - "ecma-proposal-math-extensions": "0.0.2", - "lodash": "^4.17.4" + "@babel/runtime": "^7.12.5" } }, "node_modules/cacache": { @@ -3445,13 +3465,6 @@ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "devOptional": true }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -4031,6 +4044,11 @@ "resolved": "https://registry.npmjs.org/ecma-proposal-math-extensions/-/ecma-proposal-math-extensions-0.0.2.tgz", "integrity": "sha512-80BnDp2Fn7RxXlEr5HHZblniY4aQ97MOAicdWWpSo0vkQiISSE9wLR4SqxKsu4gCtXFBIPPzy8JMhay4NWRg/Q==" }, + "node_modules/eel-wasm": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/eel-wasm/-/eel-wasm-0.0.15.tgz", + "integrity": "sha512-FSTWf6lwGn7Zc3QiV+KxWTznIqq4j9eST/aXmyN/cC39+1Arqs13YOMosHQ7tqUt+OjQmG79Vd41f9gu+w1lvA==" + }, "node_modules/ejs": { "version": "3.1.9", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", @@ -4063,15 +4081,6 @@ "node": ">= 12.20.55" } }, - "node_modules/electron-better-web-request": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/electron-better-web-request/-/electron-better-web-request-1.0.1.tgz", - "integrity": "sha512-euwLeL82k6fbVODfH5Uz9c4BN047/XyYKfsZcaFhdWfqx05JPu2J0xE7nciJ/1Bb0sTClU1FDLW5H2zQWBB5Gw==", - "dependencies": { - "url-match-patterns": "^0.2.0", - "uuid": "^3.3.2" - } - }, "node_modules/electron-builder": { "version": "24.6.4", "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-24.6.4.tgz", @@ -4739,9 +4748,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", - "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz", + "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0", @@ -4990,6 +4999,11 @@ ], "optional": true }, + "node_modules/fancy-regex": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/fancy-regex/-/fancy-regex-0.5.4.tgz", + "integrity": "sha512-O6qfjtMnrPRs+3XOavCxGQDFaMS9K1vEsQMhPowqx2P/h1fDCvK5RUyeWeyDusMH2FkSHAsRE3IbSBMMg53fmw==" + }, "node_modules/fast-average-color": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/fast-average-color/-/fast-average-color-9.4.0.tgz", @@ -6769,7 +6783,8 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lodash.debounce": { "version": "4.0.8", @@ -8926,7 +8941,7 @@ }, "node_modules/simple-youtube-age-restriction-bypass": { "version": "2.5.9", - "resolved": "git+ssh://git@github.com/MiepHD/Simple-YouTube-Age-Restriction-Bypass.git#79b9456c290df42f35f081413e18dc336d340724", + "resolved": "git+ssh://git@github.com/organization/Simple-YouTube-Age-Restriction-Bypass.git#816a882c68fcfe6cdd9410a6877b88093ed15b28", "license": "MIT", "workspaces": [ "account-proxy" @@ -9783,14 +9798,6 @@ "punycode": "^2.1.0" } }, - "node_modules/url-match-patterns": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/url-match-patterns/-/url-match-patterns-0.2.0.tgz", - "integrity": "sha512-vtaWyxq+CyrQP4/dapGddkSGwGypQOD2qjHcsqp9ahsjRWzGtjqm+ANxApH46OfWQfpkL6cuyPwsm80386jdjQ==", - "dependencies": { - "lodash": "^4.3.0" - } - }, "node_modules/usocket": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/usocket/-/usocket-0.3.0.tgz", @@ -9815,15 +9822,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "devOptional": true }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", diff --git a/package.json b/package.json index 21243655..7db89350 100644 --- a/package.json +++ b/package.json @@ -96,8 +96,7 @@ "build": "npm run rollup:preload && npm run rollup:main", "start": "npm run build && electron ./dist/index.js", "start:debug": "ELECTRON_ENABLE_LOGGING=1 npm run start", - "generate:package": "node utils/generate-package-json.js", - "postinstall": "patch-package && npm run plugins && npm run clean", + "postinstall": "patch-package", "clean": "del-cli dist && del-cli pack", "dist": "npm run clean && npm run build && electron-builder --win --mac --linux -p never", "dist:linux": "npm run clean && npm run build && electron-builder --linux -p never", @@ -107,8 +106,6 @@ "dist:win:x64": "npm run clean && npm run build && electron-builder --win nsis-web:x64 -p never", "lint": "eslint .", "changelog": "auto-changelog", - "plugins": "npm run plugin:bypass-age-restrictions", - "plugin:bypass-age-restrictions": "del-cli node_modules/simple-youtube-age-restriction-bypass/package.json && npm run generate:package simple-youtube-age-restriction-bypass", "release:linux": "npm run clean && npm run build && electron-builder --linux -p always -c.snap.publish=github", "release:mac": "npm run clean && npm run build && electron-builder --mac -p always", "release:win": "npm run clean && npm run build && electron-builder --win -p always", @@ -122,14 +119,14 @@ "@ffmpeg.wasm/core-mt": "0.12.0", "@ffmpeg.wasm/main": "0.12.0", "@foobar404/wave": "2.0.4", + "@jellybrick/electron-better-web-request": "1.0.4", "@jellybrick/mpris-service": "2.1.4", "@xhayper/discord-rpc": "1.0.23", "async-mutex": "0.4.0", - "butterchurn": "2.6.7", - "butterchurn-presets": "2.4.7", + "butterchurn": "3.0.0-beta.4", + "butterchurn-presets": "3.0.0-beta.4", "conf": "10.2.0", "custom-electron-prompt": "1.5.7", - "electron-better-web-request": "1.0.1", "electron-debug": "3.2.0", "electron-is": "3.0.0", "electron-localshortcut": "3.2.1", @@ -143,7 +140,7 @@ "keyboardevent-from-electron-accelerator": "2.0.0", "keyboardevents-areequal": "0.2.2", "node-id3": "0.2.6", - "simple-youtube-age-restriction-bypass": "git+https://github.com/MiepHD/Simple-YouTube-Age-Restriction-Bypass.git#v2.5.5", + "simple-youtube-age-restriction-bypass": "git+https://github.com/organization/Simple-YouTube-Age-Restriction-Bypass.git#v2.5.8", "vudio": "2.1.1", "x11": "2.3.0", "youtubei.js": "6.4.1", @@ -155,7 +152,7 @@ "xml2js": "0.6.2", "node-fetch": "2.7.0", "@electron/universal": "1.4.2", - "electron": "27.0.0" + "@babel/runtime": "7.23.1" }, "devDependencies": { "@playwright/test": "1.38.1", @@ -178,7 +175,7 @@ "electron-devtools-installer": "3.2.0", "eslint": "8.51.0", "eslint-plugin-import": "2.28.1", - "eslint-plugin-prettier": "5.0.0", + "eslint-plugin-prettier": "5.0.1", "node-gyp": "9.4.0", "patch-package": "8.0.0", "playwright": "1.38.1", diff --git a/plugins/bypass-age-restrictions/front.ts b/plugins/bypass-age-restrictions/front.ts index 21dcab69..d0e9d227 100644 --- a/plugins/bypass-age-restrictions/front.ts +++ b/plugins/bypass-age-restrictions/front.ts @@ -1,4 +1,4 @@ export default () => { // See https://github.com/zerodytrash/Simple-YouTube-Age-Restriction-Bypass#userscript - require('simple-youtube-age-restriction-bypass/dist/Simple-YouTube-Age-Restriction-Bypass.user.js'); + import('simple-youtube-age-restriction-bypass'); }; diff --git a/plugins/bypass-age-restrictions/simple-youtube-age-restriction-bypass.d.ts b/plugins/bypass-age-restrictions/simple-youtube-age-restriction-bypass.d.ts new file mode 100644 index 00000000..b3a67ff8 --- /dev/null +++ b/plugins/bypass-age-restrictions/simple-youtube-age-restriction-bypass.d.ts @@ -0,0 +1,4 @@ +declare module 'simple-youtube-age-restriction-bypass' { + const nothing: never; + export default nothing; +} diff --git a/plugins/visualizer/butterchurn.d.ts b/plugins/visualizer/butterchurn.d.ts index bd8df9e5..2803e6cd 100644 --- a/plugins/visualizer/butterchurn.d.ts +++ b/plugins/visualizer/butterchurn.d.ts @@ -49,5 +49,7 @@ declare module 'butterchurn' { } declare module 'butterchurn-presets' { - export function getPresets(): Record; + const presets: Record; + + export default presets; } diff --git a/plugins/visualizer/visualizers/butterchurn.ts b/plugins/visualizer/visualizers/butterchurn.ts index d6e36623..5c44cc33 100644 --- a/plugins/visualizer/visualizers/butterchurn.ts +++ b/plugins/visualizer/visualizers/butterchurn.ts @@ -5,8 +5,6 @@ import { Visualizer } from './visualizer'; import { ConfigType } from '../../../config/dynamic'; -const presets = ButterchurnPresets.getPresets(); - class ButterchurnVisualizer extends Visualizer { name = 'butterchurn'; @@ -41,7 +39,7 @@ class ButterchurnVisualizer extends Visualizer { } ); - const preset = presets[options.butterchurn.preset]; + const preset = ButterchurnPresets[options.butterchurn.preset]; this.visualizer.loadPreset(preset, options.butterchurn.blendTimeInSeconds); this.visualizer.connectAudio(audioNode); diff --git a/utils/generate-package-json.js b/utils/generate-package-json.js deleted file mode 100755 index 7c424d69..00000000 --- a/utils/generate-package-json.js +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env node - -const { existsSync, writeFile } = require('node:fs'); -const { join } = require('node:path'); -const { promisify } = require('node:util'); - -/** - * Generates a fake package.json for given packages that don't have any. - * Allows electron-builder to resolve them - */ - -const generatePackageJson = async (packageName) => { - const packageFolder = join('node_modules', packageName); - if (!existsSync(packageFolder)) { - console.log( - `${packageName} module not found, exiting…`, - ); - return; - } - - const filepath = join(packageFolder, 'package.json'); - if (!existsSync(filepath)) { - console.log( - `No package.json found for ${packageName} module, generating one…`, - ); - let pkg = { - name: packageName, - version: '0.0.0', - description: '-', - repository: { type: 'git', url: '-' }, - readme: '-', - }; - const writeFileAsync = promisify(writeFile); - await writeFileAsync(filepath, JSON.stringify(pkg, null, 2)); - } -}; - -if (require.main === module) { - process.argv.slice(2).forEach(async (packageName) => { - await generatePackageJson(packageName); - }); -}