7 Commits

Author SHA1 Message Date
jacoobes
088c3eb6ac fix: homepage 2023-03-31 13:08:35 -05:00
jacoobes
68c096e689 chore: use constant instead of function 2023-03-31 12:57:07 -05:00
jacoobes
34bf4d004c merge corectly 2023-03-31 12:40:46 -05:00
jacoobes
309bf5224a merge 2023-03-31 12:40:04 -05:00
jacoobes
4382ce6d5e Merge branch 'main' into plugin-version-management 2023-03-31 12:39:03 -05:00
jacoobes
731017f637 feat: add more methods 2023-02-16 12:07:16 -06:00
Jacob Nguyen
a3f5f1bf52 chore: update discord link (#89) 2023-02-16 11:46:11 -06:00
12 changed files with 213 additions and 242 deletions

View File

@@ -2,19 +2,6 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [0.5.1](https://github.com/sern-handler/cli/compare/v0.5.0...v0.5.1) (2023-06-16)
### Features
* **init:** deprecate init and bump deps ([#102](https://github.com/sern-handler/cli/issues/102)) ([dce78c0](https://github.com/sern-handler/cli/commit/dce78c0945de6da79bf1e268f29651da0c44c1eb))
* version injector ([#90](https://github.com/sern-handler/cli/issues/90)) ([58fa325](https://github.com/sern-handler/cli/commit/58fa3253f62da9fb66d1b2ae901b568367f065d0))
### Bug Fixes
* git not installed errors during init ([#79](https://github.com/sern-handler/cli/issues/79)) ([69287ab](https://github.com/sern-handler/cli/commit/69287ab1bd0c4960384144f90fea8ebded3b0cc5))
## [0.5.0](https://github.com/sern-handler/cli/compare/v0.4.2...v0.5.0) (2022-09-16) ## [0.5.0](https://github.com/sern-handler/cli/compare/v0.4.2...v0.5.0) (2022-09-16)

260
package-lock.json generated
View File

@@ -1,32 +1,32 @@
{ {
"name": "@sern/cli", "name": "@sern/cli",
"version": "0.5.1", "version": "0.5.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@sern/cli", "name": "@sern/cli",
"version": "0.5.1", "version": "0.5.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"colorette": "2.0.20", "colorette": "^2.0.16",
"commander": "11.0.0", "commander": "^9.3.0",
"execa": "7.1.1", "execa": "^6.1.0",
"find-up": "6.3.0", "find-up": "6.3.0",
"ora": "6.3.1", "ora": "^6.1.0",
"prompts": "2.4.2", "prompts": "2.4.2",
"undici": "5.22.1" "undici": "^5.6.1"
}, },
"bin": { "bin": {
"sern": "dist/index.js" "sern": "dist/index.js"
}, },
"devDependencies": { "devDependencies": {
"@favware/npm-deprecate": "1.0.7", "@favware/npm-deprecate": "1.0.7",
"@types/prompts": "2.4.4", "@types/prompts": "2.4.3",
"esbuild-plugin-version-injector": "1.1.0", "esbuild-plugin-version-injector": "^1.0.3",
"prettier": "2.8.8", "prettier": "2.8.4",
"tsup": "6.7.0", "tsup": "^6.6.3",
"typescript": "5.1.3" "typescript": "4.9.5"
}, },
"engines": { "engines": {
"node": ">= 16.10.x" "node": ">= 16.10.x"
@@ -407,15 +407,6 @@
"node": ">=16" "node": ">=16"
} }
}, },
"node_modules/@favware/npm-deprecate/node_modules/commander": {
"version": "9.5.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz",
"integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==",
"dev": true,
"engines": {
"node": "^12.20.0 || >=14"
}
},
"node_modules/@nodelib/fs.scandir": { "node_modules/@nodelib/fs.scandir": {
"version": "2.1.5", "version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -512,9 +503,9 @@
"dev": true "dev": true
}, },
"node_modules/@types/prompts": { "node_modules/@types/prompts": {
"version": "2.4.4", "version": "2.4.3",
"resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.4.4.tgz", "resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.4.3.tgz",
"integrity": "sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==", "integrity": "sha512-qpzXlxoPv67TCtTCS+SwYmz1M+G5ARTrE5YVlrZPy/xBD36dzLqiJLDzOzsMXkcJYq6+6UkWqFwtLAOjsfec5Q==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/node": "*", "@types/node": "*",
@@ -851,16 +842,16 @@
} }
}, },
"node_modules/colorette": { "node_modules/colorette": {
"version": "2.0.20", "version": "2.0.19",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
"integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ=="
}, },
"node_modules/commander": { "node_modules/commander": {
"version": "11.0.0", "version": "9.5.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz",
"integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==",
"engines": { "engines": {
"node": ">=16" "node": "^12.20.0 || >=14"
} }
}, },
"node_modules/concat-map": { "node_modules/concat-map": {
@@ -994,9 +985,9 @@
} }
}, },
"node_modules/esbuild-plugin-version-injector": { "node_modules/esbuild-plugin-version-injector": {
"version": "1.1.0", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/esbuild-plugin-version-injector/-/esbuild-plugin-version-injector-1.1.0.tgz", "resolved": "https://registry.npmjs.org/esbuild-plugin-version-injector/-/esbuild-plugin-version-injector-1.0.3.tgz",
"integrity": "sha512-x7HqfleM0h0ZfbNf50LH+PdqQCd6+9v4Pt00/JN/zAAKaYHYj/MU7HPGlBTQ4xCKFsFtWqgbbFcOhBtOG+QWBg==", "integrity": "sha512-g/ZSqkIoNBVmDhWoGUblJeee6dSVkAlVI+ZchPxffd+YhETnntS7FJ3r/SB3GD75+/cLMYRHaIZhkO5C96Wz/g==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@sapphire/result": "^2.6.0" "@sapphire/result": "^2.6.0"
@@ -1007,13 +998,13 @@
} }
}, },
"node_modules/execa": { "node_modules/execa": {
"version": "7.1.1", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz",
"integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==",
"dependencies": { "dependencies": {
"cross-spawn": "^7.0.3", "cross-spawn": "^7.0.3",
"get-stream": "^6.0.1", "get-stream": "^6.0.1",
"human-signals": "^4.3.0", "human-signals": "^3.0.1",
"is-stream": "^3.0.0", "is-stream": "^3.0.0",
"merge-stream": "^2.0.0", "merge-stream": "^2.0.0",
"npm-run-path": "^5.1.0", "npm-run-path": "^5.1.0",
@@ -1022,7 +1013,7 @@
"strip-final-newline": "^3.0.0" "strip-final-newline": "^3.0.0"
}, },
"engines": { "engines": {
"node": "^14.18.0 || ^16.14.0 || >=18.0.0" "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}, },
"funding": { "funding": {
"url": "https://github.com/sindresorhus/execa?sponsor=1" "url": "https://github.com/sindresorhus/execa?sponsor=1"
@@ -1081,26 +1072,17 @@
} }
}, },
"node_modules/fs-minipass": { "node_modules/fs-minipass": {
"version": "3.0.2", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.1.tgz",
"integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==", "integrity": "sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"minipass": "^5.0.0" "minipass": "^4.0.0"
}, },
"engines": { "engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0" "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
} }
}, },
"node_modules/fs-minipass/node_modules/minipass": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
"integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/fs.realpath": { "node_modules/fs.realpath": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -1229,11 +1211,11 @@
} }
}, },
"node_modules/human-signals": { "node_modules/human-signals": {
"version": "4.3.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz",
"integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==",
"engines": { "engines": {
"node": ">=14.18.0" "node": ">=12.20.0"
} }
}, },
"node_modules/humanize-ms": { "node_modules/humanize-ms": {
@@ -1594,9 +1576,9 @@
} }
}, },
"node_modules/minipass": { "node_modules/minipass": {
"version": "4.2.8", "version": "4.2.5",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz",
"integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": ">=8" "node": ">=8"
@@ -1920,17 +1902,17 @@
} }
}, },
"node_modules/ora": { "node_modules/ora": {
"version": "6.3.1", "version": "6.1.2",
"resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", "resolved": "https://registry.npmjs.org/ora/-/ora-6.1.2.tgz",
"integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", "integrity": "sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==",
"dependencies": { "dependencies": {
"bl": "^5.0.0",
"chalk": "^5.0.0", "chalk": "^5.0.0",
"cli-cursor": "^4.0.0", "cli-cursor": "^4.0.0",
"cli-spinners": "^2.6.1", "cli-spinners": "^2.6.1",
"is-interactive": "^2.0.0", "is-interactive": "^2.0.0",
"is-unicode-supported": "^1.1.0", "is-unicode-supported": "^1.1.0",
"log-symbols": "^5.1.0", "log-symbols": "^5.1.0",
"stdin-discarder": "^0.1.0",
"strip-ansi": "^7.0.1", "strip-ansi": "^7.0.1",
"wcwidth": "^1.0.1" "wcwidth": "^1.0.1"
}, },
@@ -2069,9 +2051,9 @@
} }
}, },
"node_modules/prettier": { "node_modules/prettier": {
"version": "2.8.8", "version": "2.8.4",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz",
"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==",
"dev": true, "dev": true,
"bin": { "bin": {
"prettier": "bin-prettier.js" "prettier": "bin-prettier.js"
@@ -2460,20 +2442,6 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0" "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
} }
}, },
"node_modules/stdin-discarder": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz",
"integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==",
"dependencies": {
"bl": "^5.0.0"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/streamsearch": { "node_modules/streamsearch": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
@@ -2683,9 +2651,9 @@
"dev": true "dev": true
}, },
"node_modules/tsup": { "node_modules/tsup": {
"version": "6.7.0", "version": "6.6.3",
"resolved": "https://registry.npmjs.org/tsup/-/tsup-6.7.0.tgz", "resolved": "https://registry.npmjs.org/tsup/-/tsup-6.6.3.tgz",
"integrity": "sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==", "integrity": "sha512-OLx/jFllYlVeZQ7sCHBuRVEQBBa1tFbouoc/gbYakyipjVQdWy/iQOvmExUA/ewap9iQ7tbJf9pW0PgcEFfJcQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"bundle-require": "^4.0.0", "bundle-require": "^4.0.0",
@@ -2713,7 +2681,7 @@
"peerDependencies": { "peerDependencies": {
"@swc/core": "^1", "@swc/core": "^1",
"postcss": "^8.4.12", "postcss": "^8.4.12",
"typescript": ">=4.1.0" "typescript": "^4.1.0"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@swc/core": { "@swc/core": {
@@ -2817,27 +2785,27 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.1.3", "version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"dev": true, "dev": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
}, },
"engines": { "engines": {
"node": ">=14.17" "node": ">=4.2.0"
} }
}, },
"node_modules/undici": { "node_modules/undici": {
"version": "5.22.1", "version": "5.20.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.22.1.tgz", "resolved": "https://registry.npmjs.org/undici/-/undici-5.20.0.tgz",
"integrity": "sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==", "integrity": "sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==",
"dependencies": { "dependencies": {
"busboy": "^1.6.0" "busboy": "^1.6.0"
}, },
"engines": { "engines": {
"node": ">=14.0" "node": ">=12.18"
} }
}, },
"node_modules/unique-filename": { "node_modules/unique-filename": {
@@ -3121,14 +3089,6 @@
"micromatch": "^4.0.5", "micromatch": "^4.0.5",
"npm-package-arg": "^10.0.0", "npm-package-arg": "^10.0.0",
"npm-registry-fetch": "^14.0.2" "npm-registry-fetch": "^14.0.2"
},
"dependencies": {
"commander": {
"version": "9.5.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz",
"integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==",
"dev": true
}
} }
}, },
"@nodelib/fs.scandir": { "@nodelib/fs.scandir": {
@@ -3200,9 +3160,9 @@
"dev": true "dev": true
}, },
"@types/prompts": { "@types/prompts": {
"version": "2.4.4", "version": "2.4.3",
"resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.4.4.tgz", "resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.4.3.tgz",
"integrity": "sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==", "integrity": "sha512-qpzXlxoPv67TCtTCS+SwYmz1M+G5ARTrE5YVlrZPy/xBD36dzLqiJLDzOzsMXkcJYq6+6UkWqFwtLAOjsfec5Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/node": "*", "@types/node": "*",
@@ -3431,14 +3391,14 @@
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="
}, },
"colorette": { "colorette": {
"version": "2.0.20", "version": "2.0.19",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
"integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ=="
}, },
"commander": { "commander": {
"version": "11.0.0", "version": "9.5.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz",
"integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==" "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ=="
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
@@ -3544,22 +3504,22 @@
} }
}, },
"esbuild-plugin-version-injector": { "esbuild-plugin-version-injector": {
"version": "1.1.0", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/esbuild-plugin-version-injector/-/esbuild-plugin-version-injector-1.1.0.tgz", "resolved": "https://registry.npmjs.org/esbuild-plugin-version-injector/-/esbuild-plugin-version-injector-1.0.3.tgz",
"integrity": "sha512-x7HqfleM0h0ZfbNf50LH+PdqQCd6+9v4Pt00/JN/zAAKaYHYj/MU7HPGlBTQ4xCKFsFtWqgbbFcOhBtOG+QWBg==", "integrity": "sha512-g/ZSqkIoNBVmDhWoGUblJeee6dSVkAlVI+ZchPxffd+YhETnntS7FJ3r/SB3GD75+/cLMYRHaIZhkO5C96Wz/g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@sapphire/result": "^2.6.0" "@sapphire/result": "^2.6.0"
} }
}, },
"execa": { "execa": {
"version": "7.1.1", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz",
"integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==",
"requires": { "requires": {
"cross-spawn": "^7.0.3", "cross-spawn": "^7.0.3",
"get-stream": "^6.0.1", "get-stream": "^6.0.1",
"human-signals": "^4.3.0", "human-signals": "^3.0.1",
"is-stream": "^3.0.0", "is-stream": "^3.0.0",
"merge-stream": "^2.0.0", "merge-stream": "^2.0.0",
"npm-run-path": "^5.1.0", "npm-run-path": "^5.1.0",
@@ -3609,20 +3569,12 @@
} }
}, },
"fs-minipass": { "fs-minipass": {
"version": "3.0.2", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.1.tgz",
"integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==", "integrity": "sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==",
"dev": true, "dev": true,
"requires": { "requires": {
"minipass": "^5.0.0" "minipass": "^4.0.0"
},
"dependencies": {
"minipass": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
"integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"dev": true
}
} }
}, },
"fs.realpath": { "fs.realpath": {
@@ -3716,9 +3668,9 @@
} }
}, },
"human-signals": { "human-signals": {
"version": "4.3.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz",
"integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==" "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ=="
}, },
"humanize-ms": { "humanize-ms": {
"version": "1.2.1", "version": "1.2.1",
@@ -3971,9 +3923,9 @@
} }
}, },
"minipass": { "minipass": {
"version": "4.2.8", "version": "4.2.5",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz",
"integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==",
"dev": true "dev": true
}, },
"minipass-collect": { "minipass-collect": {
@@ -4220,17 +4172,17 @@
} }
}, },
"ora": { "ora": {
"version": "6.3.1", "version": "6.1.2",
"resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", "resolved": "https://registry.npmjs.org/ora/-/ora-6.1.2.tgz",
"integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", "integrity": "sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==",
"requires": { "requires": {
"bl": "^5.0.0",
"chalk": "^5.0.0", "chalk": "^5.0.0",
"cli-cursor": "^4.0.0", "cli-cursor": "^4.0.0",
"cli-spinners": "^2.6.1", "cli-spinners": "^2.6.1",
"is-interactive": "^2.0.0", "is-interactive": "^2.0.0",
"is-unicode-supported": "^1.1.0", "is-unicode-supported": "^1.1.0",
"log-symbols": "^5.1.0", "log-symbols": "^5.1.0",
"stdin-discarder": "^0.1.0",
"strip-ansi": "^7.0.1", "strip-ansi": "^7.0.1",
"wcwidth": "^1.0.1" "wcwidth": "^1.0.1"
} }
@@ -4305,9 +4257,9 @@
} }
}, },
"prettier": { "prettier": {
"version": "2.8.8", "version": "2.8.4",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz",
"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==",
"dev": true "dev": true
}, },
"proc-log": { "proc-log": {
@@ -4566,14 +4518,6 @@
"minipass": "^4.0.0" "minipass": "^4.0.0"
} }
}, },
"stdin-discarder": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz",
"integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==",
"requires": {
"bl": "^5.0.0"
}
},
"streamsearch": { "streamsearch": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
@@ -4737,9 +4681,9 @@
"dev": true "dev": true
}, },
"tsup": { "tsup": {
"version": "6.7.0", "version": "6.6.3",
"resolved": "https://registry.npmjs.org/tsup/-/tsup-6.7.0.tgz", "resolved": "https://registry.npmjs.org/tsup/-/tsup-6.6.3.tgz",
"integrity": "sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==", "integrity": "sha512-OLx/jFllYlVeZQ7sCHBuRVEQBBa1tFbouoc/gbYakyipjVQdWy/iQOvmExUA/ewap9iQ7tbJf9pW0PgcEFfJcQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"bundle-require": "^4.0.0", "bundle-require": "^4.0.0",
@@ -4820,15 +4764,15 @@
} }
}, },
"typescript": { "typescript": {
"version": "5.1.3", "version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"dev": true "dev": true
}, },
"undici": { "undici": {
"version": "5.22.1", "version": "5.20.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.22.1.tgz", "resolved": "https://registry.npmjs.org/undici/-/undici-5.20.0.tgz",
"integrity": "sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==", "integrity": "sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==",
"requires": { "requires": {
"busboy": "^1.6.0" "busboy": "^1.6.0"
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "@sern/cli", "name": "@sern/cli",
"version": "0.5.1", "version": "0.5.0",
"description": "Official CLI for @sern/handler", "description": "Official CLI for @sern/handler",
"exports": "./dist/index.js", "exports": "./dist/index.js",
"bin": { "bin": {
@@ -12,7 +12,7 @@
"format": "prettier --check .", "format": "prettier --check .",
"fix": "prettier --write .", "fix": "prettier --write .",
"build": "tsup", "build": "tsup",
"watch": "tsup --watch" "watch": "tsc --watch"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -30,23 +30,23 @@
"bugs": { "bugs": {
"url": "https://github.com/sern-handler/cli/issues" "url": "https://github.com/sern-handler/cli/issues"
}, },
"homepage": "https://sern-handler.js.org", "homepage": "https://sern.dev",
"dependencies": { "dependencies": {
"colorette": "2.0.20", "colorette": "^2.0.16",
"commander": "11.0.0", "commander": "^9.3.0",
"execa": "7.1.1", "execa": "^6.1.0",
"find-up": "6.3.0", "find-up": "6.3.0",
"ora": "6.3.1", "ora": "^6.1.0",
"prompts": "2.4.2", "prompts": "2.4.2",
"undici": "5.22.1" "undici": "^5.6.1"
}, },
"devDependencies": { "devDependencies": {
"@favware/npm-deprecate": "1.0.7", "@favware/npm-deprecate": "1.0.7",
"@types/prompts": "2.4.4", "@types/prompts": "2.4.3",
"esbuild-plugin-version-injector": "1.1.0", "esbuild-plugin-version-injector": "^1.0.3",
"prettier": "2.8.8", "prettier": "2.8.4",
"tsup": "6.7.0", "tsup": "^6.6.3",
"typescript": "5.1.3" "typescript": "4.9.5"
}, },
"engines": { "engines": {
"node": ">= 16.10.x" "node": ">= 16.10.x"

View File

@@ -1,7 +1,6 @@
import { cyanBright, green, magentaBright } from 'colorette'; import { cyanBright, green, magentaBright } from 'colorette';
export function help() { export const help = `
return `
___ ___ _ __ _ __ ___ ___ _ __ _ __
/ __|/ _ \\ '__| '_ \\ / __|/ _ \\ '__| '_ \\
\\__ \\ __/ | | | | | \\__ \\ __/ | | | | |
@@ -9,10 +8,9 @@ export function help() {
Welcome! Welcome!
If you're new to ${cyanBright('sern')}, run ${magentaBright( If you're new to ${cyanBright('sern')}, run ${magentaBright(
'npm create @sern/bot' 'sern init'
)} for an interactive setup to your new bot project! )} for an interactive setup to your new bot project!
${green( ${green(
`If you have any ideas, suggestions, bug reports, kindly join our support server: https://sern.dev/discord` `If you have any ideas, suggestions, bug reports, kindly join our support server: https://sern.dev/discord`
)}`; )}`;
}

View File

@@ -1,4 +1,4 @@
import { greenBright, redBright, underline, yellowBright } from 'colorette'; import { greenBright, redBright, underline } from 'colorette';
import { execa } from 'execa'; import { execa } from 'execa';
import { findUp } from 'find-up'; import { findUp } from 'find-up';
import ora from 'ora'; import ora from 'ora';
@@ -19,16 +19,7 @@ import { cloneRepo, installDeps } from '../utilities/install.js';
import { npm } from '../utilities/npm.js'; import { npm } from '../utilities/npm.js';
import type { PackageManagerChoice } from '../utilities/types.js'; import type { PackageManagerChoice } from '../utilities/types.js';
/** @deprecated Use npm create instead */
export async function init(flags: Flags) { export async function init(flags: Flags) {
console.log(
`${yellowBright(
'[WARN]:'
)} This command is deprecated, use ${greenBright(
'npm create @sern/bot'
)} instead`
);
let data: PromptData; let data: PromptData;
let git_init = true; // the default; let git_init = true; // the default;
let pm = flags.sync ? undefined : flags.y ? 'npm' : await npm(); let pm = flags.sync ? undefined : flags.y ? 'npm' : await npm();

View File

@@ -1,26 +1,53 @@
import { greenBright } from 'colorette'; import { greenBright } from 'colorette';
import fs from 'fs'; import fs from 'fs';
import prompt from 'prompts'; import prompt from 'prompts';
import { fetch } from 'undici'; import { fetch, type Response } from 'undici';
import { pluginsQ } from '../prompts/plugin.js'; import { pluginsQ } from '../prompts/plugin.js';
import { fromCwd } from '../utilities/fromCwd.js'; import { fromCwd } from '../utilities/fromCwd.js';
/** /**
* Installs plugins to project * Installs plugins to project
*/ */
export async function plugins() {
const e: string[] = (await prompt([await pluginsQ()])).list;
if (!e) process.exit(1);
for await (const url of e) { function dispatchSave() {
await download(url);
} }
const pluginNames = e.map((e) => e.split('/').pop());
console.log( function dispatchInstall() {
`Successfully downloaded plugin(s):\n${greenBright(
pluginNames.join('\n') }
)}`
); export async function plugins(options: PluginOptions) {
if(options.save) {
dispatchSave()
}
//Download instead based on names given. Must be a full filename ie: (publish)
if(options.name) {
const pluginSource = await downloa();
}
const e: string[] = (await prompt([await pluginsQ()])).list;
if (!e) process.exit(1);
for await (const url of e) {
await download(url);
}
const pluginNames = e.map((e) => e.split('/').pop());
console.log(
`Successfully downloaded plugin(s):\n${greenBright(
pluginNames.join('\n')
)}`
);
}
async function downloa(url: string | URL) {
const formatText = (res: Response) => res.text()
return fetch(url, { method: 'GET' })
.then(formatText)
.catch(() => {
throw Error('Download failed! Kindly contact developers')
})
} }
async function download(url: string) { async function download(url: string) {
@@ -30,7 +57,7 @@ async function download(url: string) {
if (!data) throw new Error('Download failed! Kindly contact developers'); if (!data) throw new Error('Download failed! Kindly contact developers');
const dir = `${fromCwd('/src/plugins')}`; const dir = fromCwd('/src/plugins');
const filedir = `${process.cwd()}/src/plugins/${url.split('/').pop()}`; const filedir = `${process.cwd()}/src/plugins/${url.split('/').pop()}`;
if (!fs.existsSync(dir)) { if (!fs.existsSync(dir)) {
@@ -38,3 +65,9 @@ async function download(url: string) {
} }
fs.writeFileSync(filedir, data); fs.writeFileSync(filedir, data);
} }
interface PluginOptions {
name?: string[];
save: boolean
}

View File

@@ -6,33 +6,32 @@ import { init } from './commands/init.js';
import { Command } from 'commander'; import { Command } from 'commander';
import { plugins } from './commands/plugins.js'; import { plugins } from './commands/plugins.js';
import { yellowBright } from 'colorette';
export const program = new Command(); export const program = new Command();
const version: string = '[VI]{{inject}}[/VI]'; const version: string = '[VI]{{inject}}[/VI]';
program program
.name('sern') .name('sern')
.description(help()) .description(help)
.version(`sern CLI v${version}`, '-v, --version') .version(`sern CLI v${version}`)
.exitOverride(() => process.exit(0)); .exitOverride(() => process.exit(0));
program program
.command(init.name) .command(init.name)
.description( .description('Quickest way to scaffold a new project')
`Quickest way to scaffold a new project ${yellowBright('[DEPRECATED]')}`
)
.option('-y', 'Finishes setup as default') .option('-y', 'Finishes setup as default')
.option('-s, --sync', 'Syncs the project and generates sern.config.json') .option('-s, --sync', 'Syncs the project and generates sern.config.json')
.action(init); .action(init);
program const pluginCommand = program.command(plugins.name)
.command(plugins.name) pluginCommand
.description( .description(
'Install plugins from https://github.com/sern-handler/awesome-plugins' 'Get plugins from https://github.com/sern-handler/awesome-plugins'
) )
.option('-n --name', 'Name of plugin') .option('-n --name <string...>', 'Name(s) of plugin to install')
.action(plugins); .option('-S --save', 'Save and keep plugins updated')
.action(plugins);
program program
.command(extra.name) .command(extra.name)
.description('Easy way to add extra things in your sern project') .description('Easy way to add extra things in your sern project')

View File

@@ -41,3 +41,5 @@ interface Data {
name: string; name: string;
download_url: string; download_url: string;
} }

View File

@@ -1 +1,10 @@
export type PackageManagerChoice = 'skip' | 'npm' | 'yarn'; export type PackageManagerChoice = 'skip' | 'npm' | 'yarn';
export interface Config {
language: string;
paths : {
base: string;
commands: string;
}
}

6
src/utilities/version.ts Normal file
View File

@@ -0,0 +1,6 @@
import { requiree } from "..";
export function version() {
const { version: v } = requiree('../../package.json');
return `@sern/cli v${v}`;
}

View File

@@ -4,14 +4,14 @@
"module": "ESNext", "module": "ESNext",
"moduleResolution": "Node", "moduleResolution": "Node",
"outDir": "dist", "outDir": "dist",
"rootDir": ".", "rootDir": "src",
"declaration": true, "declaration": true,
"declarationMap": true, "declarationMap": true,
"strict": true, "strict": true,
"esModuleInterop": true, "esModuleInterop": true,
"noImplicitAny": true, "noImplicitAny": true,
"strictNullChecks": true, "strictNullChecks": true,
"verbatimModuleSyntax": true, "importsNotUsedAsValues": "error",
"skipLibCheck": true, "skipLibCheck": true,
"forceConsistentCasingInFileNames": true "forceConsistentCasingInFileNames": true
} }

View File

@@ -1,17 +1,19 @@
import { defineConfig } from 'tsup'; import { defineConfig } from 'tsup'
import { esbuildPluginVersionInjector } from 'esbuild-plugin-version-injector'; import { esbuildPluginVersionInjector } from 'esbuild-plugin-version-injector';
const shared = { const shared = {
entry: ['src/index.ts'], entry: ['src/index.ts'],
clean: true, platform: 'node',
sourcemap: true, clean: true,
sourcemap: true,
}; };
export default defineConfig({ export default defineConfig(
format: 'esm', {
target: 'node16', format: 'esm',
tsconfig: './tsconfig.json', target: 'node16',
outDir: './dist', tsconfig: './tsconfig.json',
treeshake: true, outDir: './dist',
esbuildPlugins: [esbuildPluginVersionInjector()], treeshake: true,
platform: 'node', esbuildPlugins: [esbuildPluginVersionInjector()],
...shared, ...shared,
}); }
)