diff options
author | Darius Jahandarie <djahandarie@gmail.com> | 2023-11-12 02:11:14 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-12 02:11:14 +0000 |
commit | f263e994c6eca2438eaff79cb22f1b48fe14b7b2 (patch) | |
tree | d6ada1c77732dd16a4c5a723cc432527583e5a7e | |
parent | 382f2ec40ac6861adc90da253df0537d47c3e7cf (diff) | |
parent | 99a4b379565547ac624d0905dce1a5b802c2f9e4 (diff) |
Merge pull request #315 from jbukl/dynamic-loader-modules
Dynamic loader, Dexie ESM fix
-rw-r--r-- | .vscode/settings.json | 1 | ||||
-rw-r--r-- | dev/lib/dexie-export-import.js | 17 | ||||
-rw-r--r-- | dev/lib/dexie.js | 5 | ||||
-rw-r--r-- | ext/js/pages/settings/backup-controller.js | 2 | ||||
-rw-r--r-- | ext/js/script/dynamic-loader-sentinel.js | 2 | ||||
-rw-r--r-- | ext/js/script/dynamic-loader.js | 3 |
6 files changed, 9 insertions, 21 deletions
diff --git a/.vscode/settings.json b/.vscode/settings.json index aa57bde2..6dea7915 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,5 +6,6 @@ "source.fixAll.eslint": true, }, "eslint.format.enable": true, + "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": false, "javascript.preferences.importModuleSpecifierEnding": "js", } diff --git a/dev/lib/dexie-export-import.js b/dev/lib/dexie-export-import.js deleted file mode 100644 index 8d2ec206..00000000 --- a/dev/lib/dexie-export-import.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2023 Yomitan Authors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ -export * from 'dexie-export-import'; diff --git a/dev/lib/dexie.js b/dev/lib/dexie.js index aa3f2b7d..81a62b28 100644 --- a/dev/lib/dexie.js +++ b/dev/lib/dexie.js @@ -14,4 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -export * from 'dexie'; +import Dexie from 'dexie'; +import 'dexie-export-import'; + +export {Dexie}; diff --git a/ext/js/pages/settings/backup-controller.js b/ext/js/pages/settings/backup-controller.js index e429f9c7..115b7581 100644 --- a/ext/js/pages/settings/backup-controller.js +++ b/ext/js/pages/settings/backup-controller.js @@ -16,7 +16,7 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import * as Dexie from '../../../lib/dexie.js'; +import {Dexie} from '../../../lib/dexie.js'; import {isObject, log} from '../../core.js'; import {OptionsUtil} from '../../data/options-util.js'; import {ArrayBufferUtil} from '../../data/sandbox/array-buffer-util.js'; diff --git a/ext/js/script/dynamic-loader-sentinel.js b/ext/js/script/dynamic-loader-sentinel.js index 7f08c503..d549808e 100644 --- a/ext/js/script/dynamic-loader-sentinel.js +++ b/ext/js/script/dynamic-loader-sentinel.js @@ -18,4 +18,4 @@ import {yomichan} from '../yomichan.js'; -yomichan.trigger('dynamicLoaderSentinel', {script: document.currentScript}); +yomichan.trigger('dynamicLoaderSentinel', {script: import.meta.url}); diff --git a/ext/js/script/dynamic-loader.js b/ext/js/script/dynamic-loader.js index 2eced077..ffce04c1 100644 --- a/ext/js/script/dynamic-loader.js +++ b/ext/js/script/dynamic-loader.js @@ -126,6 +126,7 @@ export const dynamicLoader = (() => { if (node !== null) { continue; } const script = document.createElement('script'); + script.type = 'module'; script.async = false; script.src = url; parent.appendChild(script); @@ -140,7 +141,7 @@ export const dynamicLoader = (() => { const sentinelEventName = 'dynamicLoaderSentinel'; const sentinelEventCallback = (e) => { - if (e.script !== script) { return; } + if (e.script !== script.src) { return; } yomichan.off(sentinelEventName, sentinelEventCallback); parent.removeChild(script); resolve(); |