Browse Source

chore: rename alias from # to @

Gerald 3 years ago
parent
commit
608dc5c154
74 changed files with 224 additions and 212 deletions
  1. 7 0
      .babelrc.js
  2. 1 1
      jsconfig.json
  3. 6 1
      scripts/plaid.conf.js
  4. 5 5
      src/background/index.js
  5. 1 1
      src/background/plugin/events.js
  6. 3 3
      src/background/sync/base.js
  7. 1 1
      src/background/sync/dropbox.js
  8. 2 2
      src/background/sync/googledrive.js
  9. 2 2
      src/background/sync/onedrive.js
  10. 1 1
      src/background/utils/cache.js
  11. 4 4
      src/background/utils/db.js
  12. 3 3
      src/background/utils/icon.js
  13. 1 1
      src/background/utils/message.js
  14. 1 1
      src/background/utils/notifications.js
  15. 3 3
      src/background/utils/options.js
  16. 1 1
      src/background/utils/patch-db.js
  17. 1 1
      src/background/utils/popup-tracker.js
  18. 6 6
      src/background/utils/preinject.js
  19. 3 3
      src/background/utils/requests-core.js
  20. 3 3
      src/background/utils/requests.js
  21. 3 3
      src/background/utils/script.js
  22. 2 2
      src/background/utils/storage-fetch.js
  23. 2 2
      src/background/utils/tab-redirector.js
  24. 2 2
      src/background/utils/tabs.js
  25. 1 1
      src/background/utils/tester.js
  26. 1 1
      src/background/utils/update.js
  27. 2 2
      src/background/utils/values.js
  28. 1 1
      src/common/download.js
  29. 1 1
      src/common/index.js
  30. 1 1
      src/common/load-script-icon.js
  31. 1 1
      src/common/options.js
  32. 1 1
      src/common/router.js
  33. 1 1
      src/common/storage.js
  34. 1 1
      src/common/tld.js
  35. 6 6
      src/common/ui/code.vue
  36. 3 3
      src/common/ui/externals.vue
  37. 1 1
      src/common/ui/icon.vue
  38. 1 1
      src/common/ui/index.js
  39. 1 1
      src/common/ui/locale-group.vue
  40. 1 1
      src/common/ui/setting-text.vue
  41. 1 1
      src/common/ui/style/index.js
  42. 1 1
      src/common/util.js
  43. 6 6
      src/confirm/index.js
  44. 11 11
      src/confirm/views/app.vue
  45. 1 1
      src/injected/content/safe-globals-content.js
  46. 1 1
      src/injected/content/util.js
  47. 2 2
      src/injected/index.js
  48. 1 1
      src/injected/safe-globals-injected.js
  49. 2 2
      src/injected/util/index.js
  50. 6 6
      src/options/index.js
  51. 2 2
      src/options/utils/index.js
  52. 3 3
      src/options/views/app.vue
  53. 8 8
      src/options/views/edit/index.vue
  54. 2 2
      src/options/views/edit/settings.vue
  55. 6 6
      src/options/views/edit/values.vue
  56. 2 2
      src/options/views/feature.vue
  57. 3 3
      src/options/views/script-item.vue
  58. 13 13
      src/options/views/tab-installed.vue
  59. 9 9
      src/options/views/tab-settings/index.vue
  60. 3 3
      src/options/views/tab-settings/vm-blacklist.vue
  61. 2 2
      src/options/views/tab-settings/vm-css.vue
  62. 5 5
      src/options/views/tab-settings/vm-editor.vue
  63. 10 10
      src/options/views/tab-settings/vm-export.vue
  64. 5 5
      src/options/views/tab-settings/vm-import.vue
  65. 5 5
      src/options/views/tab-settings/vm-sync.vue
  66. 2 2
      src/options/views/tab-settings/vm-template.vue
  67. 7 7
      src/popup/index.js
  68. 6 6
      src/popup/views/app.vue
  69. 1 1
      test/background/script.test.js
  70. 2 2
      test/background/tester.test.js
  71. 1 1
      test/common/index.test.js
  72. 2 2
      test/injected/gm-resource.test.js
  73. 1 1
      test/injected/helpers.test.js
  74. 4 4
      test/mock/polyfill.js

+ 7 - 0
.babelrc.js

@@ -1,3 +1,10 @@
+const path = require('path');
+const { defaultOptions } = require('@gera2ld/plaid/util');
+
+defaultOptions.alias = {
+  '@': path.resolve('src'),
+};
+
 module.exports = {
   extends: require.resolve('@gera2ld/plaid/config/babelrc'),
   presets: [

+ 1 - 1
jsconfig.json

@@ -2,7 +2,7 @@
   "compilerOptions": {
     "baseUrl": ".",
     "paths": {
-      "#/*": ["./src/*"]
+      "@/*": ["./src/*"]
     }
   },
   "exclude": ["node_modules", "dist"]

+ 6 - 1
scripts/plaid.conf.js

@@ -1,4 +1,9 @@
-const { isProd } = require('@gera2ld/plaid/util');
+const path = require('path');
+const { defaultOptions, isProd } = require('@gera2ld/plaid/util');
+
+defaultOptions.alias = {
+  '@': path.resolve('src'),
+};
 
 /**
  * For each entry, `key` is the chunk name, `value` has following properties:

+ 5 - 5
src/background/index.js

@@ -1,8 +1,8 @@
-import '#/common/browser';
-import { getActiveTab, makePause, sendCmd } from '#/common';
-import { TIMEOUT_24HOURS, TIMEOUT_MAX } from '#/common/consts';
-import { deepCopy } from '#/common/object';
-import * as tld from '#/common/tld';
+import '@/common/browser';
+import { getActiveTab, makePause, sendCmd } from '@/common';
+import { TIMEOUT_24HOURS, TIMEOUT_MAX } from '@/common/consts';
+import { deepCopy } from '@/common/object';
+import * as tld from '@/common/tld';
 import * as sync from './sync';
 import { commands } from './utils';
 import { getData, getSizes, checkRemove } from './utils/db';

+ 1 - 1
src/background/plugin/events.js

@@ -1,4 +1,4 @@
-import EventEmitter from '#/common/events';
+import EventEmitter from '@/common/events';
 
 export default new EventEmitter([
   'scriptEdit',

+ 3 - 3
src/background/sync/base.js

@@ -1,10 +1,10 @@
 import {
   debounce, normalizeKeys, request, noop, makePause, ensureArray, sendCmd, blob2base64, getUniqId,
-} from '#/common';
-import { TIMEOUT_HOUR } from '#/common/consts';
+} from '@/common';
+import { TIMEOUT_HOUR } from '@/common/consts';
 import {
   forEachEntry, objectSet, objectPick,
-} from '#/common/object';
+} from '@/common/object';
 import {
   getEventEmitter, getOption, setOption, hookOptions,
 } from '../utils';

+ 1 - 1
src/background/sync/dropbox.js

@@ -1,4 +1,4 @@
-import { getUniqId } from '#/common';
+import { getUniqId } from '@/common';
 import { loadQuery, dumpQuery } from '../utils';
 import {
   getURI, getItemFilename, BaseService, isScriptFile, register,

+ 2 - 2
src/background/sync/googledrive.js

@@ -1,8 +1,8 @@
 // Reference:
 // - https://developers.google.com/identity/protocols/oauth2/native-app
 // - https://developers.google.com/drive/v3/reference/files
-import { getUniqId, noop } from '#/common';
-import { objectGet } from '#/common/object';
+import { getUniqId, noop } from '@/common';
+import { objectGet } from '@/common/object';
 import { loadQuery, dumpQuery } from '../utils';
 import {
   getURI, getItemFilename, BaseService, register, isScriptFile,

+ 2 - 2
src/background/sync/onedrive.js

@@ -1,6 +1,6 @@
 // Reference: https://dev.onedrive.com/README.htm
-import { noop } from '#/common';
-import { objectGet } from '#/common/object';
+import { noop } from '@/common';
+import { objectGet } from '@/common/object';
 import { dumpQuery } from '../utils';
 import {
   getURI, getItemFilename, BaseService, isScriptFile, register,

+ 1 - 1
src/background/utils/cache.js

@@ -1,4 +1,4 @@
-import initCache from '#/common/cache';
+import initCache from '@/common/cache';
 import { commands } from './message';
 
 const cache = initCache({

+ 4 - 4
src/background/utils/db.js

@@ -1,10 +1,10 @@
 import {
   compareVersion, dataUri2text, i18n, getScriptHome,
   getFullUrl, getScriptName, getScriptUpdateUrl, isRemote, sendCmd, trueJoin,
-} from '#/common';
-import { INJECT_PAGE, INJECT_AUTO, TIMEOUT_WEEK } from '#/common/consts';
-import { forEachEntry, forEachKey, forEachValue } from '#/common/object';
-import storage from '#/common/storage';
+} from '@/common';
+import { INJECT_PAGE, INJECT_AUTO, TIMEOUT_WEEK } from '@/common/consts';
+import { forEachEntry, forEachKey, forEachValue } from '@/common/object';
+import storage from '@/common/storage';
 import pluginEvents from '../plugin/events';
 import { getNameURI, parseMeta, newScript, getDefaultCustom } from './script';
 import { testScript, testBlacklist } from './tester';

+ 3 - 3
src/background/utils/icon.js

@@ -1,6 +1,6 @@
-import { i18n, noop } from '#/common';
-import { INJECTABLE_TAB_URL_RE } from '#/common/consts';
-import { objectPick } from '#/common/object';
+import { i18n, noop } from '@/common';
+import { INJECTABLE_TAB_URL_RE } from '@/common/consts';
+import { objectPick } from '@/common/object';
 import cache from './cache';
 import { postInitialize } from './init';
 import { commands, forEachTab } from './message';

+ 1 - 1
src/background/utils/message.js

@@ -1,4 +1,4 @@
-import { defaultImage, i18n, noop } from '#/common';
+import { defaultImage, i18n, noop } from '@/common';
 
 export const commands = {};
 

+ 1 - 1
src/background/utils/notifications.js

@@ -1,4 +1,4 @@
-import { i18n, defaultImage, sendTabCmd, trueJoin } from '#/common';
+import { i18n, defaultImage, sendTabCmd, trueJoin } from '@/common';
 import { commands } from './message';
 
 const openers = {};

+ 3 - 3
src/background/utils/options.js

@@ -1,6 +1,6 @@
-import { debounce, ensureArray, initHooks, normalizeKeys } from '#/common';
-import { deepCopy, deepEqual, mapEntry, objectGet, objectSet } from '#/common/object';
-import defaults from '#/common/options-defaults';
+import { debounce, ensureArray, initHooks, normalizeKeys } from '@/common';
+import { deepCopy, deepEqual, mapEntry, objectGet, objectSet } from '@/common/object';
+import defaults from '@/common/options-defaults';
 import { preInitialize } from './init';
 import { commands } from './message';
 

+ 1 - 1
src/background/utils/patch-db.js

@@ -1,5 +1,5 @@
+import storage from '@/common/storage';
 import { parseMeta } from './script';
-import storage from '#/common/storage';
 
 export default () => new Promise((resolve, reject) => {
   console.info('Upgrade database...');

+ 1 - 1
src/background/utils/popup-tracker.js

@@ -1,4 +1,4 @@
-import { getActiveTab, sendTabCmd } from '#/common';
+import { getActiveTab, sendTabCmd } from '@/common';
 import cache from './cache';
 import { getData } from './db';
 import { postInitialize } from './init';

+ 6 - 6
src/background/utils/preinject.js

@@ -1,12 +1,12 @@
-import { getScriptName, getUniqId, sendTabCmd, trueJoin } from '#/common';
+import { getScriptName, getUniqId, sendTabCmd, trueJoin } from '@/common';
 import {
   INJECT_AUTO, INJECT_CONTENT, INJECT_MAPPING, INJECT_PAGE,
   INJECTABLE_TAB_URL_RE, METABLOCK_RE,
-} from '#/common/consts';
-import initCache from '#/common/cache';
-import { forEachEntry, objectPick, objectSet } from '#/common/object';
-import storage from '#/common/storage';
-import ua from '#/common/ua';
+} from '@/common/consts';
+import initCache from '@/common/cache';
+import { forEachEntry, objectPick, objectSet } from '@/common/object';
+import storage from '@/common/storage';
+import ua from '@/common/ua';
 import { getScriptsByURL, ENV_CACHE_KEYS, ENV_REQ_KEYS, ENV_SCRIPTS, ENV_VALUE_IDS } from './db';
 import { extensionRoot, postInitialize } from './init';
 import { commands } from './message';

+ 3 - 3
src/background/utils/requests-core.js

@@ -1,6 +1,6 @@
-import { buffer2string, getUniqId, isEmpty, noop } from '#/common';
-import { forEachEntry } from '#/common/object';
-import ua from '#/common/ua';
+import { buffer2string, getUniqId, isEmpty, noop } from '@/common';
+import { forEachEntry } from '@/common/object';
+import ua from '@/common/ua';
 import { extensionRoot } from './init';
 
 let encoder;

+ 3 - 3
src/background/utils/requests.js

@@ -1,6 +1,6 @@
-import { blob2base64, sendTabCmd, string2uint8array } from '#/common';
-import { forEachEntry, forEachValue, objectPick } from '#/common/object';
-import ua from '#/common/ua';
+import { blob2base64, sendTabCmd, string2uint8array } from '@/common';
+import { forEachEntry, forEachValue, objectPick } from '@/common/object';
+import ua from '@/common/ua';
 import cache from './cache';
 import { commands } from './message';
 import {

+ 3 - 3
src/background/utils/script.js

@@ -1,6 +1,6 @@
-import { getUniqId, encodeFilename } from '#/common';
-import { METABLOCK_RE } from '#/common/consts';
-import { mapEntry } from '#/common/object';
+import { getUniqId, encodeFilename } from '@/common';
+import { METABLOCK_RE } from '@/common/consts';
+import { mapEntry } from '@/common/object';
 import { commands } from './message';
 import { getOption } from './options';
 import cache from './cache';

+ 2 - 2
src/background/utils/storage-fetch.js

@@ -1,5 +1,5 @@
-import { request } from '#/common';
-import storage from '#/common/storage';
+import { request } from '@/common';
+import storage from '@/common/storage';
 
 /** @type { function(url, options, check): Promise<void> } or throws on error */
 storage.cache.fetch = cacheOrFetch({

+ 2 - 2
src/background/utils/tab-redirector.js

@@ -1,5 +1,5 @@
-import { request, noop, i18n, getUniqId } from '#/common';
-import ua from '#/common/ua';
+import { request, noop, i18n, getUniqId } from '@/common';
+import ua from '@/common/ua';
 import cache from './cache';
 import { extensionRoot } from './init';
 import { commands } from './message';

+ 2 - 2
src/background/utils/tabs.js

@@ -1,5 +1,5 @@
-import { getActiveTab, noop, sendTabCmd, getFullUrl } from '#/common';
-import ua from '#/common/ua';
+import { getActiveTab, noop, sendTabCmd, getFullUrl } from '@/common';
+import ua from '@/common/ua';
 import { extensionRoot } from './init';
 import { commands } from './message';
 import { getOption } from './options';

+ 1 - 1
src/background/utils/tester.js

@@ -1,4 +1,4 @@
-import * as tld from '#/common/tld';
+import * as tld from '@/common/tld';
 import cache from './cache';
 import { postInitialize } from './init';
 import { commands } from './message';

+ 1 - 1
src/background/utils/update.js

@@ -1,7 +1,7 @@
 import {
   compareVersion, getScriptName, getScriptUpdateUrl,
   i18n, sendCmd, trueJoin,
-} from '#/common';
+} from '@/common';
 import { fetchResources, getScriptById, getScripts, parseScript } from './db';
 import { parseMeta } from './script';
 import { getOption, setOption } from './options';

+ 2 - 2
src/background/utils/values.js

@@ -1,5 +1,5 @@
-import { isEmpty, makePause, sendTabCmd } from '#/common';
-import { forEachEntry, forEachKey, objectSet } from '#/common/object';
+import { isEmpty, makePause, sendTabCmd } from '@/common';
+import { forEachEntry, forEachKey, objectSet } from '@/common/object';
 import { getScript, getValueStoresByIds, dumpValueStores } from './db';
 import { commands } from './message';
 

+ 1 - 1
src/common/download.js

@@ -1,4 +1,4 @@
-import { makePause } from '#/common';
+import { makePause } from '@/common';
 
 export function downloadBlob(blob, name) {
   const url = URL.createObjectURL(blob);

+ 1 - 1
src/common/index.js

@@ -1,6 +1,6 @@
 // SAFETY WARNING! Exports used by `injected` must make ::safe() calls and use __proto__:null
 
-import { browser } from '#/common/consts';
+import { browser } from '@/common/consts';
 import { deepCopy } from './object';
 import { i18n, noop } from './util';
 

+ 1 - 1
src/common/load-script-icon.js

@@ -1,4 +1,4 @@
-import { sendCmdDirectly } from '#/common/index';
+import { sendCmdDirectly } from '@/common/index';
 
 const KEY = 'safeIcon';
 

+ 1 - 1
src/common/options.js

@@ -1,4 +1,4 @@
-import defaults from '#/common/options-defaults';
+import defaults from '@/common/options-defaults';
 import { initHooks, sendCmdDirectly } from '.';
 import { forEachEntry, objectGet, objectSet } from './object';
 

+ 1 - 1
src/common/router.js

@@ -1,4 +1,4 @@
-import { showConfirmation } from '#/common/ui';
+import { showConfirmation } from '@/common/ui';
 import { i18n } from './util';
 
 function parse(hash) {

+ 1 - 1
src/common/storage.js

@@ -1,4 +1,4 @@
-import { deepCopy, forEachEntry } from '#/common/object';
+import { deepCopy, forEachEntry } from '@/common/object';
 import { blob2base64, ensureArray } from './util';
 
 /** @type VMCache */

+ 1 - 1
src/common/tld.js

@@ -1,7 +1,7 @@
 import tldjs from 'tldjs';
 // import { fromUserSettings } from 'tldjs';
 // import Trie from 'tldjs/lib/suffix-trie';
-// import { request } from '#/common';
+// import { request } from '@/common';
 
 // let tldjs;
 

+ 6 - 6
src/common/ui/code.vue

@@ -72,12 +72,12 @@ import 'codemirror/addon/hint/javascript-hint';
 import 'codemirror/addon/hint/anyword-hint';
 import CodeMirror from 'codemirror';
 import Tooltip from 'vueleton/lib/tooltip/bundle';
-import ToggleButton from '#/common/ui/toggle-button';
-import { debounce, getUniqId, i18n } from '#/common';
-import { deepEqual, forEachEntry, objectPick } from '#/common/object';
-import hookSetting from '#/common/hook-setting';
-import options from '#/common/options';
-import storage from '#/common/storage';
+import ToggleButton from '@/common/ui/toggle-button';
+import { debounce, getUniqId, i18n } from '@/common';
+import { deepEqual, forEachEntry, objectPick } from '@/common/object';
+import hookSetting from '@/common/hook-setting';
+import options from '@/common/options';
+import storage from '@/common/storage';
 import './code-autocomplete';
 import { killTrailingSpaces } from './code-trailing-spaces';
 

+ 3 - 3
src/common/ui/externals.vue

@@ -34,9 +34,9 @@
 </template>
 
 <script>
-import { formatByteLength, dataUri2text } from '#/common';
-import VmCode from '#/common/ui/code';
-import storage from '#/common/storage';
+import { formatByteLength, dataUri2text } from '@/common';
+import VmCode from '@/common/ui/code';
+import storage from '@/common/storage';
 
 export default {
   props: ['value', 'cmOptions', 'commands', 'install', 'errors'],

+ 1 - 1
src/common/ui/icon.vue

@@ -3,7 +3,7 @@
 </template>
 
 <script>
-const requireIcon = require.context('#/resources/svg', false, /\.svg$/);
+const requireIcon = require.context('@/resources/svg', false, /\.svg$/);
 requireIcon.keys().map(key => requireIcon(key));
 
 export default {

+ 1 - 1
src/common/ui/index.js

@@ -1,5 +1,5 @@
 import Modal from 'vueleton/lib/modal/bundle';
-import { i18n } from '#/common/util';
+import { i18n } from '@/common/util';
 import Message from './message';
 
 export function showMessage(message) {

+ 1 - 1
src/common/ui/locale-group.vue

@@ -7,7 +7,7 @@
 </template>
 
 <script>
-import { i18n } from '#/common';
+import { i18n } from '@/common';
 
 const SEP = '\x02';
 

+ 1 - 1
src/common/ui/setting-text.vue

@@ -21,7 +21,7 @@
 </template>
 
 <script>
-import { getUnloadSentry } from '#/common/router';
+import { getUnloadSentry } from '@/common/router';
 import { deepEqual, objectGet } from '../object';
 import options from '../options';
 import defaults from '../options-defaults';

+ 1 - 1
src/common/ui/style/index.js

@@ -1,5 +1,5 @@
 import Vue from 'vue';
-import { i18n } from '#/common';
+import { i18n } from '@/common';
 import options from '../../options';
 import './style.css';
 

+ 1 - 1
src/common/util.js

@@ -1,6 +1,6 @@
 // SAFETY WARNING! Exports used by `injected` must make ::safe() calls and use __proto__:null
 
-import { browser } from '#/common/consts';
+import { browser } from '@/common/consts';
 
 export function i18n(name, args) {
   return browser.i18n.getMessage(name, args) || name;

+ 6 - 6
src/confirm/index.js

@@ -1,10 +1,10 @@
 import Vue from 'vue';
-import '#/common/browser';
-import { i18n } from '#/common';
-import '#/common/handlers';
-import options from '#/common/options';
-import '#/common/ui/favicon';
-import '#/common/ui/style';
+import '@/common/browser';
+import { i18n } from '@/common';
+import '@/common/handlers';
+import options from '@/common/options';
+import '@/common/ui/favicon';
+import '@/common/ui/style';
 import App from './views/app';
 import './style.css';
 

+ 11 - 11
src/confirm/views/app.vue

@@ -87,20 +87,20 @@
 
 <script>
 import Tooltip from 'vueleton/lib/tooltip/bundle';
-import Icon from '#/common/ui/icon';
+import Icon from '@/common/ui/icon';
 import {
   getFullUrl, getLocaleString, getScriptHome, isRemote,
   makePause, request, sendCmdDirectly, trueJoin,
-} from '#/common';
-import { keyboardService } from '#/common/keyboard';
-import initCache from '#/common/cache';
-import storage from '#/common/storage';
-import VmExternals from '#/common/ui/externals';
-import SettingCheck from '#/common/ui/setting-check';
-import { loadScriptIcon } from '#/common/load-script-icon';
-import { deepEqual, objectPick } from '#/common/object';
-import { route } from '#/common/router';
-import ua from '#/common/ua';
+} from '@/common';
+import { keyboardService } from '@/common/keyboard';
+import initCache from '@/common/cache';
+import storage from '@/common/storage';
+import VmExternals from '@/common/ui/externals';
+import SettingCheck from '@/common/ui/setting-check';
+import { loadScriptIcon } from '@/common/load-script-icon';
+import { deepEqual, objectPick } from '@/common/object';
+import { route } from '@/common/router';
+import ua from '@/common/ua';
 
 const KEEP_INFO_DELAY = 5000;
 const RETRY_DELAY = 3000;

+ 1 - 1
src/injected/content/safe-globals-content.js

@@ -8,7 +8,7 @@
 export const {
   Blob: SafeBlob,
   CustomEvent: SafeCustomEvent,
-  Error, // for #/common e.g. in sendMessage
+  Error, // for @/common e.g. in sendMessage
   MouseEvent: SafeMouseEvent,
   Object, // for minification and guarding webpack Object(import) calls
   Promise: SafePromise,

+ 1 - 1
src/injected/content/util.js

@@ -1,5 +1,5 @@
 // eslint-disable-next-line no-restricted-imports
-export { sendCmd } from '#/common';
+export { sendCmd } from '@/common';
 export * from './util-task';
 
 /** When looking for documentElement, use '*' to also support XML pages

+ 2 - 2
src/injected/index.js

@@ -1,5 +1,5 @@
-import '#/common/browser'; // eslint-disable-line no-restricted-imports
-import { sendCmd } from '#/common'; // eslint-disable-line no-restricted-imports
+import '@/common/browser'; // eslint-disable-line no-restricted-imports
+import { sendCmd } from '@/common'; // eslint-disable-line no-restricted-imports
 import './content';
 
 // Script installation in Firefox as it does not support `onBeforeRequest` for `file:`

+ 1 - 1
src/injected/safe-globals-injected.js

@@ -4,7 +4,7 @@
  * This file is used by both `injected` and `injected-web` entries.
  * `global` is used instead of WebPack's polyfill which we disable in webpack.conf.js.
  * `export` is stripped in the final output and is only used for our NodeJS test scripts.
- * WARNING! Don't use exported functions from #/common anywhere in injected!
+ * WARNING! Don't use exported functions from @/common anywhere in injected!
  */
 
 const global = (function _() {

+ 2 - 2
src/injected/util/index.js

@@ -8,8 +8,8 @@
 export {
   dumpScriptValue,
   isEmpty,
-} from '#/common';
-export * from '#/common/consts';
+} from '@/common';
+export * from '@/common/consts';
 
 export const fireBridgeEvent = (eventId, msg, cloneInto) => {
   const detail = cloneInto ? cloneInto(msg, document) : msg;

+ 6 - 6
src/options/index.js

@@ -1,10 +1,10 @@
 import Vue from 'vue';
-import '#/common/browser';
-import { formatByteLength, getLocaleString, i18n, sendCmdDirectly, trueJoin } from '#/common';
-import handlers from '#/common/handlers';
-import { loadScriptIcon } from '#/common/load-script-icon';
-import options from '#/common/options';
-import '#/common/ui/style';
+import '@/common/browser';
+import { formatByteLength, getLocaleString, i18n, sendCmdDirectly, trueJoin } from '@/common';
+import handlers from '@/common/handlers';
+import { loadScriptIcon } from '@/common/load-script-icon';
+import options from '@/common/options';
+import '@/common/ui/style';
 import { store } from './utils';
 import App from './views/app';
 

+ 2 - 2
src/options/utils/index.js

@@ -1,5 +1,5 @@
-import { route } from '#/common/router';
-import { isHiDPI } from '#/common/ui/favicon';
+import { route } from '@/common/router';
+import { isHiDPI } from '@/common/ui/favicon';
 
 export const store = {
   route,

+ 3 - 3
src/options/views/app.vue

@@ -23,9 +23,9 @@
 </template>
 
 <script>
-import { i18n } from '#/common';
-import Icon from '#/common/ui/icon';
-import { keyboardService } from '#/common/keyboard';
+import { i18n } from '@/common';
+import Icon from '@/common/ui/icon';
+import { keyboardService } from '@/common/keyboard';
 import { store } from '../utils';
 import Installed from './tab-installed';
 import Settings from './tab-settings';

+ 8 - 8
src/options/views/edit/index.vue

@@ -63,17 +63,17 @@
 import {
   debounce, formatByteLength, getScriptName, i18n, isEmpty,
   sendCmdDirectly, trueJoin,
-} from '#/common';
-import { deepCopy, deepEqual, objectPick } from '#/common/object';
-import { showConfirmation, showMessage } from '#/common/ui';
-import { keyboardService } from '#/common/keyboard';
-import VmCode from '#/common/ui/code';
-import options from '#/common/options';
-import { route, getUnloadSentry } from '#/common/router';
+} from '@/common';
+import { deepCopy, deepEqual, objectPick } from '@/common/object';
+import { showConfirmation, showMessage } from '@/common/ui';
+import { keyboardService } from '@/common/keyboard';
+import VmCode from '@/common/ui/code';
+import VmExternals from '@/common/ui/externals';
+import options from '@/common/options';
+import { route, getUnloadSentry } from '@/common/router';
 import { store } from '../../utils';
 import VmSettings from './settings';
 import VmValues from './values';
-import VmExternals from '#/common/ui/externals';
 import VmHelp from './help';
 
 const CUSTOM_PROPS = {

+ 2 - 2
src/options/views/edit/settings.vue

@@ -84,8 +84,8 @@
 </template>
 
 <script>
-import { getScriptHome, i18n } from '#/common';
-import { objectGet } from '#/common/object';
+import { getScriptHome, i18n } from '@/common';
+import { objectGet } from '@/common/object';
 
 const highlightMetaKeys = str => str.match(/^(.*?)(@[-a-z]+)(.*)/)?.slice(1) || [str, '', ''];
 

+ 6 - 6
src/options/views/edit/values.vue

@@ -89,12 +89,12 @@
 </template>
 
 <script>
-import { dumpScriptValue, formatByteLength, isEmpty, sendCmdDirectly } from '#/common';
-import { handleTabNavigation, keyboardService } from '#/common/keyboard';
-import { deepEqual, mapEntry } from '#/common/object';
-import Icon from '#/common/ui/icon';
-import storage from '#/common/storage';
-import { showMessage } from '#/common/ui';
+import { dumpScriptValue, formatByteLength, isEmpty, sendCmdDirectly } from '@/common';
+import { handleTabNavigation, keyboardService } from '@/common/keyboard';
+import { deepEqual, mapEntry } from '@/common/object';
+import Icon from '@/common/ui/icon';
+import storage from '@/common/storage';
+import { showMessage } from '@/common/ui';
 import { store } from '../../utils';
 
 const PAGE_SIZE = 25;

+ 2 - 2
src/options/views/feature.vue

@@ -6,8 +6,8 @@
 
 <script>
 import Vue from 'vue';
-import options from '#/common/options';
-import { objectGet } from '#/common/object';
+import options from '@/common/options';
+import { objectGet } from '@/common/object';
 import { store } from '../utils';
 
 const FEATURES_KEY = 'features';

+ 3 - 3
src/options/views/script-item.vue

@@ -126,9 +126,9 @@
 
 <script>
 import Tooltip from 'vueleton/lib/tooltip/bundle';
-import { getLocaleString, getScriptHome, getScriptUpdateUrl, formatTime } from '#/common';
-import Icon from '#/common/ui/icon';
-import { keyboardService, isInput, toggleTip } from '#/common/keyboard';
+import { getLocaleString, getScriptHome, getScriptUpdateUrl, formatTime } from '@/common';
+import Icon from '@/common/ui/icon';
+import { keyboardService, isInput, toggleTip } from '@/common/keyboard';
 
 const itemMargin = 8;
 

+ 13 - 13
src/options/views/tab-installed.vue

@@ -140,18 +140,18 @@
 <script>
 import Dropdown from 'vueleton/lib/dropdown/bundle';
 import Tooltip from 'vueleton/lib/tooltip/bundle';
-import { i18n, sendCmdDirectly, debounce, makePause } from '#/common';
-import options from '#/common/options';
-import { showConfirmation, showMessage } from '#/common/ui';
-import SettingCheck from '#/common/ui/setting-check';
-import hookSetting from '#/common/hook-setting';
-import Icon from '#/common/ui/icon';
-import LocaleGroup from '#/common/ui/locale-group';
-import { forEachKey } from '#/common/object';
-import { setRoute, lastRoute } from '#/common/router';
-import storage from '#/common/storage';
-import { keyboardService, handleTabNavigation } from '#/common/keyboard';
-import { loadData } from '#/options';
+import { i18n, sendCmdDirectly, debounce, makePause } from '@/common';
+import options from '@/common/options';
+import { showConfirmation, showMessage } from '@/common/ui';
+import SettingCheck from '@/common/ui/setting-check';
+import hookSetting from '@/common/hook-setting';
+import Icon from '@/common/ui/icon';
+import LocaleGroup from '@/common/ui/locale-group';
+import { forEachKey } from '@/common/object';
+import { setRoute, lastRoute } from '@/common/router';
+import storage from '@/common/storage';
+import { keyboardService, handleTabNavigation } from '@/common/keyboard';
+import { loadData } from '@/options';
 import ScriptItem from './script-item';
 import Edit from './edit';
 import { store } from '../utils';
@@ -688,7 +688,7 @@ export default {
   .vl-dropdown.active .vl-tooltip-wrap {
     display: none;
   }
-  @media (max-width: 500px) { // same size as `hidden-sm` in #/common/ui/style/style.css
+  @media (max-width: 500px) { // same size as `hidden-sm` in @/common/ui/style/style.css
     .vl-dropdown-right .vl-dropdown-menu {
       position: fixed;
       top: auto;

+ 9 - 9
src/options/views/tab-settings/index.vue

@@ -132,15 +132,15 @@
 
 <script>
 import Tooltip from 'vueleton/lib/tooltip/bundle';
-import { debounce, i18n } from '#/common';
-import { INJECT_AUTO, INJECT_PAGE, INJECT_CONTENT } from '#/common/consts';
-import SettingCheck from '#/common/ui/setting-check';
-import { forEachEntry, mapEntry } from '#/common/object';
-import options from '#/common/options';
-import optionsDefaults from '#/common/options-defaults';
-import hookSetting from '#/common/hook-setting';
-import LocaleGroup from '#/common/ui/locale-group';
-import loadZip from '#/common/zip';
+import { debounce, i18n } from '@/common';
+import { INJECT_AUTO, INJECT_PAGE, INJECT_CONTENT } from '@/common/consts';
+import SettingCheck from '@/common/ui/setting-check';
+import { forEachEntry, mapEntry } from '@/common/object';
+import options from '@/common/options';
+import optionsDefaults from '@/common/options-defaults';
+import hookSetting from '@/common/hook-setting';
+import LocaleGroup from '@/common/ui/locale-group';
+import loadZip from '@/common/zip';
 import VmImport from './vm-import';
 import VmExport from './vm-export';
 import VmSync from './vm-sync';

+ 3 - 3
src/options/views/tab-settings/vm-blacklist.vue

@@ -10,9 +10,9 @@
 </template>
 
 <script>
-import { sendCmd } from '#/common';
-import { showMessage } from '#/common/ui';
-import SettingText from '#/common/ui/setting-text';
+import { sendCmd } from '@/common';
+import { showMessage } from '@/common/ui';
+import SettingText from '@/common/ui/setting-text';
 
 export default {
   components: {

+ 2 - 2
src/options/views/tab-settings/vm-css.vue

@@ -7,8 +7,8 @@
 </template>
 
 <script>
-import { showMessage } from '#/common/ui';
-import SettingText from '#/common/ui/setting-text';
+import { showMessage } from '@/common/ui';
+import SettingText from '@/common/ui/setting-text';
 
 export default {
   components: {

+ 5 - 5
src/options/views/tab-settings/vm-editor.vue

@@ -20,10 +20,10 @@
 </template>
 
 <script>
-import options from '#/common/options';
-import hookSetting from '#/common/hook-setting';
-import { showMessage } from '#/common/ui';
-import SettingText from '#/common/ui/setting-text';
+import options from '@/common/options';
+import hookSetting from '@/common/hook-setting';
+import { showMessage } from '@/common/ui';
+import SettingText from '@/common/ui/setting-text';
 
 const keyThemeCSS = 'editorTheme';
 const keyThemeNAME = 'editorThemeName';
@@ -134,7 +134,7 @@ export default {
       const opts = {};
       Object.entries({
         ...(await import('codemirror')).defaults,
-        ...(await import('#/common/ui/code')).default.data().cmDefaults,
+        ...(await import('@/common/ui/code')).default.data().cmDefaults,
         ...options.get('editor'),
       })
       // sort by keys alphabetically to make it more readable

+ 10 - 10
src/options/views/tab-settings/vm-export.vue

@@ -32,16 +32,16 @@
 <script>
 import Modal from 'vueleton/lib/modal/bundle';
 import Tooltip from 'vueleton/lib/tooltip/bundle';
-import Icon from '#/common/ui/icon';
-import { getScriptName, sendCmdDirectly } from '#/common';
-import { formatDate, DATE_FMT } from '#/common/date';
-import { objectGet } from '#/common/object';
-import options from '#/common/options';
-import ua from '#/common/ua';
-import SettingCheck from '#/common/ui/setting-check';
-import SettingText from '#/common/ui/setting-text';
-import { downloadBlob } from '#/common/download';
-import loadZip from '#/common/zip';
+import Icon from '@/common/ui/icon';
+import { getScriptName, sendCmdDirectly } from '@/common';
+import { formatDate, DATE_FMT } from '@/common/date';
+import { objectGet } from '@/common/object';
+import options from '@/common/options';
+import ua from '@/common/ua';
+import SettingCheck from '@/common/ui/setting-check';
+import SettingText from '@/common/ui/setting-text';
+import { downloadBlob } from '@/common/download';
+import loadZip from '@/common/zip';
 import { store } from '../../utils';
 
 /**

+ 5 - 5
src/options/views/tab-settings/vm-import.vue

@@ -19,11 +19,11 @@
 
 <script>
 import Tooltip from 'vueleton/lib/tooltip/bundle';
-import { ensureArray, i18n, sendCmdDirectly } from '#/common';
-import options from '#/common/options';
-import SettingCheck from '#/common/ui/setting-check';
-import loadZipLibrary from '#/common/zip';
-import { showConfirmation, showMessage } from '#/common/ui';
+import { ensureArray, i18n, sendCmdDirectly } from '@/common';
+import options from '@/common/options';
+import SettingCheck from '@/common/ui/setting-check';
+import loadZipLibrary from '@/common/zip';
+import { showConfirmation, showMessage } from '@/common/ui';
 
 const reports = [];
 

+ 5 - 5
src/options/views/tab-settings/vm-sync.vue

@@ -71,11 +71,11 @@
 
 <script>
 import Tooltip from 'vueleton/lib/tooltip/bundle';
-import { noop, sendCmd } from '#/common';
-import options from '#/common/options';
-import SettingCheck from '#/common/ui/setting-check';
-import hookSetting from '#/common/hook-setting';
-import Icon from '#/common/ui/icon';
+import { noop, sendCmd } from '@/common';
+import options from '@/common/options';
+import SettingCheck from '@/common/ui/setting-check';
+import hookSetting from '@/common/hook-setting';
+import Icon from '@/common/ui/icon';
 import { store } from '../../utils';
 
 const SYNC_CURRENT = 'sync.current';

+ 2 - 2
src/options/views/tab-settings/vm-template.vue

@@ -6,8 +6,8 @@
 </template>
 
 <script>
-import { showMessage } from '#/common/ui';
-import SettingText from '#/common/ui/setting-text';
+import { showMessage } from '@/common/ui';
+import SettingText from '@/common/ui/setting-text';
 
 export default {
   components: {

+ 7 - 7
src/popup/index.js

@@ -1,11 +1,11 @@
 import Vue from 'vue';
-import '#/common/browser';
-import { sendCmdDirectly } from '#/common';
-import { INJECT_PAGE } from '#/common/consts';
-import handlers from '#/common/handlers';
-import { loadScriptIcon } from '#/common/load-script-icon';
-import { forEachValue, mapEntry } from '#/common/object';
-import '#/common/ui/style';
+import '@/common/browser';
+import { sendCmdDirectly } from '@/common';
+import { INJECT_PAGE } from '@/common/consts';
+import handlers from '@/common/handlers';
+import { loadScriptIcon } from '@/common/load-script-icon';
+import { forEachValue, mapEntry } from '@/common/object';
+import '@/common/ui/style';
 import App from './views/app';
 import { mutex, store } from './utils';
 

+ 6 - 6
src/popup/views/app.vue

@@ -189,15 +189,15 @@
 
 <script>
 import Tooltip from 'vueleton/lib/tooltip/bundle';
-import { INJECT_AUTO } from '#/common/consts';
-import options from '#/common/options';
+import { INJECT_AUTO } from '@/common/consts';
+import options from '@/common/options';
 import {
   getScriptHome, getScriptName, getScriptUpdateUrl,
   i18n, makePause, sendCmd, sendTabCmd,
-} from '#/common';
-import { objectPick } from '#/common/object';
-import Icon from '#/common/ui/icon';
-import { keyboardService, isInput } from '#/common/keyboard';
+} from '@/common';
+import { objectPick } from '@/common/object';
+import Icon from '@/common/ui/icon';
+import { keyboardService, isInput } from '@/common/keyboard';
 import { mutex, store } from '../utils';
 
 const manifest = browser.runtime.getManifest();

+ 1 - 1
test/background/script.test.js

@@ -1,5 +1,5 @@
 import test from 'tape';
-import { parseMeta } from '#/background/utils/script';
+import { parseMeta } from '@/background/utils/script';
 
 const baseMeta = {
   include: [],

+ 2 - 2
test/background/tester.test.js

@@ -1,6 +1,6 @@
 import test from 'tape';
-import { testScript, testBlacklist, resetBlacklist } from '#/background/utils/tester';
-import cache from '#/background/utils/cache';
+import { testScript, testBlacklist, resetBlacklist } from '@/background/utils/tester';
+import cache from '@/background/utils/cache';
 
 test.onFinish(cache.destroy);
 

+ 1 - 1
test/common/index.test.js

@@ -1,7 +1,7 @@
 import test from 'tape';
 import {
   isRemote, compareVersion, debounce, throttle,
-} from '#/common';
+} from '@/common';
 import { mocker } from '../mock';
 
 test('isRemote', (t) => {

+ 2 - 2
test/injected/gm-resource.test.js

@@ -1,6 +1,6 @@
 import test from 'tape';
-import { buffer2string } from '#/common';
-import { decodeResource } from '#/injected/content/util';
+import { buffer2string } from '@/common';
+import { decodeResource } from '@/injected/content/util';
 
 const stringAsBase64 = str => btoa(buffer2string(new TextEncoder().encode(str).buffer));
 

+ 1 - 1
test/injected/helpers.test.js

@@ -1,5 +1,5 @@
 import test from 'tape';
-import { jsonDump } from '#/injected/web/util-web';
+import { jsonDump } from '@/injected/web/util-web';
 
 test('jsonDump', (t) => {
   const sameChildObj = { foo: 1 };

+ 4 - 4
test/mock/polyfill.js

@@ -35,7 +35,7 @@ for (const k of Object.keys(domProps)) {
 Object.defineProperties(global, domProps);
 delete MessagePort.prototype.onmessage; // to avoid hanging
 global.__VAULT_ID__ = false;
-Object.assign(global, require('#/common/safe-globals'));
-Object.assign(global, require('#/injected/safe-globals-injected'));
-Object.assign(global, require('#/injected/content/safe-globals-content'));
-Object.assign(global, require('#/injected/web/safe-globals-web'));
+Object.assign(global, require('@/common/safe-globals'));
+Object.assign(global, require('@/injected/safe-globals-injected'));
+Object.assign(global, require('@/injected/content/safe-globals-content'));
+Object.assign(global, require('@/injected/web/safe-globals-web'));