From e8375b8c575a6bc9e5f51aed7b254d5e5a4902c3 Mon Sep 17 00:00:00 2001 From: Sebastian Wiesner Date: Thu, 1 Oct 2020 21:45:47 +0200 Subject: [PATCH 1/4] Polish settings widget Improve layout with better alignment and spaces, and more structure. Add about page with some important links and license text --- package.json | 2 +- prefs.js | 17 ++- prefs.xml | 410 +++++++++++++++++++++++++++++++++++---------------- 3 files changed, 293 insertions(+), 136 deletions(-) diff --git a/package.json b/package.json index d500344..ae40e0e 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "compile": "tsc", "compile:schemas": "glib-compile-schemas --strict schemas/", "format": "prettier *.ts *.json prefs.js .eslintrc.json", - "package": "gnome-extensions pack --extra-source utils.js --extra-source prefs.xml", + "package": "gnome-extensions pack --extra-source utils.js --extra-source prefs.xml --extra-source LICENSE", "nested": "dbus-run-session -- gnome-shell --nested --wayland" } } diff --git a/prefs.js b/prefs.js index 9a34618..e647b10 100644 --- a/prefs.js +++ b/prefs.js @@ -24,6 +24,7 @@ // top-level, because typescript considers all files as single project with one // common top scope. Hence we can't redefine imports, etc. +const ByteArray = imports.byteArray; const Gtk = imports.gi.Gtk; const Gio = imports.gi.Gio; @@ -40,24 +41,30 @@ function buildPrefsWidget() { buildable.add_from_file(Self.dir.get_child("prefs.xml").get_path()); const box = buildable.get_object("prefs_widget"); - const version_label = buildable.get_object("version_info"); - version_label.set_text(`[VSCode-Search-Provider v${Self.metadata.version}]`); + const license = ByteArray.toString( + Self.dir.get_child("LICENSE").load_contents(null)[1] + ); + const about_license_buffer = buildable.get_object("about_license_buffer"); + about_license_buffer.set_text(license, -1); + + const about_version_label = buildable.get_object("about_version_label"); + about_version_label.set_text(`Version ${Self.metadata.version}`); settings.bind( "show-workspaces", - buildable.get_object("field_workspaces"), + buildable.get_object("show_workspaces_switch"), "active", Gio.SettingsBindFlags.DEFAULT ); settings.bind( "show-files", - buildable.get_object("field_files"), + buildable.get_object("show_files_switch"), "active", Gio.SettingsBindFlags.DEFAULT ); settings.bind( "search-prefix", - buildable.get_object("search_prefix"), + buildable.get_object("search_prefix_entry"), "text", Gio.SettingsBindFlags.DEFAULT ); diff --git a/prefs.xml b/prefs.xml index 895446a..df5b7e0 100644 --- a/prefs.xml +++ b/prefs.xml @@ -1,4 +1,5 @@ + + False - + + True False + 12 + 12 + 12 + 12 vertical - 18 + 12 - + + True False - vertical - 6 + 0 + in - + + True False - 12 + 12 + 12 + 12 + 12 - + False - start - True - Search results - - - + 12 + + + False + start + True + Search prefix + + + False + True + 0 + + + + + True + True + search prefix + + + True + True + 1 + + - - False - True - 0 - - - - - False - start - False - Version info placeholder - - - False - True - 1 - - - False - True - 0 - - - + + + True False - 12 - 12 - - - False - start - True - Show workspaces - - - False - True - 0 - - - - - False - True - - - False - True - 1 - - + Search settings - - False - True - 1 - + + + False + True + 0 + + + + + True + False + 0 + in - + + True False - 12 - 12 + 12 + 12 + 12 + 12 - - False - start - True - Show files - - - False - True - 0 - - - - + + True False - True + vertical + + + False + 12 + 12 + 12 + + + False + start + True + Show workspaces + + + False + True + 0 + + + + + True + True + + + False + True + 1 + + + + + False + True + 0 + + + + + False + 12 + 12 + 12 + + + False + start + True + Show files + + + False + True + 0 + + + + + True + True + + + False + True + 1 + + + + + False + True + 1 + + - - False - True - 1 - - - False - True - 2 - + + + True + False + Search results + + + + + False + True + 1 + + + + + + + False + Basic settings + + + False + + + + + True + False + 12 + 12 + 12 + 12 + vertical + 12 + + + True + False + <b>VSCode Search Provider</b> + True + + + False + True + 0 + + + + + True + False + Search for recent VSCode files and workspaces from Gnome Shell + + + False + True + 1 + + + + + True + False + Version + + + False + True + 2 + + + + + Github + True + True + True + none + https://github.com/Jomik/vscode-search-provider + + + False + True + 3 + + + + + Issue Tracker + True + True + True + none + https://github.com/Jomik/vscode-search-provider/issues + + + False + True + 4 + + + + + True + False + 12 + 0 + in - + + True False - 12 - 12 - - - False - start - True - Search prefix - - - False - True - 0 - - + 12 + 12 - + True True - search prefix + False + 12 + 12 + 12 + 12 + about_license_buffer + True - - False - True - 1 - - - False - True - 3 - + + + - 0 - 0 + False + True + 5 + + 1 + - + + True False - Basic settings + About + 1 False From a85c80989f934a0f19bb293ffdae218987e2e687 Mon Sep 17 00:00:00 2001 From: Sebastian Wiesner Date: Thu, 1 Oct 2020 21:48:11 +0200 Subject: [PATCH 2/4] Update copyright in license --- LICENSE | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 4ee512f..493016c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,7 @@ MIT License -Copyright (c) 2017 Jonas Damtoft +Copyright (c) 2017-2020 Jonas Damtoft +Copyright (c) 2019-2020 Sebastian Wiesner Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 2c01ed07de6f029d69b48115f9396b6dc71a0f0c Mon Sep 17 00:00:00 2001 From: Sebastian Wiesner Date: Fri, 2 Oct 2020 20:30:02 +0200 Subject: [PATCH 3/4] Migrate prefs.js to typescript We need to use a separate tsconfig to compile prefs.ts separately, since typescript compiles all files from the same tsconfig into the same global namespaces so import would conflict. --- .github/workflows/ci.yml | 1 - .gitignore | 4 +- package.json | 9 +- prefs.js => prefs.ts | 36 ++- tsconfig.base.json | 16 + tsconfig.extension.json | 8 + tsconfig.json | 23 +- tsconfig.prefs.json | 8 + types/types/bytearray.d.ts | 29 ++ gi.d.ts => types/types/gio.d.ts | 53 ++-- types/types/glib.d.ts | 30 ++ .../types/gnome-shell.d.ts | 10 +- types/types/gobject.d.ts | 27 ++ types/types/gtk.d.ts | 63 ++++ types/types/st.d.ts | 32 ++ yarn.lock | 278 +++++++++++++++++- 16 files changed, 559 insertions(+), 68 deletions(-) rename prefs.js => prefs.ts (70%) create mode 100644 tsconfig.base.json create mode 100644 tsconfig.extension.json create mode 100644 tsconfig.prefs.json create mode 100644 types/types/bytearray.d.ts rename gi.d.ts => types/types/gio.d.ts (91%) create mode 100644 types/types/glib.d.ts rename gnome-shell.d.ts => types/types/gnome-shell.d.ts (96%) create mode 100644 types/types/gobject.d.ts create mode 100644 types/types/gtk.d.ts create mode 100644 types/types/st.d.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bdc5e14..ae78e62 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,6 @@ jobs: sudo apt-get install --no-install-recommends -qq -y libglib2.0-bin gnome-shell - run: yarn install - run: yarn compile - - run: yarn compile:schemas - run: yarn lint --max-warnings 0 - run: yarn format --check - run: yarn package diff --git a/.gitignore b/.gitignore index e5c32fb..725c351 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,8 @@ # Node libraries /node_modules/ -# Compiled JS extension -/extension.js +# Compiled JS files +*.js # Compiled schema file /schemas/*.compiled diff --git a/package.json b/package.json index ae40e0e..ef4c07b 100644 --- a/package.json +++ b/package.json @@ -9,16 +9,19 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.1.1", "@typescript-eslint/parser": "^4.1.1", + "concurrently": "^5.3.0", "eslint": "^7.9.0", "eslint-plugin-immutable": "^1.0.0", "prettier": "^2.1.2", "typescript": "^4.0.3" }, "scripts": { - "lint": "eslint *.ts prefs.js", - "compile": "tsc", + "lint": "eslint *.ts", + "compile:prefs": "tsc --build tsconfig.prefs.json", + "compile:extension": "tsc --build tsconfig.extension.json", "compile:schemas": "glib-compile-schemas --strict schemas/", - "format": "prettier *.ts *.json prefs.js .eslintrc.json", + "compile": "concurrently yarn:compile:prefs yarn:compile:extension yarn:compile:schemas", + "format": "prettier **/*.ts *.json .eslintrc.json", "package": "gnome-extensions pack --extra-source utils.js --extra-source prefs.xml --extra-source LICENSE", "nested": "dbus-run-session -- gnome-shell --nested --wayland" } diff --git a/prefs.js b/prefs.ts similarity index 70% rename from prefs.js rename to prefs.ts index e647b10..9eff9a1 100644 --- a/prefs.js +++ b/prefs.ts @@ -24,30 +24,38 @@ // top-level, because typescript considers all files as single project with one // common top scope. Hence we can't redefine imports, etc. -const ByteArray = imports.byteArray; -const Gtk = imports.gi.Gtk; -const Gio = imports.gi.Gio; +import ByteArray = imports.byteArray; +import Gtk = imports.gi.Gtk; +import Gio = imports.gi.Gio; -const ExtensionUtils = imports.misc.extensionUtils; -const Self = ExtensionUtils.getCurrentExtension(); +import ExtensionUtils = imports.misc.extensionUtils; +// eslint-disable-next-line @typescript-eslint/no-non-null-assertion +const Self = ExtensionUtils.getCurrentExtension()!; -// eslint-disable-next-line no-unused-vars -function init() {} +// eslint-disable-next-line @typescript-eslint/no-unused-vars,@typescript-eslint/no-empty-function +function init(): void {} -// eslint-disable-next-line no-unused-vars +// eslint-disable-next-line @typescript-eslint/no-unused-vars function buildPrefsWidget() { - const settings = ExtensionUtils.getSettings(); - const buildable = new Gtk.Builder(); - buildable.add_from_file(Self.dir.get_child("prefs.xml").get_path()); - const box = buildable.get_object("prefs_widget"); + const ui = Self.dir.get_child("prefs.xml").get_path(); + if (!ui) { + throw new Error("Fatal error, failed to find prefs.xml"); + } + const buildable = Gtk.Builder.new_from_file(ui); + const box = buildable.get_object("prefs_widget"); + const settings = ExtensionUtils.getSettings(); const license = ByteArray.toString( Self.dir.get_child("LICENSE").load_contents(null)[1] ); - const about_license_buffer = buildable.get_object("about_license_buffer"); + const about_license_buffer = buildable.get_object( + "about_license_buffer" + ); about_license_buffer.set_text(license, -1); - const about_version_label = buildable.get_object("about_version_label"); + const about_version_label = buildable.get_object( + "about_version_label" + ); about_version_label.set_text(`Version ${Self.metadata.version}`); settings.bind( diff --git a/tsconfig.base.json b/tsconfig.base.json new file mode 100644 index 0000000..f5d9d6a --- /dev/null +++ b/tsconfig.base.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es2017", + // GJS doesn't have modules + "module": "none", + "lib": ["es2017"], + "removeComments": false, + + /* Strict Type-Checking Options */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + } +} diff --git a/tsconfig.extension.json b/tsconfig.extension.json new file mode 100644 index 0000000..1286355 --- /dev/null +++ b/tsconfig.extension.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outFile": "./extension.js" + }, + "files": ["./extension.ts"], + "include": ["types/**/*.d.ts"] +} diff --git a/tsconfig.json b/tsconfig.json index f5d9d6a..0c61a3e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,16 +1,11 @@ { - "compilerOptions": { - "target": "es2017", - // GJS doesn't have modules - "module": "none", - "lib": ["es2017"], - "removeComments": false, - - /* Strict Type-Checking Options */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true - } + "files": [], + "references": [ + { + "path": "./tsconfig.extension.json" + }, + { + "path": "./tsconfig.prefs.json" + } + ] } diff --git a/tsconfig.prefs.json b/tsconfig.prefs.json new file mode 100644 index 0000000..d5a560c --- /dev/null +++ b/tsconfig.prefs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outFile": "./prefs.js" + }, + "files": ["./prefs.ts"], + "include": ["types/**/*.d.ts"] +} diff --git a/types/types/bytearray.d.ts b/types/types/bytearray.d.ts new file mode 100644 index 0000000..1d5f4b7 --- /dev/null +++ b/types/types/bytearray.d.ts @@ -0,0 +1,29 @@ +// Copyright (c) Sebastian Wiesner + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +declare namespace imports { + class ByteArray { + private constructor(); + } + + namespace byteArray { + function toString(array: ByteArray): string; + } +} diff --git a/gi.d.ts b/types/types/gio.d.ts similarity index 91% rename from gi.d.ts rename to types/types/gio.d.ts index 74bd20c..53bc617 100644 --- a/gi.d.ts +++ b/types/types/gio.d.ts @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Sebastian Wiesner +// Copyright (c) Sebastian Wiesner // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -19,22 +19,7 @@ // SOFTWARE. declare namespace imports { - class ByteArray { - private constructor(); - } - - namespace byteArray { - function toString(array: ByteArray): string; - } - namespace gi { - namespace GLib { - /** - * https://gjs-docs.gnome.org/glib20~2.60.1/glib.get_user_config_dir - */ - function get_user_config_dir(): string; - } - namespace Gio { /** * https://gjs-docs.gnome.org/gio20~2.0_api/gio.file @@ -57,6 +42,11 @@ declare namespace imports { */ get_child(name: string): File; + /** + * https://gjs-docs.gnome.org/gio20~2.0_api/gio.file#method-get_path + */ + get_path(): string | null; + /** * https://gjs-docs.gnome.org/gio20~2.0_api/gio.file#method-get_basename */ @@ -67,11 +57,6 @@ declare namespace imports { */ get_parse_name(): string; - /** - * https://gjs-docs.gnome.org/gio20~2.0_api/gio.file#method-get_path - */ - get_path(): string | null; - /** * https://gjs-docs.gnome.org/gio20~2.0_api/gio.file#method-load_contents */ @@ -163,6 +148,15 @@ declare namespace imports { launch(files: File[], context: AppLaunchContext | null): boolean; } + export enum SettingsBindFlags { + DEFAULT, + GET, + SET, + NO_SENSITIVITY, + GET_NO_CHANGES, + INVERT_BOOLEAN, + } + /** * https://gjs-docs.gnome.org/gio20~2.0_api/gio.desktopappinfo */ @@ -188,15 +182,16 @@ declare namespace imports { * https://gjs-docs.gnome.org/gio20~2.0_api/gio.settings#method-get_boolean */ get_boolean(key: string): boolean; - } - } - /** - * Shell toolkit. - */ - namespace St { - export class Icon { - constructor(props: { gicon: Gio.Icon; icon_size: number }); + /** + * https://gjs-docs.gnome.org/gio20~2.64p/gio.settings#method-bind + */ + bind( + key: string, + object: GObject.Object, + property: string, + flags: Gio.SettingsBindFlags + ): void; } } } diff --git a/types/types/glib.d.ts b/types/types/glib.d.ts new file mode 100644 index 0000000..dca3f6b --- /dev/null +++ b/types/types/glib.d.ts @@ -0,0 +1,30 @@ +// Copyright (c) Sebastian Wiesner + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +declare namespace imports { + namespace gi { + namespace GLib { + /** + * https://gjs-docs.gnome.org/glib20~2.60.1/glib.get_user_config_dir + */ + function get_user_config_dir(): string; + } + } +} diff --git a/gnome-shell.d.ts b/types/types/gnome-shell.d.ts similarity index 96% rename from gnome-shell.d.ts rename to types/types/gnome-shell.d.ts index 63af7e8..28168db 100644 --- a/gnome-shell.d.ts +++ b/types/types/gnome-shell.d.ts @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Sebastian Wiesner +// Copyright (c) Sebastian Wiesner // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -135,6 +135,8 @@ declare interface SearchProvider { * * Called when the user clicks on the search provider. * + * Likely ignored if `canLaunchSearch` is `false`. + * * @param terms The terms */ launchSearch(terms: string[]): void; @@ -166,6 +168,12 @@ declare interface ExtensionObject { readonly path: string; } +declare interface ExtensionState { + enable(): void; + + disable(): void; +} + declare namespace imports { namespace ui { namespace main { diff --git a/types/types/gobject.d.ts b/types/types/gobject.d.ts new file mode 100644 index 0000000..e157f64 --- /dev/null +++ b/types/types/gobject.d.ts @@ -0,0 +1,27 @@ +// Copyright (c) Sebastian Wiesner + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +declare namespace imports { + namespace gi { + namespace GObject { + export class Object {} + } + } +} diff --git a/types/types/gtk.d.ts b/types/types/gtk.d.ts new file mode 100644 index 0000000..f11474b --- /dev/null +++ b/types/types/gtk.d.ts @@ -0,0 +1,63 @@ +// Copyright (c) Sebastian Wiesner + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +declare namespace imports { + namespace gi { + /** + * Shell toolkit. + */ + namespace Gtk { + export class Widget extends GObject.Object { + /** + * https://gjs-docs.gnome.org/gtk30~3.24.22/gtk.widget#method-show_all + */ + show_all(): void; + } + + export class Label extends Widget { + /** + * https://gjs-docs.gnome.org/gtk30~3.24.22/gtk.label#method-set_text + */ + set_text(str: string): void; + } + + export class TextBuffer extends GObject.Object { + /** + * https://gjs-docs.gnome.org/gtk30~3.24.22/gtk.textbuffer#method-set_text + */ + set_text(text: string, len: number): void; + } + + export class Builder extends GObject.Object { + constructor(); + + /** + * https://gjs-docs.gnome.org/gtk30~3.24.22/gtk.builder#constructor-new_from_file + */ + static new_from_file(path: string): Gtk.Builder; + + /** + * https://gjs-docs.gnome.org/gtk30~3.24.22/gtk.builder#method-get_object + */ + get_object(name: string): T; + } + } + } +} diff --git a/types/types/st.d.ts b/types/types/st.d.ts new file mode 100644 index 0000000..31f599c --- /dev/null +++ b/types/types/st.d.ts @@ -0,0 +1,32 @@ +// Copyright (c) Sebastian Wiesner + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +declare namespace imports { + namespace gi { + /** + * Shell toolkit. + */ + namespace St { + export class Icon { + constructor(props: { gicon: Gio.Icon; icon_size: number }); + } + } + } +} diff --git a/yarn.lock b/yarn.lock index 5c7f53e..43e743e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -232,7 +232,12 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -chalk@^2.0.0: +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -249,6 +254,15 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -278,6 +292,21 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +concurrently@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-5.3.0.tgz#7500de6410d043c912b2da27de3202cb489b1e7b" + integrity sha512-8MhqOB6PWlBfA2vJ8a0bSFKATOdWlHiQlk11IfmQBPaHVP8oP2gsh2MObE6UR3hqDHqvaIvLTyceNW6obVuFHQ== + dependencies: + chalk "^2.4.2" + date-fns "^2.0.1" + lodash "^4.17.15" + read-pkg "^4.0.1" + rxjs "^6.5.2" + spawn-command "^0.0.2-1" + supports-color "^6.1.0" + tree-kill "^1.2.2" + yargs "^13.3.0" + cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -287,6 +316,11 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" +date-fns@^2.0.1: + version "2.16.1" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.16.1.tgz#05775792c3f3331da812af253e1a935851d3834b" + integrity sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ== + debug@^4.0.1, debug@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" @@ -294,6 +328,11 @@ debug@^4.0.1, debug@^4.1.1: dependencies: ms "2.1.2" +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + deep-is@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -325,6 +364,13 @@ enquirer@^2.3.5: dependencies: ansi-colors "^4.1.1" +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -494,6 +540,13 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -518,6 +571,11 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + glob-parent@^5.0.0, glob-parent@^5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" @@ -566,6 +624,11 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -602,6 +665,11 @@ inherits@2: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -642,6 +710,11 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -660,6 +733,14 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" @@ -707,6 +788,16 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -726,6 +817,25 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -733,6 +843,19 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -743,6 +866,11 @@ path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -753,6 +881,11 @@ picomatch@^2.0.5, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -773,16 +906,42 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +read-pkg@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" + integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= + dependencies: + normalize-package-data "^2.3.2" + parse-json "^4.0.0" + pify "^3.0.0" + regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve@^1.10.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -800,11 +959,28 @@ run-parallel@^1.1.9: resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== +rxjs@^6.5.2: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.0" + +"semver@2 || 3 || 4 || 5": + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + semver@^7.2.1, semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -831,12 +1007,43 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +spawn-command@^0.0.2-1: + version "0.0.2-1" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.6" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" + integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -string-width@^3.0.0: +string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== @@ -845,7 +1052,7 @@ string-width@^3.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -strip-ansi@^5.1.0: +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -871,6 +1078,13 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -900,7 +1114,12 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -tslib@^1.8.1: +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +tslib@^1.8.1, tslib@^1.9.0: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== @@ -941,6 +1160,19 @@ v8-compile-cache@^2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -953,6 +1185,15 @@ word-wrap@^1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -964,3 +1205,32 @@ write@1.0.3: integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== dependencies: mkdirp "^0.5.1" + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^13.3.0: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" From 553fb41d6ac1d760c3c7bc98833edd24ff851d24 Mon Sep 17 00:00:00 2001 From: Sebastian Wiesner Date: Fri, 2 Oct 2020 20:45:28 +0200 Subject: [PATCH 4/4] Remove non-existing source file from package --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ef4c07b..c2dc199 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "compile:schemas": "glib-compile-schemas --strict schemas/", "compile": "concurrently yarn:compile:prefs yarn:compile:extension yarn:compile:schemas", "format": "prettier **/*.ts *.json .eslintrc.json", - "package": "gnome-extensions pack --extra-source utils.js --extra-source prefs.xml --extra-source LICENSE", + "package": "gnome-extensions pack --extra-source prefs.xml --extra-source LICENSE", "nested": "dbus-run-session -- gnome-shell --nested --wayland" } }