diff options
-rw-r--r-- | README.md | 61 | ||||
-rw-r--r-- | main-repo/helloworld/helloworld.js | 8 | ||||
-rw-r--r-- | main-repo/helloworld/package.json | 5 | ||||
-rw-r--r-- | main-repo/helloworld/uninstall.js | 1 | ||||
-rw-r--r-- | main-repo/pkg93/package.json | 5 | ||||
l--------- | main-repo/pkg93/pkg93.js | 1 | ||||
-rw-r--r-- | main-repo/repo.json | 8 | ||||
-rw-r--r-- | main-repo/wget93/package.json | 6 | ||||
-rw-r--r-- | main-repo/wget93/unwget93.js | 3 | ||||
-rw-r--r-- | main-repo/wget93/wget93.js | 52 | ||||
-rw-r--r-- | pkg93.js (renamed from index.js) | 22 |
11 files changed, 164 insertions, 8 deletions
@@ -1,2 +1,61 @@ # pkg93 -soon + +## Installation +Unfinished! + +## Making a repository +Firstly, make sure that [CORS is enabled on your webserver](https://enable-cors.org/server.html). +If it isn't on, your users will be unable to download packages! +Secondly you need to create a repo.json in the folder where you want your repository to be in. +Here's an example: +```json +{ + "name": "Example of a repo.json", + "motd": "This is an example repo.json", + "packages": [ + "examplepkg1", + "examplepkg2", + "examplepkg3" + ] +} +``` +Finally put all the packages in seperate folders named after the package. +The end result should look like this: +``` +example-repo +├── repo.json +├── examplepkg1 +│ │ (package files go here) +│ └── package.json +├── examplepkg2 +│ │ (package files go here) +│ └── package.json +└── examplepkg3 +│ │ (package files go here) + └── package.json +``` + +## Making a package +Firstly, you want to make a new folder called the name of the package. +Then, you want to make a file called package.json in the folder. +In it, there should be 4 keys. +- `"name"`: **Must be the same as the folder name and command name!** +- `"version"`: An array of 3 numbers, 1st number is major, 2nd number is minor, 3rd number is patch. +- `"inject"`: It should be the name of the injection script. +- `"uninstall"`: Optional, It should be the name of the uninstaller script, if it doesn't exist pkg93 will simply delete the command for you. +Here's a example: +```json +{ + "name": "examplepkg", + "version": [1, 3, 7], + "inject": "installer.js", + "uninstall": "mypointlessuninstaller.js" +} +``` +And the directory structure: +``` +examplepkg +├── package.json +├── installer.js +└── mypointlessuninstaller.js +``` diff --git a/main-repo/helloworld/helloworld.js b/main-repo/helloworld/helloworld.js new file mode 100644 index 0000000..40cd8bd --- /dev/null +++ b/main-repo/helloworld/helloworld.js @@ -0,0 +1,8 @@ +le._apps.helloworld = { + exec: function () { + $log("Hello, World!"); + }, + icon: "/c/sys/skins/w93/apps/terminal.png", + terminal: true, + hascli: true +} diff --git a/main-repo/helloworld/package.json b/main-repo/helloworld/package.json new file mode 100644 index 0000000..f5c7625 --- /dev/null +++ b/main-repo/helloworld/package.json @@ -0,0 +1,5 @@ +{ + "name": "helloworld", + "version": [1, 0, 0], + "inject": "helloworld.js" +} diff --git a/main-repo/helloworld/uninstall.js b/main-repo/helloworld/uninstall.js new file mode 100644 index 0000000..43bc525 --- /dev/null +++ b/main-repo/helloworld/uninstall.js @@ -0,0 +1 @@ +le._apps.helloworld = null; diff --git a/main-repo/pkg93/package.json b/main-repo/pkg93/package.json new file mode 100644 index 0000000..dbe1030 --- /dev/null +++ b/main-repo/pkg93/package.json @@ -0,0 +1,5 @@ +{ + "name": "pkg93", + "version": [0, 1, 0], + "inject": "pkg93.js" +} diff --git a/main-repo/pkg93/pkg93.js b/main-repo/pkg93/pkg93.js new file mode 120000 index 0000000..58d2fb8 --- /dev/null +++ b/main-repo/pkg93/pkg93.js @@ -0,0 +1 @@ +../../pkg93.js
\ No newline at end of file diff --git a/main-repo/repo.json b/main-repo/repo.json new file mode 100644 index 0000000..c066956 --- /dev/null +++ b/main-repo/repo.json @@ -0,0 +1,8 @@ +{ + "name": "pkg93 Default Repo", + "motd": "Hello, World!", + "packages": [ + "wget93", + "helloworld" + ] +} diff --git a/main-repo/wget93/package.json b/main-repo/wget93/package.json new file mode 100644 index 0000000..d96a422 --- /dev/null +++ b/main-repo/wget93/package.json @@ -0,0 +1,6 @@ +{ + "name": "wget93", + "version": [0, 1, 0], + "inject": "wget93.js", + "uninstall": "unwget93.js" +} diff --git a/main-repo/wget93/unwget93.js b/main-repo/wget93/unwget93.js new file mode 100644 index 0000000..11e0e00 --- /dev/null +++ b/main-repo/wget93/unwget93.js @@ -0,0 +1,3 @@ +$log.succes("Uninstalling wget93...");
+le._apps.wget93 = null;
+$log.succes("✔️ Uninstalled wget93.");
\ No newline at end of file diff --git a/main-repo/wget93/wget93.js b/main-repo/wget93/wget93.js new file mode 100644 index 0000000..8734730 --- /dev/null +++ b/main-repo/wget93/wget93.js @@ -0,0 +1,52 @@ +le._apps.wget93 = {
+ exec: function()
+ {
+ try {
+ if (this.arg.arguments.length == 0) {
+ $log(`wget93 v0.1.0 by 1024x2
+wget93 [url] [output]
+example: wget93 http://tobefa.ir/youhavetoha.ve /a/veryhightounderstand/rickandmor.ty
+
+NOTE: Downloading binary files doesn't work, only text.`);
+ } else if (this.arg.arguments.length != 2) {
+ throw new Error("missing url/destination");
+ } else {
+ $log.info("Downloading...");
+ var url = this.arg.arguments[0];
+ if (this.arg.arguments[1].startsWith("/a/")) {
+ var output = this.arg.arguments[1].substring(3);
+ } else {
+ var output = this.arg.arguments[1];
+ }
+ var request = new XMLHttpRequest();
+ request.addEventListener("load", function () {
+ if (request.status != 200) {
+ $log.error("❌ wget93: " + request.statusText);
+ } else {
+ $log.succes("✔️ Downloaded!");
+ $log.info("Saving...");
+ $store.set(output, request.responseText);
+ $log.succes("✔️ Saved!");
+ $explorer.refresh();
+ }
+ });
+ request.addEventListener("error", function () {
+ $log.error("❌ wget93: couldn't download file");
+ if (!!window.chrome) {
+ $log.info("This may be caused by \"Allow-Control-Allow-Origin\" garbage. <a target=\"_blank\" href=\"https://chrome.google.com/webstore/detail/nlfbmbojpeacfghkpbjhddihlkkiljbi\">Click here to download an extension that fixes this.</a>");
+ } else if (navigator.userAgent.indexOf("Firefox") > 0) {
+ $log.info("This may be caused by \"Allow-Control-Allow-Origin\" garbage. <a target=\"_blank\" href=\"https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/\">Click here to download an addon that fixes this.</a>");
+ } else {
+ $log.info("This may be caused by \"Allow-Control-Allow-Origin\" garbage.");
+ }
+ });
+ request.open("GET", url);
+ request.send();
+ }
+ } catch(error) {
+ $log.error("❌ wget93: " + error.message);
+ }
+ },
+ hascli: true,
+ terminal: true
+};
\ No newline at end of file @@ -1,9 +1,10 @@ le._apps.pkg93 = { exec: function() { - // if ur reading this can u don't hack into my pc - // kthx const args = this.arg.arguments; - const version = "le private beta"; + const version = "v0.1.0"; + if (localStorage[".config/pkg93.json"] == undefined) { + localStorage[".config/pkg93.json"] = '{"sources": [], "pkgs": [], "cache": []}'; + } if (args.length == 0) { $log.info(`pkg93 ${version} help`); $log(`Usage: pkg93 [command] @@ -20,10 +21,17 @@ help Gets help for a command Examples: pkg93 get gud pkg93 rm kebab -pkg93 help ivefallenandicantgetup -`); +pkg93 help ivefallenandicantgetup`); + } else { + if (args[0] == "update") { + var config = JSON.parse(localStorage[".config/pkg93.json"]); + config.sources.forEach((value) => { + + }); + } } }, - icon: "/c/", - terminal: true + icon: "/c/sys/skins/w93/install.png", + terminal: true, + hascli: true } |