From e1fbe7471b01f2cc06ea9437125631a414facd01 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Wed, 19 Apr 2023 20:56:15 -0600 Subject: [PATCH] add API polyfill to kiss-firefox --- kiss/src/kiss/Main.hx | 2 +- projects/kiss-firefox/haxelib.json | 16 ++++++++++++++++ projects/kiss-firefox/src/kiss_firefox/API.hx | 7 +++++++ projects/kiss-firefox/template/.gitignore | 2 ++ projects/kiss-firefox/template/build.hxml | 3 ++- projects/kiss-firefox/template/manifest.json | 2 +- projects/kiss-firefox/template/package.json | 3 ++- .../template/src/template/Main_.kiss | 1 + 8 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 projects/kiss-firefox/haxelib.json create mode 100644 projects/kiss-firefox/src/kiss_firefox/API.hx diff --git a/kiss/src/kiss/Main.hx b/kiss/src/kiss/Main.hx index c15458b3..4aa780b3 100644 --- a/kiss/src/kiss/Main.hx +++ b/kiss/src/kiss/Main.hx @@ -288,7 +288,7 @@ class Main { packageJson.description = description; File.saveContent(packageFile, Json.stringify(packageJson, null, "\t")); } - makeFileForNewProject(["test.sh"]) + makeFileForNewProject(["test.sh"]); } static function convert(args:Array) { diff --git a/projects/kiss-firefox/haxelib.json b/projects/kiss-firefox/haxelib.json new file mode 100644 index 00000000..fe4cd5d2 --- /dev/null +++ b/projects/kiss-firefox/haxelib.json @@ -0,0 +1,16 @@ +{ + "name": "kiss-firefox", + "description": "Make Firefox extensions with Kisslang", + "classPath": "src/", + "dependencies": { + "kiss": "" + }, + "url": "https://github.com/NQNStudios/kisslang", + "contributors": [ + "NQNStudios" + ], + "version": "0.0.0", + "releasenote": "", + "tags": [], + "license": "LGPL" +} \ No newline at end of file diff --git a/projects/kiss-firefox/src/kiss_firefox/API.hx b/projects/kiss-firefox/src/kiss_firefox/API.hx new file mode 100644 index 00000000..e60a43b2 --- /dev/null +++ b/projects/kiss-firefox/src/kiss_firefox/API.hx @@ -0,0 +1,7 @@ +package kiss_firefox; + +@:native("") +extern class API { + @:native("browser") + static var browser:webextension_polyfill.Browser; +} \ No newline at end of file diff --git a/projects/kiss-firefox/template/.gitignore b/projects/kiss-firefox/template/.gitignore index bdf11727..39140054 100644 --- a/projects/kiss-firefox/template/.gitignore +++ b/projects/kiss-firefox/template/.gitignore @@ -1,2 +1,4 @@ bin/ +libs/ +node_modules/ *.zip \ No newline at end of file diff --git a/projects/kiss-firefox/template/build.hxml b/projects/kiss-firefox/template/build.hxml index 6c934eae..8621660e 100644 --- a/projects/kiss-firefox/template/build.hxml +++ b/projects/kiss-firefox/template/build.hxml @@ -1,7 +1,8 @@ -lib kiss +-lib kiss-firefox -lib webextension-polyfill -cp src -dce full --main template.Main --js bin/main.js --cmd zip -r template.zip . -x *.git* -x *.hxml -x *.zip -x src/\* -x node_modules/\* \ No newline at end of file +-cmd cp node_modules/webextension-polyfill/dist/browser-polyfill.js* bin/ && zip -r template.zip . -x *.git* -x *.hxml -x *.zip -x src/\* -x node_modules/\* -x libs/\* -x test.sh \ No newline at end of file diff --git a/projects/kiss-firefox/template/manifest.json b/projects/kiss-firefox/template/manifest.json index d00fecdb..d3410331 100644 --- a/projects/kiss-firefox/template/manifest.json +++ b/projects/kiss-firefox/template/manifest.json @@ -13,7 +13,7 @@ "content_scripts": [ { "matches": [], - "js": ["bin/main.js"] + "js": ["bin/browser-polyfill.js", "bin/main.js"] } ] } diff --git a/projects/kiss-firefox/template/package.json b/projects/kiss-firefox/template/package.json index df4e86f3..a67e4dfb 100644 --- a/projects/kiss-firefox/template/package.json +++ b/projects/kiss-firefox/template/package.json @@ -7,7 +7,8 @@ "postinstall": "dts2hx --all" }, "dependencies": { - "@types/webextension-polyfill": "^0.10.0" + "@types/webextension-polyfill": "^0.10.0", + "webextension-polyfill": "^0.10.0" }, "devDependencies": { "dts2hx": "^0.19.0" diff --git a/projects/kiss-firefox/template/src/template/Main_.kiss b/projects/kiss-firefox/template/src/template/Main_.kiss index eac1a751..e17e9839 100644 --- a/projects/kiss-firefox/template/src/template/Main_.kiss +++ b/projects/kiss-firefox/template/src/template/Main_.kiss @@ -1 +1,2 @@ +(import kiss_firefox.API) (set js.Lib.global.document.body.style.border "5px solid red") \ No newline at end of file