Skip to content

Commit 4847750

Browse files
committed
feat: use jquery package
1 parent 55fabf2 commit 4847750

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+136
-27
lines changed

gulpfile.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,7 @@ function dist_rollup() {
403403
// I will be picked up by rollup and bundled accordingly.
404404
'js/main_cordova': 'src/js/main_cordova.js',
405405
'js/utils/common': 'src/js/utils/common.js',
406+
'js/jquery': 'src/js/jquery.js',
406407
'js/main': 'src/js/main.js',
407408
'js/tabs/receiver_msp': 'src/js/tabs/receiver_msp.js',
408409
},
@@ -437,8 +438,16 @@ function dist_rollup() {
437438
sourcemap: true,
438439
// put any 3rd party module in vendor.js
439440
manualChunks(id) {
441+
/**
442+
* This splits every npm module loaded in into it's own package
443+
* to preserve the loading order. This is to prevent issues
444+
* where after bundling some modules are loaded in the wrong order.
445+
*/
440446
if (id.includes('node_modules')) {
441-
return 'vendor';
447+
const parts = id.split(/[\\/]/);
448+
const nodeModulesIndex = parts.indexOf('node_modules');
449+
const packageName = parts[nodeModulesIndex + 1];
450+
return packageName;
442451
}
443452
},
444453
dir: DIST_DIR,

package.json

+5-2
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@
6363
"i18next-xhr-backend": "^3.2.2",
6464
"inflection": "^1.13.4",
6565
"jbox": "^1.3.3",
66-
"jquery": "^3.6.1",
66+
"jquery": "^3.6.3",
6767
"jquery-textcomplete": "^1.8.5",
6868
"jquery-touchswipe": "^1.6.19",
69-
"jquery-ui-npm": "^1.12.0",
69+
"jquery-ui": "^1.13.2",
7070
"jsdom": "^21.0.0",
7171
"lodash.debounce": "^4.0.8",
7272
"marked": "^4.1.1",
@@ -135,6 +135,9 @@
135135
"optionalDependencies": {
136136
"appdmg": "^0.6.4"
137137
},
138+
"resolutions": {
139+
"jquery": "3.6.3"
140+
},
138141
"husky": {
139142
"hooks": {
140143
"pre-commit": "yarn lint"

src/components/EscDshotDirection/EscDshotDirectionComponent.js

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import DshotCommand from "../../js/utils/DshotCommand.js";
66
import FC from "../../js/fc.js";
77
import { API_VERSION_1_44 } from '../../js/data_storage.js';
88
import { getMixerImageSrc } from "../../js/utils/common.js";
9+
import $ from "jquery";
910

1011
class EscDshotDirectionComponent
1112
{

src/components/MotorOutputReordering/MotorOutputReorderingComponent.js

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import FC from "../../js/fc";
88
import { gui_log } from "../../js/gui_log";
99
import { i18n } from "../../js/localization";
1010
import GUI, { TABS } from "../../js/gui";
11+
import $ from "jquery";
1112

1213
export default class MotorOutputReorderComponent
1314
{

src/js/Analytics.js

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import googleAnalytics from 'universal-ga';
33
import { set as setConfig, get as getConfig } from './ConfigStorage';
44
import GUI from './gui';
55
import CONFIGURATOR from './data_storage';
6+
import $ from 'jquery';
67

78
let tracking = null;
89
export { tracking };

src/js/Beepers.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { bit_check, bit_clear, bit_set } from './bit';
2+
import $ from 'jquery';
23

34
class Beepers {
45
constructor(config, supportedConditions) {

src/js/BuildApi.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { gui_log } from './gui_log';
22
import { i18n } from "./localization";
33
import { get as getStorage, set as setStorage } from "./SessionStorage";
4+
import $ from 'jquery';
45

56
export default class BuildApi {
67

src/js/CliAutoComplete.js

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import CONFIGURATOR from './data_storage';
33
import FC from './fc';
44
import semver from 'semver';
55
import { tracking } from './Analytics';
6+
import $ from 'jquery';
67

78
/**
89
* Encapsulates the AutoComplete logic

src/js/DarkTheme.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import GUI from "./gui";
22
import windowWatcherUtil from "./utils/window_watchers";
33
import { checkSetupAnalytics } from "./Analytics";
4+
import $ from 'jquery';
45

56
const css_dark = [
67
'./css/dark-theme.css',

src/js/Features.js

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { bit_check, bit_set, bit_clear } from "./bit";
22
import { API_VERSION_1_44, API_VERSION_1_45 } from './data_storage';
33
import semver from "semver";
44
import { tracking } from "./Analytics";
5+
import $ from 'jquery';
56

67
const Features = function (config) {
78
const self = this;

src/js/LogoManager.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { gui_log } from "./gui_log";
22
import { i18n } from "./localization";
33
import { checkChromeRuntimeError } from "./utils/common";
4+
import $ from 'jquery';
45

56
/**
67
* Takes an ImageData object and returns an MCM symbol as an array of strings.

src/js/TuningSliders.js

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { isExpertModeEnabled } from "./utils/isExportModeEnabled";
66
import semver from "semver";
77
import { mspHelper } from "./msp/MSPHelper";
88
import { TABS } from "./gui";
9+
import $ from 'jquery';
910

1011
const TuningSliders = {
1112
// Legacy Sliders

src/js/gui.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import MSP from './msp';
33
import Switchery from 'switchery-latest';
44
import jBox from 'jbox';
55
import { checkChromeRuntimeError } from './utils/common';
6+
import $ from 'jquery';
67

78
const TABS = {};
89

@@ -316,7 +317,7 @@ class GuiControl {
316317
documentationButton.html("Wiki").attr("href", `https://betaflight.com/docs/wiki/configurator/${tRex}-tab`);
317318

318319
// loading tooltip
319-
jQuery(function () {
320+
$(function () {
320321

321322
new jBox('Tooltip', {
322323
attach: '.cf_tip',

src/js/gui_log.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import $ from "jquery";
2+
13
/**
24
* log to GUI
35
* @param {string} message message to log to GUI

src/js/jquery.js

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import $ from 'jquery';
2+
3+
/**
4+
* jQuery has plugins which load in all sort of different ways,
5+
* not necessary as modules. This binds jquery package to global
6+
* scope and is loaded in first, so that when plugins are loaded
7+
* all of them have access to the same instance.
8+
*/
9+
if(typeof globalThis !== 'undefined') {
10+
// eslint-disable-next-line no-undef
11+
globalThis.jQuery = $;
12+
// eslint-disable-next-line no-undef
13+
globalThis.$ = $;
14+
}
15+
16+
if(typeof window !== 'undefined') {
17+
window.jQuery = $;
18+
window.$ = $;
19+
}
20+
21+
if(typeof global !== 'undefined') {
22+
global.$ = $;
23+
global.jQuery = $;
24+
}
25+
26+
export default $;

src/js/jqueryPlugins.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import './jquery';
2+
import 'jquery-ui/dist/jquery-ui';
3+
import 'jquery-textcomplete';
4+
import 'jquery-touchswipe';
5+
import select2 from 'select2';
6+
select2(jQuery);
7+
import 'multiple-select';
8+
import '../../libraries/jquery.nouislider.all.min.js';
9+
import '../../libraries/jquery.flightindicators.js';

src/js/localization.js

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import i18next from 'i18next';
22
import i18nextXHRBackend from 'i18next-xhr-backend';
33
import { gui_log } from './gui_log.js';
44
import { get as getConfig, set as setConfig } from './ConfigStorage.js';
5+
import $ from "jquery";
56

67
const i18n = {};
78
/*

src/js/main.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import './jqueryPlugins';
2+
import $ from 'jquery';
13
import 'jbox';
24
import '../components/init.js';
35
import { gui_log } from './gui_log.js';

src/js/main_cordova.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { i18n } from "./localization.js";
2+
import $ from 'jquery';
23

34
const REQUIRED_WEBVIEW_VERSION = 72;
45
const WEBVIEW = {

src/js/msp/MSPConnector.js

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import CONFIGURATOR from "../data_storage";
99
import serial from "../serial";
1010
import { gui_log } from "../gui_log";
1111

12+
/**
13+
* This seems to be mainly used in firmware flasher parts.
14+
*/
1215
const MSPConnectorImpl = function () {
1316
this.baud = undefined;
1417
this.port = undefined;

src/js/msp/MSPHelper.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import '../injected_methods';
12
import { update_dataflash_global } from "../update_dataflash_global";
23
import { sensor_status } from "../sensor_helpers";
34
import { bit_check, bit_set } from "../bit";

src/js/phones_ui.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import GUI from "./gui";
2+
import $ from 'jquery';
23

34
const UI_PHONES = {
45
background: '#background',

src/js/port_handler.js

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { generateVirtualApiVersions, getTextWidth } from './utils/common';
55
import { get as getConfig } from "./ConfigStorage";
66
import serial from "./serial";
77
import MdnsDiscovery from "./mdns_discovery";
8+
import $ from 'jquery';
89

910
const TIMEOUT_CHECK = 500 ; // With 250 it seems that it produces a memory leak and slowdown in some versions, reason unknown
1011

src/js/protocols/stm32.js

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { API_VERSION_1_42 } from "../data_storage";
1919
import serial from "../serial";
2020
import STM32DFU from "./stm32usbdfu";
2121
import semver from "semver";
22+
import $ from 'jquery';
2223

2324
const STM32_protocol = function () {
2425
this.baud = null;

src/js/sensor_helpers.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { bit_check } from './bit';
2+
import $ from 'jquery';
23

34
export function have_sensor(sensors_detected, sensor_code) {
45
switch(sensor_code) {

src/js/serial.js

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { gui_log } from "./gui_log";
66
import inflection from "inflection";
77
import PortHandler from "./port_handler";
88
import { checkChromeRuntimeError } from "./utils/common";
9+
import $ from 'jquery';
910

1011
const serial = {
1112
connected: false,

src/js/serial_backend.js

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { get as getConfig, set as setConfig } from "./ConfigStorage";
2222
import { tracking } from "./Analytics";
2323
import semver from 'semver';
2424
import CryptoES from "crypto-es";
25+
import $ from 'jquery';
2526
import BuildApi from "./BuildApi";
2627

2728
let mspHelper;

src/js/tabs/adjustments.js

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import MSPCodes from '../msp/MSPCodes';
77
import { API_VERSION_1_42 } from '../data_storage';
88
import { gui_log } from '../gui_log';
99
import semver from 'semver';
10+
import $ from 'jquery';
1011

1112
const adjustments = {};
1213

src/js/tabs/auxiliary.js

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import MSP from '../msp';
88
import MSPCodes from '../msp/MSPCodes';
99
import adjustBoxNameIfPeripheralWithModeID from '../peripherals';
1010
import { getTextWidth } from '../utils/common';
11+
import $ from 'jquery';
1112
import inflection from "inflection";
1213

1314
const auxiliary = {};

src/js/tabs/cli.js

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import UI_PHONES from "../phones_ui";
1212
import { gui_log } from "../gui_log";
1313
import jBox from "jbox";
1414
import { checkChromeRuntimeError } from "../utils/common";
15+
import $ from 'jquery';
1516

1617
const cli = {
1718
lineDelayMs: 15,

src/js/tabs/configuration.js

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import MSP from '../msp';
88
import MSPCodes from '../msp/MSPCodes';
99
import { API_VERSION_1_42, API_VERSION_1_43, API_VERSION_1_45 } from '../data_storage';
1010
import { updateTabList } from '../utils/updateTabList';
11+
import $ from 'jquery';
1112

1213
const configuration = {
1314
analyticsChanges: {},

src/js/tabs/failsafe.js

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import MSPCodes from "../msp/MSPCodes";
77
import adjustBoxNameIfPeripheralWithModeID from "../peripherals";
88
import { API_VERSION_1_43, API_VERSION_1_44, API_VERSION_1_45 } from "../data_storage";
99
import semver from 'semver';
10+
import $ from 'jquery';
1011

1112
const failsafe = {};
1213

src/js/tabs/firmware_flasher.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import $ from 'jquery';
12
import { i18n } from '../localization';
23
import GUI, { TABS } from '../gui';
34
import { get as getConfig, set as setConfig } from '../ConfigStorage';

src/js/tabs/gps.js

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import GUI, { TABS } from '../gui';
55
import FC from '../fc';
66
import MSP from "../msp";
77
import MSPCodes from "../msp/MSPCodes";
8+
import $ from 'jquery';
89
import { have_sensor } from "../sensor_helpers";
910
import { mspHelper } from '../msp/MSPHelper';
1011
import { updateTabList } from '../utils/updateTabList';

src/js/tabs/help.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import GUI, { TABS } from '../gui';
22
import { i18n } from '../localization';
3+
import $ from 'jquery';
34

45
const help = {};
56
help.initialize = function (callback) {

src/js/tabs/landing.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import GUI, { TABS } from '../gui';
22
import { i18n } from '../localization';
3+
import $ from 'jquery';
34

45
const landing = {};
56
landing.initialize = function (callback) {

src/js/tabs/led_strip.js

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import FC from "../fc";
55
import semver from 'semver';
66
import MSP from "../msp";
77
import MSPCodes from "../msp/MSPCodes";
8+
import $ from 'jquery';
89
import { API_VERSION_1_46 } from '../data_storage';
910

1011
const led_strip = {

src/js/tabs/logging.js

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import MSP from '../msp.js';
88
import MSPCodes from '../msp/MSPCodes.js';
99
import CONFIGURATOR from '../data_storage.js';
1010
import { gui_log } from '../gui_log.js';
11+
import $ from 'jquery';
1112

1213
const logging = {};
1314
logging.initialize = function (callback) {

src/js/tabs/motors.js

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { updateTabList } from "../utils/updateTabList";
1818
import { isInt, getMixerImageSrc } from "../utils/common";
1919
import semver from 'semver';
2020
import * as d3 from 'd3';
21+
import $ from 'jquery';
2122

2223
const motors = {
2324
previousDshotBidir: null,

src/js/tabs/onboard_logging.js

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { generateFilename } from "../utils/generate_filename";
1111
import semver from 'semver';
1212
import { showErrorDialog } from "../utils/showErrorDialog";
1313
import { checkChromeRuntimeError } from "../utils/common";
14+
import $ from 'jquery';
1415

1516
let sdcardTimer;
1617

src/js/tabs/options.js

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import CliAutoComplete from '../CliAutoComplete';
66
import DarkTheme, { setDarkTheme } from '../DarkTheme';
77
import { checkForConfiguratorUpdates } from '../utils/checkForConfiguratorUpdates';
88
import { checkSetupAnalytics } from '../Analytics';
9+
import $ from 'jquery';
910
import CONFIGURATOR from '../data_storage';
1011

1112
const options = {};

src/js/tabs/osd.js

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import jBox from "jbox";
1515
import inflection from "inflection";
1616
import { checkChromeRuntimeError } from "../utils/common";
1717
import debounce from "lodash.debounce";
18+
import $ from 'jquery';
1819

1920
const FONT = {};
2021
const SYM = {};

src/js/tabs/pid_tuning.js

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { gui_log } from "../gui_log";
1515
import { degToRad, isInt } from "../utils/common";
1616
import semver from "semver";
1717
import * as THREE from "three";
18+
import $ from 'jquery';
1819

1920
const pid_tuning = {
2021
RATE_PROFILE_MASK: 128,

src/js/tabs/ports.js

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import MSP from '../msp';
88
import MSPCodes from '../msp/MSPCodes';
99
import { API_VERSION_1_42, API_VERSION_1_43, API_VERSION_1_45 } from '../data_storage';
1010
import BOARD from '../boards';
11+
import $ from 'jquery';
1112

1213
const ports = {
1314
analyticsChanges: {},

0 commit comments

Comments
 (0)