@softvisio/webview 1.0.0

Sign up to get free protection for your applications and to get access to all the features.

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
+ }