@softvisio/webview 1.0.0

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.

Potentially problematic release.


This version of @softvisio/webview might be problematic. Click here for more details.

package/.editorconfig ADDED
@@ -0,0 +1,16 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 4
6
+ end_of_line = lf
7
+ charset = utf-8
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+ max_line_length = 99999999
11
+
12
+ [*.{yml,yaml}]
13
+ indent_size = 2
14
+
15
+ [Makefile]
16
+ indent_style = tab
package/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ # Changelog
2
+
3
+ ### 1.0.0 (2022-04-16)
4
+
5
+ Fixes:
6
+
7
+ - fix: build
8
+
9
+ Migration:
package/README.md ADDED
@@ -0,0 +1,50 @@
1
+ <!-- !!! DO NOT EDIT, THIS FILE IS GENERATED AUTOMATICALLY !!! -->
2
+
3
+ > :information_source: Please, see the full project documentation here: [https://softvisio.github.io/webview/](https://softvisio.github.io/webview/).
4
+
5
+ # Introduction
6
+
7
+ `NodeJS` wrapper for [webview](https://github.com/webview/webview).
8
+
9
+ Compiled binaries: [suchipi/webview](https://github.com/suchipi/webview).
10
+
11
+ ## Install
12
+
13
+ ```shell
14
+ npm i @softvisio/webview
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ ```javascript
20
+ import WebView from "@softvisio/webview";
21
+
22
+ const webView = new WebView("https://example.com/", { title: "Example", width: 400, height: 400 });
23
+
24
+ webView.destroy();
25
+ ```
26
+
27
+ ## Notes
28
+
29
+ ### Windows
30
+
31
+ On windows, the webview will not be able to access localhost unless the following command has been run as administrator at least once before:
32
+
33
+ ```shell
34
+ checknetisolation.exe LoopbackExempt -a -n=Microsoft.Win32WebViewHost_cw5n1h2txyewy
35
+ ```
36
+
37
+ ```shell
38
+ curl -sSLO https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
39
+ nuget.exe install Microsoft.Web.Webview2 -OutputDirectory script
40
+
41
+ cl -DSFML_STATIC /std:c++17 /EHsc /I script\Microsoft.Web.WebView2.1.0.1185.39\build\native\include script\Microsoft.Web.WebView2.1.0.1185.39\build\native\x64\WebView2Loader.dll.lib main.cc /link /out:webview.exe
42
+ ```
43
+
44
+ ### Linux
45
+
46
+ On Linux, you need to install GTK3 and GtkWebkit2.
47
+
48
+ ```shell
49
+ sudo apt-get install libwebkit2gtk-4.0-dev
50
+ ```
@@ -0,0 +1,5 @@
1
+ logo: false
2
+
3
+ externalTypes:
4
+ - https://softvisio.github.io/core/
5
+ - https://softvisio.github.io/result/
package/docs/.nojekyll ADDED
File without changes
package/docs/README.md ADDED
@@ -0,0 +1,46 @@
1
+ # Introduction
2
+
3
+ `NodeJS` wrapper for [webview](https://github.com/webview/webview).
4
+
5
+ Compiled binaries: [suchipi/webview](https://github.com/suchipi/webview).
6
+
7
+ ## Install
8
+
9
+ ```shell
10
+ npm i @softvisio/webview
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```javascript
16
+ import WebView from "@softvisio/webview";
17
+
18
+ const webView = new WebView("https://example.com/", { title: "Example", width: 400, height: 400 });
19
+
20
+ webView.destroy();
21
+ ```
22
+
23
+ ## Notes
24
+
25
+ ### Windows
26
+
27
+ On windows, the webview will not be able to access localhost unless the following command has been run as administrator at least once before:
28
+
29
+ ```shell
30
+ checknetisolation.exe LoopbackExempt -a -n=Microsoft.Win32WebViewHost_cw5n1h2txyewy
31
+ ```
32
+
33
+ ```shell
34
+ curl -sSLO https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
35
+ nuget.exe install Microsoft.Web.Webview2 -OutputDirectory script
36
+
37
+ cl -DSFML_STATIC /std:c++17 /EHsc /I script\Microsoft.Web.WebView2.1.0.1185.39\build\native\include script\Microsoft.Web.WebView2.1.0.1185.39\build\native\x64\WebView2Loader.dll.lib main.cc /link /out:webview.exe
38
+ ```
39
+
40
+ ### Linux
41
+
42
+ On Linux, you need to install GTK3 and GtkWebkit2.
43
+
44
+ ```shell
45
+ sudo apt-get install libwebkit2gtk-4.0-dev
46
+ ```
@@ -0,0 +1,11 @@
1
+ - [Introduction](/)
2
+
3
+ **API**
4
+
5
+ - [Introduction](/api.md)
6
+ - [API v1](/api-v1.md)
7
+ - [RPC v1](/rpc-v1.md)
8
+
9
+ **Links**
10
+
11
+ - [Changelog](/changelog)
@@ -0,0 +1,37 @@
1
+ <!DOCTYPE html>
2
+
3
+ <!-- !!! DO NOT EDIT, THIS FILE IS GENERATED AUTOMATICALLY !!! -->
4
+
5
+ <html>
6
+ <head>
7
+ <meta charset="UTF-8" />
8
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
9
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
10
+
11
+ <link rel="stylesheet" id="lightTheme" href="https://cdn.jsdelivr.net/npm/docsify-themeable/dist/css/theme-simple.css" />
12
+ <link rel="stylesheet" id="darkTheme" href="https://cdn.jsdelivr.net/npm/docsify-themeable/dist/css/theme-simple-dark.css" />
13
+ <link rel="stylesheet" href="https://softvisio.github.io/cli/assets/theme/theme.css" />
14
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" />
15
+ </head>
16
+ <body>
17
+ <nav>
18
+ <a href="#/changelog">Changelog</a> • <a href="https://github.com/softvisio/webview/discussions" title="Discussions"><i class="fa-regular fa-comments"></i></a> • <a href="https://github.com/softvisio/webview/issues" title="Issues"><i class="fa-solid fa-bug"></i></a> • <a href="https://www.npmjs.com/package/@softvisio/webview" title="NPM package"><i class="fa-brands fa-npm"></i></a> • <a href="#toggleTheme"><i class="fa-solid fa-adjust"></i> Theme</a>
19
+ </nav>
20
+ <div id="app"></div>
21
+ <div id="gotoTop"><a href="#gotoTop">🡡 Top</a></div>
22
+
23
+ <script>
24
+ window.$docsify = { alias: { "/changelog": "https://raw.githubusercontent.com/softvisio/webview/master/CHANGELOG.md" }, auto2top: true, externalLinkTarget: "_self", loadSidebar: true, maxLevel: 2, name: "@softvisio/webview", relativePath: true, repo: "https://github.com/softvisio/webview", search: { depth: 3 }, subMaxLevel: 2, tabs: {} };
25
+ </script>
26
+
27
+ <script src="https://softvisio.github.io/cli/assets/theme/theme.js"></script>
28
+ <script src="https://cdn.jsdelivr.net/npm/docsify"></script>
29
+ <script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-bash.min.js"></script>
30
+ <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
31
+ <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
32
+ <script src="https://cdn.jsdelivr.net/npm/docsify-tabs"></script>
33
+ <script src="https://cdn.jsdelivr.net/npm/docsify-copy-code"></script>
34
+ <script src="https://cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>
35
+ <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/external-script.min.js"></script>
36
+ </body>
37
+ </html>
Binary file
Binary file
Binary file
Binary file
Binary file
package/lib/index.js ADDED
@@ -0,0 +1,55 @@
1
+ import childProcess from "child_process";
2
+
3
+ const BINARIES = {
4
+ "win32": "webview.exe",
5
+ "linux": "webview",
6
+ "darwin": "webview",
7
+ };
8
+
9
+ var WIN32_ISOLATION;
10
+
11
+ export default class WebView {
12
+ #proc;
13
+
14
+ constructor ( url, { title, width, height } = {} ) {
15
+ if ( this.#proc ) return;
16
+
17
+ if ( !WIN32_ISOLATION ) {
18
+ const stdout = childProcess.execFileSync( "checknetisolation.exe", ["LoopbackExempt", "-s"], { "windowsHide": true, "encoding": "utf8" } );
19
+
20
+ if ( !stdout.includes( "microsoft.win32webviewhost_cw5n1h2txyewy" ) ) {
21
+ childProcess.execFileSync( "hstart.exe", ["/ELEVATE", "/NOCONSOLE", "checknetisolation.exe LoopbackExempt -a -n=Microsoft.Win32WebViewHost_cw5n1h2txyewy"], { "windowsHide": true, "encoding": "utf8" } );
22
+
23
+ WIN32_ISOLATION = true;
24
+ }
25
+ else {
26
+ WIN32_ISOLATION = true;
27
+ }
28
+ }
29
+
30
+ const args = ["--url", url];
31
+ if ( title ) args.push( "--title", title );
32
+ if ( width ) args.push( "--width", width );
33
+ if ( height ) args.push( "--height", height );
34
+
35
+ this.#proc = this.#proc = childProcess.execFile( BINARIES[process.platform], args, { "cwd": new URL( `binaries/${process.platform}`, import.meta.url ) } );
36
+
37
+ // public
38
+ this.#proc.once( "close", () => {
39
+ this.#proc = null;
40
+ } );
41
+ }
42
+
43
+ // properties
44
+ isStarted () {
45
+ return !!this.#proc;
46
+ }
47
+
48
+ destroy () {
49
+ if ( !this.#proc ) return;
50
+
51
+ this.#proc.kill();
52
+
53
+ this.#proc = null;
54
+ }
55
+ }
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@softvisio/webview",
3
+ "version": "1.0.0",
4
+ "description": "Webview bindings",
5
+ "keywords": [
6
+ "softvisio",
7
+ "webview"
8
+ ],
9
+ "homepage": "https://softvisio.github.io/webview/",
10
+ "bugs": {
11
+ "url": "https://github.com/softvisio/webview/issues",
12
+ "email": "zdm <zdm@softvisio.net>"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/softvisio/webview.git"
17
+ },
18
+ "license": "ISC",
19
+ "author": "zdm <zdm@softvisio.net>",
20
+ "type": "module",
21
+ "imports": {
22
+ "#lib/*": "./lib/*.js"
23
+ },
24
+ "exports": {
25
+ ".": "./lib/index.js"
26
+ }
27
+ }