Skip to content

Commit

Permalink
Merge pull request #18300 from MauricioFauth/typescript
Browse files Browse the repository at this point in the history
Convert JavaScript files to TypeScript
  • Loading branch information
MauricioFauth committed Mar 31, 2023
2 parents 4b1593b + 5630079 commit 0ca7a79
Show file tree
Hide file tree
Showing 112 changed files with 641 additions and 463 deletions.
15 changes: 13 additions & 2 deletions .eslintrc.json
@@ -1,10 +1,13 @@
{
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:no-jquery/deprecated",
"plugin:compat/recommended"
],
"plugins": ["no-jquery"],
"parser": "@typescript-eslint/parser",
"plugins": [ "@typescript-eslint", "no-jquery" ],
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
Expand Down Expand Up @@ -46,16 +49,24 @@
"no-trailing-spaces": "error",
"no-underscore-dangle": "error",
"no-unneeded-ternary": "error",
"no-var": "off",
"object-curly-spacing": ["error", "always"],
"one-var": ["error", "never"],
"padded-blocks": ["error", "never"],
"prefer-const": "off",
"prefer-rest-params": "off",
"prefer-spread": "off",
"quotes": ["error", "single"],
"semi": "error",
"space-before-blocks": "error",
"space-before-function-paren": "error",
"space-in-parens": "error",
"space-infix-ops": "error",
"spaced-comment": ["error", "always"],
"wrap-iife": "error"
"wrap-iife": "error",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/no-this-alias": "off"
}
}
13 changes: 13 additions & 0 deletions babel.config.json
@@ -0,0 +1,13 @@
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
],
"@babel/preset-typescript"
]
}
7 changes: 4 additions & 3 deletions jest.config.cjs
@@ -1,17 +1,18 @@
/* eslint-env node */

module.exports = {
extensionsToTreatAsEsm: ['.ts'],
coverageDirectory: '<rootDir>/build/javascript/',
collectCoverageFrom: ['<rootDir>/js/src/**/*.js'],
collectCoverageFrom: ['<rootDir>/js/src/**/*.ts'],
projects: [
{
coveragePathIgnorePatterns: [
'<rootDir>/node_modules/',
'<rootDir>/js/vendor/',
],
displayName: 'phpMyAdmin',
testMatch: ['<rootDir>/test/javascript/**/*.js'],
transform: {},
testMatch: ['<rootDir>/test/javascript/**/*.ts'],
transform: { '\\.[jt]sx?$': 'babel-jest' },
moduleNameMapper: {
'^phpmyadmin/(.*)$': '<rootDir>/js/src/$1',
'^@vendor/(.*)$': '<rootDir>/js/vendor/$1',
Expand Down
File renamed without changes.
@@ -1,5 +1,5 @@
import $ from 'jquery';
import { CommonParams } from '../../../modules/common.js';
import { CommonParams } from '../../../modules/common.ts';

window.CodeMirror.sqlLint = function (text, updateLinting, options, cm) {
// Skipping check if text box is empty.
Expand Down
2 changes: 1 addition & 1 deletion js/src/console.js → js/src/console.ts
@@ -1,5 +1,5 @@
import $ from 'jquery';
import { Console } from './modules/console.js';
import { Console } from './modules/console.ts';

$(function () {
Console.initialize();
Expand Down
@@ -1,7 +1,7 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { CommonParams } from '../modules/common.js';
import { ajaxShowMessage } from '../modules/ajax-message.js';
import { AJAX } from '../modules/ajax.ts';
import { CommonParams } from '../modules/common.ts';
import { ajaxShowMessage } from '../modules/ajax-message.ts';

/**
* @fileoverview events handling from central columns page
Expand Down
10 changes: 5 additions & 5 deletions js/src/database/events.js → js/src/database/events.ts
@@ -1,9 +1,9 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { Functions } from '../modules/functions.js';
import { Navigation } from '../modules/navigation.js';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.js';
import { AJAX } from '../modules/ajax.ts';
import { Functions } from '../modules/functions.ts';
import { Navigation } from '../modules/navigation.ts';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.ts';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.ts';

AJAX.registerTeardown('database/events.js', function () {
$(document).off('click', 'a.ajax.add_anchor, a.ajax.edit_anchor');
Expand Down
@@ -1,9 +1,9 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { Functions } from '../modules/functions.js';
import { CommonParams } from '../modules/common.js';
import { ajaxShowMessage } from '../modules/ajax-message.js';
import { escapeBacktick } from '../modules/functions/escape.js';
import { AJAX } from '../modules/ajax.ts';
import { Functions } from '../modules/functions.ts';
import { CommonParams } from '../modules/common.ts';
import { ajaxShowMessage } from '../modules/ajax-message.ts';
import { escapeBacktick } from '../modules/functions/escape.ts';

/**
* @fileoverview function used in QBE for DB
Expand Down
16 changes: 8 additions & 8 deletions js/src/database/operations.js → js/src/database/operations.ts
@@ -1,12 +1,12 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { Functions } from '../modules/functions.js';
import { Navigation } from '../modules/navigation.js';
import { CommonParams } from '../modules/common.js';
import { ajaxShowMessage } from '../modules/ajax-message.js';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.js';
import { escapeHtml } from '../modules/functions/escape.js';
import refreshMainContent from '../modules/functions/refreshMainContent.js';
import { AJAX } from '../modules/ajax.ts';
import { Functions } from '../modules/functions.ts';
import { Navigation } from '../modules/navigation.ts';
import { CommonParams } from '../modules/common.ts';
import { ajaxShowMessage } from '../modules/ajax-message.ts';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.ts';
import { escapeHtml } from '../modules/functions/escape.ts';
import refreshMainContent from '../modules/functions/refreshMainContent.ts';

/**
* @fileoverview function used in server privilege pages
Expand Down
4 changes: 2 additions & 2 deletions js/src/database/qbe.js → js/src/database/qbe.ts
@@ -1,6 +1,6 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { Functions } from '../modules/functions.js';
import { AJAX } from '../modules/ajax.ts';
import { Functions } from '../modules/functions.ts';

/**
* @fileoverview function used in QBE for DB
Expand Down
@@ -1,5 +1,5 @@
import $ from 'jquery';
import { escapeBacktick, escapeSingleQuote } from '../modules/functions/escape.js';
import { escapeBacktick, escapeSingleQuote } from '../modules/functions/escape.ts';

/**
* @fileoverview function used in QBE for DB
Expand Down
10 changes: 5 additions & 5 deletions js/src/database/routines.js → js/src/database/routines.ts
@@ -1,9 +1,9 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { Functions } from '../modules/functions.js';
import { Navigation } from '../modules/navigation.js';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.js';
import { AJAX } from '../modules/ajax.ts';
import { Functions } from '../modules/functions.ts';
import { Navigation } from '../modules/navigation.ts';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.ts';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.ts';

AJAX.registerTeardown('database/routines.js', function () {
$(document).off('click', 'a.ajax.add_anchor');
Expand Down
12 changes: 6 additions & 6 deletions js/src/database/search.js → js/src/database/search.ts
@@ -1,10 +1,10 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { Functions } from '../modules/functions.js';
import { CommonParams } from '../modules/common.js';
import highlightSql from '../modules/sql-highlight.js';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js';
import getImageTag from '../modules/functions/getImageTag.js';
import { AJAX } from '../modules/ajax.ts';
import { Functions } from '../modules/functions.ts';
import { CommonParams } from '../modules/common.ts';
import highlightSql from '../modules/sql-highlight.ts';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.ts';
import getImageTag from '../modules/functions/getImageTag.ts';

/**
* JavaScript functions used on Database Search page
Expand Down
16 changes: 8 additions & 8 deletions js/src/database/structure.js → js/src/database/structure.ts
@@ -1,12 +1,12 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { Functions } from '../modules/functions.js';
import { Navigation } from '../modules/navigation.js';
import { CommonParams } from '../modules/common.js';
import tooltip from '../modules/tooltip.js';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.js';
import { escapeHtml } from '../modules/functions/escape.js';
import { AJAX } from '../modules/ajax.ts';
import { Functions } from '../modules/functions.ts';
import { Navigation } from '../modules/navigation.ts';
import { CommonParams } from '../modules/common.ts';
import tooltip from '../modules/tooltip.ts';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.ts';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.ts';
import { escapeHtml } from '../modules/functions/escape.ts';

/**
* @fileoverview functions used on the database structure page
Expand Down
8 changes: 4 additions & 4 deletions js/src/database/tracking.js → js/src/database/tracking.ts
@@ -1,8 +1,8 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { CommonParams } from '../modules/common.js';
import { ajaxShowMessage } from '../modules/ajax-message.js';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.js';
import { AJAX } from '../modules/ajax.ts';
import { CommonParams } from '../modules/common.ts';
import { ajaxShowMessage } from '../modules/ajax-message.ts';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.ts';

/**
* Unbind all event handlers before tearing down the page
Expand Down
10 changes: 5 additions & 5 deletions js/src/database/triggers.js → js/src/database/triggers.ts
@@ -1,9 +1,9 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { Functions } from '../modules/functions.js';
import { Navigation } from '../modules/navigation.js';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.js';
import { AJAX } from '../modules/ajax.ts';
import { Functions } from '../modules/functions.ts';
import { Navigation } from '../modules/navigation.ts';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.ts';
import getJsConfirmCommonParam from '../modules/functions/getJsConfirmCommonParam.ts';

AJAX.registerTeardown('database/triggers.js', function () {
$(document).off('click', 'a.ajax.add_anchor, a.ajax.edit_anchor');
Expand Down
File renamed without changes.
File renamed without changes.
@@ -1,4 +1,4 @@
import { ajaxShowMessage } from '../modules/ajax-message.js';
import { ajaxShowMessage } from '../modules/ajax-message.ts';

var designerTables = [
{
Expand Down
6 changes: 3 additions & 3 deletions js/src/designer/history.js → js/src/designer/history.ts
@@ -1,7 +1,7 @@
import $ from 'jquery';
import { Functions } from '../modules/functions.js';
import getImageTag from '../modules/functions/getImageTag.js';
import { DesignerConfig } from './config.js';
import { Functions } from '../modules/functions.ts';
import getImageTag from '../modules/functions/getImageTag.ts';
import { DesignerConfig } from './config.ts';

/**
* @fileoverview function used in this file builds history tab and generates query.
Expand Down
12 changes: 6 additions & 6 deletions js/src/designer/init.js → js/src/designer/init.ts
@@ -1,10 +1,10 @@
import $ from 'jquery';
import { AJAX } from '../modules/ajax.js';
import { DesignerOfflineDB } from './database.js';
import { DesignerHistory } from './history.js';
import { DesignerMove } from './move.js';
import { DesignerPage } from './page.js';
import { DesignerConfig } from './config.js';
import { AJAX } from '../modules/ajax.ts';
import { DesignerOfflineDB } from './database.ts';
import { DesignerHistory } from './history.ts';
import { DesignerMove } from './move.ts';
import { DesignerPage } from './page.ts';
import { DesignerConfig } from './config.ts';

/**
* Initializes the data required to run Designer, then fires it up.
Expand Down
18 changes: 9 additions & 9 deletions js/src/designer/move.js → js/src/designer/move.ts
@@ -1,13 +1,13 @@
import $ from 'jquery';
import { Functions } from '../modules/functions.js';
import { CommonParams } from '../modules/common.js';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.js';
import refreshMainContent from '../modules/functions/refreshMainContent.js';
import { Navigation } from '../modules/navigation.js';
import { DesignerObjects } from './objects.js';
import { DesignerHistory } from './history.js';
import { DesignerPage } from './page.js';
import { DesignerConfig } from './config.js';
import { Functions } from '../modules/functions.ts';
import { CommonParams } from '../modules/common.ts';
import { ajaxRemoveMessage, ajaxShowMessage } from '../modules/ajax-message.ts';
import refreshMainContent from '../modules/functions/refreshMainContent.ts';
import { Navigation } from '../modules/navigation.ts';
import { DesignerObjects } from './objects.ts';
import { DesignerHistory } from './history.ts';
import { DesignerPage } from './page.ts';
import { DesignerConfig } from './config.ts';

/* global themeImagePath */ // templates/javascript/variables.twig

Expand Down
File renamed without changes.
12 changes: 6 additions & 6 deletions js/src/designer/page.js → js/src/designer/page.ts
@@ -1,10 +1,10 @@
import $ from 'jquery';
import { ajaxShowMessage } from '../modules/ajax-message.js';
import { escapeHtml } from '../modules/functions/escape.js';
import { DesignerConfig } from './config.js';
import { DesignerOfflineDB } from './database.js';
import { DesignerMove } from './move.js';
import { DesignerObjects } from './objects.js';
import { ajaxShowMessage } from '../modules/ajax-message.ts';
import { escapeHtml } from '../modules/functions/escape.ts';
import { DesignerConfig } from './config.ts';
import { DesignerOfflineDB } from './database.ts';
import { DesignerMove } from './move.ts';
import { DesignerObjects } from './objects.ts';

var DesignerPage = {};

Expand Down
6 changes: 3 additions & 3 deletions js/src/drag_drop_import.js → js/src/drag_drop_import.ts
@@ -1,7 +1,7 @@
import $ from 'jquery';
import { AJAX } from './modules/ajax.js';
import { CommonParams } from './modules/common.js';
import { escapeHtml } from './modules/functions/escape.js';
import { AJAX } from './modules/ajax.ts';
import { CommonParams } from './modules/common.ts';
import { escapeHtml } from './modules/functions/escape.ts';

/* This script handles PMA Drag Drop Import, loaded only when configuration is enabled.*/

Expand Down
8 changes: 4 additions & 4 deletions js/src/error_report.js → js/src/error_report.ts
@@ -1,8 +1,8 @@
import $ from 'jquery';
import { AJAX } from './modules/ajax.js';
import { CommonParams } from './modules/common.js';
import { ajaxShowMessage } from './modules/ajax-message.js';
import getImageTag from './modules/functions/getImageTag.js';
import { AJAX } from './modules/ajax.ts';
import { CommonParams } from './modules/common.ts';
import { ajaxShowMessage } from './modules/ajax-message.ts';
import getImageTag from './modules/functions/getImageTag.ts';

/**
* general function, usually for data manipulation pages
Expand Down
10 changes: 5 additions & 5 deletions js/src/export.js → js/src/export.ts
@@ -1,9 +1,9 @@
import $ from 'jquery';
import { AJAX } from './modules/ajax.js';
import { Functions } from './modules/functions.js';
import { CommonParams } from './modules/common.js';
import highlightSql from './modules/sql-highlight.js';
import { ajaxShowMessage } from './modules/ajax-message.js';
import { AJAX } from './modules/ajax.ts';
import { Functions } from './modules/functions.ts';
import { CommonParams } from './modules/common.ts';
import highlightSql from './modules/sql-highlight.ts';
import { ajaxShowMessage } from './modules/ajax-message.ts';

/**
* Functions used in the export tab
Expand Down
2 changes: 1 addition & 1 deletion js/src/export_output.js → js/src/export_output.ts
@@ -1,5 +1,5 @@
import $ from 'jquery';
import { AJAX } from './modules/ajax.js';
import { AJAX } from './modules/ajax.ts';

AJAX.registerOnload('export_output.js', function () {
$(document).on('keydown', function (e) {
Expand Down
6 changes: 3 additions & 3 deletions js/src/gis_data_editor.js → js/src/gis_data_editor.ts
@@ -1,7 +1,7 @@
import $ from 'jquery';
import { AJAX } from './modules/ajax.js';
import { CommonParams } from './modules/common.js';
import { ajaxShowMessage } from './modules/ajax-message.js';
import { AJAX } from './modules/ajax.ts';
import { CommonParams } from './modules/common.ts';
import { ajaxShowMessage } from './modules/ajax-message.ts';

/**
* @fileoverview functions used in GIS data editor
Expand Down
6 changes: 3 additions & 3 deletions js/src/home.js → js/src/home.ts
@@ -1,6 +1,6 @@
import { AJAX } from './modules/ajax.js';
import { showGitVersion } from './modules/git-info.js';
import { ThemesManager } from './modules/themes-manager.js';
import { AJAX } from './modules/ajax.ts';
import { showGitVersion } from './modules/git-info.ts';
import { ThemesManager } from './modules/themes-manager.ts';

AJAX.registerTeardown('home.js', () => {
const themesModal = document.getElementById('themesModal');
Expand Down

0 comments on commit 0ca7a79

Please sign in to comment.