From 7e14bf28f2fbd11d08020dc5cc82520389d0368e Mon Sep 17 00:00:00 2001 From: Fabian-Lars Date: Wed, 15 Nov 2023 13:00:01 +0000 Subject: [PATCH] fix(updater): Use escaped installer path to start the nsis updater (#727) Port of v1 change: https://github.com/tauri-apps/tauri/pull/7956 Committed via a GitHub action: https://github.com/tauri-apps/plugins-workspace/actions/runs/6877612128 Co-authored-by: amrbashir --- dist-js/{index.min.js => index.cjs} | 68 ++++++++--------------------- dist-js/{index.mjs => index.js} | 1 - dist-js/index.min.js.map | 1 - dist-js/index.mjs.map | 1 - node_modules/tslib | 1 - package.json | 11 +---- rollup.config.js | 7 +++ rollup.config.mjs | 11 ----- src/api-iife.js | 2 +- 9 files changed, 29 insertions(+), 74 deletions(-) rename dist-js/{index.min.js => index.cjs} (58%) rename dist-js/{index.mjs => index.js} (98%) delete mode 100644 dist-js/index.min.js.map delete mode 100644 dist-js/index.mjs.map delete mode 120000 node_modules/tslib create mode 100644 rollup.config.js delete mode 100644 rollup.config.mjs diff --git a/dist-js/index.min.js b/dist-js/index.cjs similarity index 58% rename from dist-js/index.min.js rename to dist-js/index.cjs index 1c95af9..7684bba 100644 --- a/dist-js/index.min.js +++ b/dist-js/index.cjs @@ -1,43 +1,6 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol */ - - -typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; -}; +'use strict'; -/** - * Sends a message to the backend. - * @example - * ```typescript - * import { invoke } from '@tauri-apps/api/primitives'; - * await invoke('login', { user: 'tauri', password: 'poiwe3h4r5ip3yrhtew9ty' }); - * ``` - * - * @param cmd The command name. - * @param args The optional arguments to pass to the command. - * @param options The request options. - * @return A promise resolving or rejecting to the backend response. - * - * @since 1.0.0 - */ -async function invoke(cmd, args = {}, options) { - return window.__TAURI_INTERNALS__.invoke(cmd, args, options); -} +var primitives = require('@tauri-apps/api/primitives'); // Copyright 2019-2023 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 @@ -71,7 +34,7 @@ function eol() { * */ async function platform() { - return invoke("plugin:os|platform"); + return primitives.invoke("plugin:os|platform"); } /** * Returns the current operating system version. @@ -84,7 +47,7 @@ async function platform() { * @since 2.0.0 */ async function version() { - return invoke("plugin:os|version"); + return primitives.invoke("plugin:os|version"); } /** * Returns the current operating system family. Possible values are `'unix'`, `'windows'`. @@ -97,7 +60,7 @@ async function version() { * @since 2.0.0 */ async function family() { - return invoke("plugin:os|family"); + return primitives.invoke("plugin:os|family"); } /** * Returns the current operating system type. Returns `'linux'` on Linux, `'macos'` on macOS, `'windows'` on Windows, `'ios'` on iOS and `'android'` on Android. @@ -110,7 +73,7 @@ async function family() { * @since 2.0.0 */ async function type() { - return invoke("plugin:os|os_type"); + return primitives.invoke("plugin:os|os_type"); } /** * Returns the current operating system architecture. @@ -124,7 +87,7 @@ async function type() { * @since 2.0.0 */ async function arch() { - return invoke("plugin:os|arch"); + return primitives.invoke("plugin:os|arch"); } /** * Returns a String with a `BCP-47` language tag inside. If the locale couldn’t be obtained, `null` is returned instead. @@ -140,7 +103,7 @@ async function arch() { * @since 2.0.0 */ async function locale() { - return invoke("plugin:os|locale"); + return primitives.invoke("plugin:os|locale"); } /** * Returns the file extension, if any, used for executable binaries on this platform. Possible values are `'exe'` and `''` (empty string). @@ -153,7 +116,7 @@ async function locale() { * @since 2.0.0 */ async function exeExtension() { - return invoke("plugin:os|exe_extension"); + return primitives.invoke("plugin:os|exe_extension"); } /** * Returns the host name of the operating system. @@ -164,8 +127,15 @@ async function exeExtension() { * ``` */ async function hostname() { - return invoke("plugin:os|hostname"); + return primitives.invoke("plugin:os|hostname"); } -export { arch, eol, exeExtension, family, hostname, locale, platform, type, version }; -//# sourceMappingURL=index.min.js.map +exports.arch = arch; +exports.eol = eol; +exports.exeExtension = exeExtension; +exports.family = family; +exports.hostname = hostname; +exports.locale = locale; +exports.platform = platform; +exports.type = type; +exports.version = version; diff --git a/dist-js/index.mjs b/dist-js/index.js similarity index 98% rename from dist-js/index.mjs rename to dist-js/index.js index 76e1309..b8e6f4e 100644 --- a/dist-js/index.mjs +++ b/dist-js/index.js @@ -129,4 +129,3 @@ async function hostname() { } export { arch, eol, exeExtension, family, hostname, locale, platform, type, version }; -//# sourceMappingURL=index.mjs.map diff --git a/dist-js/index.min.js.map b/dist-js/index.min.js.map deleted file mode 100644 index 8e00e7b..0000000 --- a/dist-js/index.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.min.js","sources":["../../../node_modules/.pnpm/@tauri-apps+api@2.0.0-alpha.11/node_modules/@tauri-apps/api/external/tslib/tslib.es6.js","../../../node_modules/.pnpm/@tauri-apps+api@2.0.0-alpha.11/node_modules/@tauri-apps/api/primitives.js","../guest-js/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nexport { __classPrivateFieldGet, __classPrivateFieldSet };\n","import { __classPrivateFieldGet, __classPrivateFieldSet } from './external/tslib/tslib.es6.js';\n\n// Copyright 2019-2023 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\nvar _Channel_onmessage;\n/**\n * Invoke your custom commands.\n *\n * This package is also accessible with `window.__TAURI__.tauri` when [`build.withGlobalTauri`](https://tauri.app/v1/api/config/#buildconfig.withglobaltauri) in `tauri.conf.json` is set to `true`.\n * @module\n */\n/**\n * Transforms a callback function to a string identifier that can be passed to the backend.\n * The backend uses the identifier to `eval()` the callback.\n *\n * @return A unique identifier associated with the callback function.\n *\n * @since 1.0.0\n */\nfunction transformCallback(callback, once = false) {\n return window.__TAURI_INTERNALS__.transformCallback(callback, once);\n}\nclass Channel {\n constructor() {\n // @ts-expect-error field used by the IPC serializer\n this.__TAURI_CHANNEL_MARKER__ = true;\n _Channel_onmessage.set(this, () => {\n // no-op\n });\n this.id = transformCallback((response) => {\n __classPrivateFieldGet(this, _Channel_onmessage, \"f\").call(this, response);\n });\n }\n set onmessage(handler) {\n __classPrivateFieldSet(this, _Channel_onmessage, handler, \"f\");\n }\n get onmessage() {\n return __classPrivateFieldGet(this, _Channel_onmessage, \"f\");\n }\n toJSON() {\n return `__CHANNEL__:${this.id}`;\n }\n}\n_Channel_onmessage = new WeakMap();\nclass PluginListener {\n constructor(plugin, event, channelId) {\n this.plugin = plugin;\n this.event = event;\n this.channelId = channelId;\n }\n async unregister() {\n return invoke(`plugin:${this.plugin}|remove_listener`, {\n event: this.event,\n channelId: this.channelId\n });\n }\n}\n/**\n * Adds a listener to a plugin event.\n *\n * @returns The listener object to stop listening to the events.\n *\n * @since 2.0.0\n */\nasync function addPluginListener(plugin, event, cb) {\n const handler = new Channel();\n handler.onmessage = cb;\n return invoke(`plugin:${plugin}|register_listener`, { event, handler }).then(() => new PluginListener(plugin, event, handler.id));\n}\n/**\n * Sends a message to the backend.\n * @example\n * ```typescript\n * import { invoke } from '@tauri-apps/api/primitives';\n * await invoke('login', { user: 'tauri', password: 'poiwe3h4r5ip3yrhtew9ty' });\n * ```\n *\n * @param cmd The command name.\n * @param args The optional arguments to pass to the command.\n * @param options The request options.\n * @return A promise resolving or rejecting to the backend response.\n *\n * @since 1.0.0\n */\nasync function invoke(cmd, args = {}, options) {\n return window.__TAURI_INTERNALS__.invoke(cmd, args, options);\n}\n/**\n * Convert a device file path to an URL that can be loaded by the webview.\n * Note that `asset:` and `http://asset.localhost` must be added to [`tauri.security.csp`](https://tauri.app/v1/api/config/#securityconfig.csp) in `tauri.conf.json`.\n * Example CSP value: `\"csp\": \"default-src 'self' ipc: http://ipc.localhost; img-src 'self' asset: http://asset.localhost\"` to use the asset protocol on image sources.\n *\n * Additionally, `asset` must be added to [`tauri.allowlist.protocol`](https://tauri.app/v1/api/config/#allowlistconfig.protocol)\n * in `tauri.conf.json` and its access scope must be defined on the `assetScope` array on the same `protocol` object.\n *\n * @param filePath The file path.\n * @param protocol The protocol to use. Defaults to `asset`. You only need to set this when using a custom protocol.\n * @example\n * ```typescript\n * import { appDataDir, join } from '@tauri-apps/api/path';\n * import { convertFileSrc } from '@tauri-apps/api/primitives';\n * const appDataDirPath = await appDataDir();\n * const filePath = await join(appDataDirPath, 'assets/video.mp4');\n * const assetUrl = convertFileSrc(filePath);\n *\n * const video = document.getElementById('my-video');\n * const source = document.createElement('source');\n * source.type = 'video/mp4';\n * source.src = assetUrl;\n * video.appendChild(source);\n * video.load();\n * ```\n *\n * @return the URL that can be used as source on the webview.\n *\n * @since 1.0.0\n */\nfunction convertFileSrc(filePath, protocol = 'asset') {\n return window.__TAURI_INTERNALS__.convertFileSrc(filePath, protocol);\n}\n\nexport { Channel, PluginListener, addPluginListener, convertFileSrc, invoke, transformCallback };\n",null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAcA;AACA,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE;AAChG,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;AACrF,CAAC;;ACqCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE;AAC/C,IAAI,OAAO,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACjE;;ACvFA;AACA;AACA;AAEA;;;;AAIG;AAwCH;;;;;;AAMK;AACL,SAAS,GAAG,GAAA;AACV,IAAA,OAAO,MAAM,CAAC,6BAA6B,CAAC,GAAG,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;AAYG;AACH,eAAe,QAAQ,GAAA;AACrB,IAAA,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;AASG;AACH,eAAe,OAAO,GAAA;AACpB,IAAA,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACrC,CAAC;AAID;;;;;;;;;AASG;AACH,eAAe,MAAM,GAAA;AACnB,IAAA,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;AASG;AACH,eAAe,IAAI,GAAA;AACjB,IAAA,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;AAUG;AACH,eAAe,IAAI,GAAA;AACjB,IAAA,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;AAYG;AACH,eAAe,MAAM,GAAA;AACnB,IAAA,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;AASG;AACH,eAAe,YAAY,GAAA;AACzB,IAAA,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;AAOG;AACH,eAAe,QAAQ,GAAA;AACrB,IAAA,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACtC;;;;","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/dist-js/index.mjs.map b/dist-js/index.mjs.map deleted file mode 100644 index 0963a82..0000000 --- a/dist-js/index.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.mjs","sources":["../guest-js/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACA;AACA;AAEA;;;;AAIG;AAwCH;;;;;;AAMK;AACL,SAAS,GAAG,GAAA;AACV,IAAA,OAAO,MAAM,CAAC,6BAA6B,CAAC,GAAG,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;AAYG;AACH,eAAe,QAAQ,GAAA;AACrB,IAAA,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;AASG;AACH,eAAe,OAAO,GAAA;AACpB,IAAA,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACrC,CAAC;AAID;;;;;;;;;AASG;AACH,eAAe,MAAM,GAAA;AACnB,IAAA,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;AASG;AACH,eAAe,IAAI,GAAA;AACjB,IAAA,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;AAUG;AACH,eAAe,IAAI,GAAA;AACjB,IAAA,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;AAYG;AACH,eAAe,MAAM,GAAA;AACnB,IAAA,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;AASG;AACH,eAAe,YAAY,GAAA;AACzB,IAAA,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;AAOG;AACH,eAAe,QAAQ,GAAA;AACrB,IAAA,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACtC;;;;"} \ No newline at end of file diff --git a/node_modules/tslib b/node_modules/tslib deleted file mode 120000 index 7af52f1..0000000 --- a/node_modules/tslib +++ /dev/null @@ -1 +0,0 @@ -../../../node_modules/.pnpm/tslib@2.6.0/node_modules/tslib \ No newline at end of file diff --git a/package.json b/package.json index 0bd95ae..df6e959 100644 --- a/package.json +++ b/package.json @@ -6,26 +6,19 @@ "Tauri Programme within The Commons Conservancy" ], "type": "module", - "browser": "dist-js/index.min.js", - "module": "dist-js/index.mjs", - "types": "dist-js/index.d.ts", "exports": { - "import": "./dist-js/index.mjs", "types": "./dist-js/index.d.ts", - "browser": "./dist-js/index.min.js" + "import": "./dist-js/index.js", + "require": "./dist-js/index.cjs" }, "scripts": { "build": "rollup -c" }, "files": [ "dist-js", - "!dist-js/**/*.map", "README.md", "LICENSE" ], - "devDependencies": { - "tslib": "2.6.0" - }, "dependencies": { "@tauri-apps/api": "2.0.0-alpha.11" } diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..977dfac --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,7 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +import { createConfig } from "../../shared/rollup.config.js"; + +export default createConfig(); diff --git a/rollup.config.mjs b/rollup.config.mjs deleted file mode 100644 index 99a3dd3..0000000 --- a/rollup.config.mjs +++ /dev/null @@ -1,11 +0,0 @@ -import { readFileSync } from "fs"; - -import { createConfig } from "../../shared/rollup.config.mjs"; - -export default createConfig({ - input: "guest-js/index.ts", - pkg: JSON.parse( - readFileSync(new URL("./package.json", import.meta.url), "utf8"), - ), - external: [/^@tauri-apps\/api/], -}); diff --git a/src/api-iife.js b/src/api-iife.js index b7728d8..ef02e2d 100644 --- a/src/api-iife.js +++ b/src/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_OS__=function(n){"use strict";async function o(n,o={},e){return window.__TAURI_INTERNALS__.invoke(n,o,e)}return"function"==typeof SuppressedError&&SuppressedError,n.arch=async function(){return o("plugin:os|arch")},n.eol=function(){return window.__TAURI_OS_PLUGIN_INTERNALS__.eol},n.exeExtension=async function(){return o("plugin:os|exe_extension")},n.family=async function(){return o("plugin:os|family")},n.hostname=async function(){return o("plugin:os|hostname")},n.locale=async function(){return o("plugin:os|locale")},n.platform=async function(){return o("plugin:os|platform")},n.type=async function(){return o("plugin:os|os_type")},n.version=async function(){return o("plugin:os|version")},n}({});Object.defineProperty(window.__TAURI__,"os",{value:__TAURI_OS__})} +if("__TAURI__"in window){var __TAURI_PLUGIN_OS__=function(n){"use strict";async function o(n,o={},e){return window.__TAURI_INTERNALS__.invoke(n,o,e)}return"function"==typeof SuppressedError&&SuppressedError,n.arch=async function(){return o("plugin:os|arch")},n.eol=function(){return window.__TAURI_OS_PLUGIN_INTERNALS__.eol},n.exeExtension=async function(){return o("plugin:os|exe_extension")},n.family=async function(){return o("plugin:os|family")},n.hostname=async function(){return o("plugin:os|hostname")},n.locale=async function(){return o("plugin:os|locale")},n.platform=async function(){return o("plugin:os|platform")},n.type=async function(){return o("plugin:os|os_type")},n.version=async function(){return o("plugin:os|version")},n}({});Object.defineProperty(window.__TAURI__,"os",{value:__TAURI_PLUGIN_OS__})}