Changeset 61611
- Timestamp:
- 02/10/2026 10:29:49 PM (3 weeks ago)
- Location:
- trunk
- Files:
-
- 1 added
- 10 edited
-
package-lock.json (modified) (8 diffs)
-
package.json (modified) (2 diffs)
-
src/js/_enqueues/vendor/codemirror/javascript-lint.js (added)
-
src/wp-admin/includes/file.php (modified) (2 diffs)
-
src/wp-includes/general-template.php (modified) (4 diffs)
-
src/wp-includes/script-loader.php (modified) (1 diff)
-
src/wp-includes/script-modules.php (modified) (1 diff)
-
tests/phpunit/tests/dependencies/scripts.php (modified) (5 diffs)
-
tests/phpunit/tests/widgets/wpWidgetCustomHtml.php (modified) (1 diff)
-
tools/vendors/codemirror-entry.js (modified) (1 diff)
-
tools/webpack/codemirror.config.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/package-lock.json
r61539 r61611 17 17 "csslint": "1.0.5", 18 18 "element-closest": "3.0.2", 19 19 20 "esprima": "4.0.1", 20 21 "formdata-polyfill": "4.0.10", … … 45 46 "@playwright/test": "1.56.1", 46 47 "@pmmmwh/react-refresh-webpack-plugin": "0.6.1", 48 47 49 "@wordpress/e2e-test-utils-playwright": "1.33.2", 48 50 "@wordpress/prettier-config": "4.33.1", … … 5132 5134 } 5133 5135 }, 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5134 5146 "node_modules/@types/connect": { 5135 5147 "version": "3.4.38", … … 5420 5432 "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", 5421 5433 "dev": true 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5422 5444 }, 5423 5445 "node_modules/@types/tough-cookie": { … … 7446 7468 "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 7447 7469 "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 7448 "dev": true,7449 7470 "license": "MIT", 7450 7471 "bin": { … … 7469 7490 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 7470 7491 "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 7471 "dev": true,7472 7492 "peerDependencies": { 7473 7493 "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" … … 13286 13306 "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", 13287 13307 "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", 13288 "dev": true,13289 13308 "dependencies": { 13290 13309 "acorn": "^8.9.0", … … 13303 13322 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 13304 13323 "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 13305 "dev": true,13306 13324 "license": "Apache-2.0", 13307 13325 "engines": { -
trunk/package.json
r61605 r61611 31 31 "@playwright/test": "1.56.1", 32 32 "@pmmmwh/react-refresh-webpack-plugin": "0.6.1", 33 33 34 "@wordpress/e2e-test-utils-playwright": "1.33.2", 34 35 "@wordpress/prettier-config": "4.33.1", … … 80 81 "csslint": "1.0.5", 81 82 "element-closest": "3.0.2", 83 82 84 "esprima": "4.0.1", 83 85 "formdata-polyfill": "4.0.10", -
trunk/src/wp-admin/includes/file.php
r61470 r61611 203 203 'include', 204 204 'js', 205 205 206 'json', 206 207 'jsx', … … 262 263 'include', 263 264 'js', 265 264 266 'json', 265 267 'jsx', -
trunk/src/wp-includes/general-template.php
r61497 r61611 4070 4070 wp_enqueue_script( 'htmlhint' ); 4071 4071 wp_enqueue_script( 'csslint' ); 4072 wp_enqueue_script( 'jshint' );4073 4072 if ( ! current_user_can( 'unfiltered_html' ) ) { 4074 4073 wp_enqueue_script( 'htmlhint-kses' ); … … 4082 4081 case 'text/typescript': 4083 4082 case 'application/typescript': 4084 wp_enqueue_script( 'jshint' );4085 4083 wp_enqueue_script( 'jsonlint' ); 4086 4084 break; … … 4154 4152 ), 4155 4153 'jshint' => array( 4156 // The following are copied from <https://github.com/WordPress/wordpress-develop/blob/4.8.1/.jshintrc>. 4157 'boss' => true, 4158 'curly' => true, 4159 'eqeqeq' => true, 4160 'eqnull' => true, 4161 'es3' => true, 4162 'expr' => true, 4163 'immed' => true, 4164 'noarg' => true, 4165 'nonbsp' => true, 4166 'onevar' => true, 4167 'quotmark' => 'single', 4168 'trailing' => true, 4169 'undef' => true, 4170 'unused' => true, 4171 4172 'browser' => true, 4173 4174 'globals' => array( 4175 '_' => false, 4176 'Backbone' => false, 4177 'jQuery' => false, 4178 'JSON' => false, 4179 'wp' => false, 4154 'esversion' => 11, 4155 'module' => str_ends_with( $args['file'] ?? '', '.mjs' ), 4156 4157 // The following JSHint *linting rule* options are copied from 4158 // <https://github.com/WordPress/wordpress-develop/blob/6.9.0/.jshintrc>. 4159 // Parsing-related options such as `esversion` (and, in other contexts, `es5`, `es3`, `module`, `strict`) 4160 // are honored by the Espree-based integration, but these linting-rule options are not interpreted by Espree 4161 // and are kept only for compatibility/documentation with the original JSHint configuration. 4162 'boss' => true, 4163 'curly' => true, 4164 'eqeqeq' => true, 4165 'eqnull' => true, 4166 'expr' => true, 4167 'immed' => true, 4168 'noarg' => true, 4169 'nonbsp' => true, 4170 'quotmark' => 'single', 4171 'undef' => true, 4172 'unused' => true, 4173 'browser' => true, 4174 'globals' => array( 4175 '_' => false, 4176 'Backbone' => false, 4177 'jQuery' => false, 4178 'JSON' => false, 4179 'wp' => false, 4180 'export' => false, 4181 'module' => false, 4182 'require' => false, 4183 'WorkerGlobalScope' => false, 4184 'self' => false, 4185 'OffscreenCanvas' => false, 4186 'Promise' => false, 4180 4187 ), 4181 4188 ), … … 4234 4241 break; 4235 4242 case 'js': 4243 4236 4244 $type = 'text/javascript'; 4237 4245 break; -
trunk/src/wp-includes/script-loader.php
r61554 r61611 1197 1197 1198 1198 $scripts->add( 'wp-codemirror', '/wp-includes/js/codemirror/codemirror.min.js', array(), '5.65.20' ); 1199 1199 1200 $scripts->add( 'csslint', '/wp-includes/js/codemirror/csslint.js', array(), '1.0.5' ); 1200 $scripts->add( 'esprima', '/wp-includes/js/codemirror/esprima.js', array(), '4.0.1' ); 1201 $scripts->add( 'jshint', '/wp-includes/js/codemirror/fakejshint.js', array( 'esprima' ), '2.9.5' ); 1201 $scripts->add( 'esprima', '/wp-includes/js/codemirror/esprima.js', array(), '4.0.1' ); 1202 $scripts->add( 'jshint', '/wp-includes/js/codemirror/fakejshint.js', array( 'esprima' ), '2.9.5' ); 1202 1203 $scripts->add( 'jsonlint', '/wp-includes/js/codemirror/jsonlint.js', array(), '1.6.3' ); 1203 1204 $scripts->add( 'htmlhint', '/wp-includes/js/codemirror/htmlhint.js', array(), '1.8.0' ); -
trunk/src/wp-includes/script-modules.php
r61587 r61611 195 195 wp_register_script_module( $script_module_id, $path, $module_deps, $script_module_data['version'], $args ); 196 196 } 197 198 199 200 201 202 203 197 204 } 198 205 -
trunk/tests/phpunit/tests/dependencies/scripts.php
r61587 r61611 3159 3159 'eqeqeq', 3160 3160 'eqnull', 3161 'es 3',3161 'es', 3162 3162 'expr', 3163 3163 'immed', 3164 3164 3165 'noarg', 3165 3166 'nonbsp', 3166 'onevar',3167 3167 'quotmark', 3168 'trailing',3169 3168 'undef', 3170 3169 'unused', … … 3243 3242 'eqeqeq', 3244 3243 'eqnull', 3245 'es 3',3244 'es', 3246 3245 'expr', 3247 3246 'immed', 3247 3248 3248 'noarg', 3249 3249 'nonbsp', 3250 'onevar',3251 3250 'quotmark', 3252 'trailing',3253 3251 'undef', 3254 3252 'unused', … … 3341 3339 'eqeqeq', 3342 3340 'eqnull', 3343 'es 3',3341 'es', 3344 3342 'expr', 3345 3343 'immed', 3344 3346 3345 'noarg', 3347 3346 'nonbsp', 3348 'onevar',3349 3347 'quotmark', 3350 'trailing',3351 3348 'undef', 3352 3349 'unused', … … 3436 3433 'eqeqeq', 3437 3434 'eqnull', 3438 'es 3',3435 'es', 3439 3436 'expr', 3440 3437 'immed', 3438 3441 3439 'noarg', 3442 3440 'nonbsp', 3443 'onevar',3444 3441 'quotmark', 3445 'trailing',3446 3442 'undef', 3447 3443 'unused', … … 4021 4017 4022 4018 // Exclude packages that are not registered in WordPress. 4023 $exclude = array( 'react-is', 'json2php' );4019 $exclude = array( 'react-is', 'json2php' ); 4024 4020 $package_json_dependencies = array_diff( $package_json_dependencies, $exclude ); 4025 4021 -
trunk/tests/phpunit/tests/widgets/wpWidgetCustomHtml.php
r59120 r61611 252 252 $this->assertTrue( wp_script_is( 'wp-codemirror', 'enqueued' ) ); 253 253 $this->assertTrue( wp_script_is( 'csslint', 'enqueued' ) ); 254 $this->assertTrue( wp_script_is( 'jshint', 'enqueued' ) );255 254 $this->assertTrue( wp_script_is( 'htmlhint', 'enqueued' ) ); 256 255 } -
trunk/tools/vendors/codemirror-entry.js
r61539 r61611 1 1 // Import CodeMirror core to be exposed as window.wp.CodeMirror. 2 var CodeMirror = require( 'codemirror/lib/codemirror' );2 ; 3 3 4 4 // Keymaps 5 require( 'codemirror/keymap/emacs' );6 require( 'codemirror/keymap/sublime' );7 require( 'codemirror/keymap/vim' );5 ; 6 ; 7 ; 8 8 9 9 // Addons (Hinting) 10 require( 'codemirror/addon/hint/show-hint' );11 require( 'codemirror/addon/hint/anyword-hint' );12 require( 'codemirror/addon/hint/css-hint' );13 require( 'codemirror/addon/hint/html-hint' );14 require( 'codemirror/addon/hint/javascript-hint' );15 require( 'codemirror/addon/hint/sql-hint' );16 require( 'codemirror/addon/hint/xml-hint' );10 ; 11 ; 12 ; 13 ; 14 ; 15 ; 16 ; 17 17 18 18 // Addons (Linting) 19 require( 'codemirror/addon/lint/lint' ); 20 require( 'codemirror/addon/lint/css-lint' ); 21 require( 'codemirror/addon/lint/html-lint' ); 22 require( 'codemirror/addon/lint/javascript-lint' ); 23 require( 'codemirror/addon/lint/json-lint' ); 19 import 'codemirror/addon/lint/lint'; 20 import 'codemirror/addon/lint/css-lint'; 21 import 'codemirror/addon/lint/html-lint'; 22 23 import '../../src/js/_enqueues/vendor/codemirror/javascript-lint'; 24 import 'codemirror/addon/lint/json-lint'; 24 25 25 26 // Addons (Other) 26 require( 'codemirror/addon/comment/comment' );27 require( 'codemirror/addon/comment/continuecomment' );28 require( 'codemirror/addon/fold/xml-fold' );29 require( 'codemirror/addon/mode/overlay' );30 require( 'codemirror/addon/edit/closebrackets' );31 require( 'codemirror/addon/edit/closetag' );32 require( 'codemirror/addon/edit/continuelist' );33 require( 'codemirror/addon/edit/matchbrackets' );34 require( 'codemirror/addon/edit/matchtags' );35 require( 'codemirror/addon/edit/trailingspace' );36 require( 'codemirror/addon/dialog/dialog' );37 require( 'codemirror/addon/display/autorefresh' );38 require( 'codemirror/addon/display/fullscreen' );39 require( 'codemirror/addon/display/panel' );40 require( 'codemirror/addon/display/placeholder' );41 require( 'codemirror/addon/display/rulers' );42 require( 'codemirror/addon/fold/brace-fold' );43 require( 'codemirror/addon/fold/comment-fold' );44 require( 'codemirror/addon/fold/foldcode' );45 require( 'codemirror/addon/fold/foldgutter' );46 require( 'codemirror/addon/fold/indent-fold' );47 require( 'codemirror/addon/fold/markdown-fold' );48 require( 'codemirror/addon/merge/merge' );49 require( 'codemirror/addon/mode/loadmode' );50 require( 'codemirror/addon/mode/multiplex' );51 require( 'codemirror/addon/mode/simple' );52 require( 'codemirror/addon/runmode/runmode' );53 require( 'codemirror/addon/runmode/colorize' );54 require( 'codemirror/addon/runmode/runmode-standalone' );55 require( 'codemirror/addon/scroll/annotatescrollbar' );56 require( 'codemirror/addon/scroll/scrollpastend' );57 require( 'codemirror/addon/scroll/simplescrollbars' );58 require( 'codemirror/addon/search/search' );59 require( 'codemirror/addon/search/jump-to-line' );60 require( 'codemirror/addon/search/match-highlighter' );61 require( 'codemirror/addon/search/matchesonscrollbar' );62 require( 'codemirror/addon/search/searchcursor' );63 require( 'codemirror/addon/tern/tern' );64 require( 'codemirror/addon/tern/worker' );65 require( 'codemirror/addon/wrap/hardwrap' );66 require( 'codemirror/addon/selection/active-line' );67 require( 'codemirror/addon/selection/mark-selection' );68 require( 'codemirror/addon/selection/selection-pointer' );27 ; 28 ; 29 ; 30 ; 31 ; 32 ; 33 ; 34 ; 35 ; 36 ; 37 ; 38 ; 39 ; 40 ; 41 ; 42 ; 43 ; 44 ; 45 ; 46 ; 47 ; 48 ; 49 ; 50 ; 51 ; 52 ; 53 ; 54 ; 55 ; 56 ; 57 ; 58 ; 59 ; 60 ; 61 ; 62 ; 63 ; 64 ; 65 ; 66 ; 67 ; 68 ; 69 ; 69 70 70 71 // Modes 71 require( 'codemirror/mode/meta' );72 require( 'codemirror/mode/clike/clike' );73 require( 'codemirror/mode/css/css' );74 require( 'codemirror/mode/diff/diff' );75 require( 'codemirror/mode/htmlmixed/htmlmixed' );76 require( 'codemirror/mode/http/http' );77 require( 'codemirror/mode/javascript/javascript' );78 require( 'codemirror/mode/jsx/jsx' );79 require( 'codemirror/mode/markdown/markdown' );80 require( 'codemirror/mode/gfm/gfm' );81 require( 'codemirror/mode/nginx/nginx' );82 require( 'codemirror/mode/php/php' );83 require( 'codemirror/mode/sass/sass' );84 require( 'codemirror/mode/shell/shell' );85 require( 'codemirror/mode/sql/sql' );86 require( 'codemirror/mode/xml/xml' );87 require( 'codemirror/mode/yaml/yaml' );72 ; 73 ; 74 ; 75 ; 76 ; 77 ; 78 ; 79 ; 80 ; 81 ; 82 ; 83 ; 84 ; 85 ; 86 ; 87 ; 88 ; 88 89 89 90 /** -
trunk/tools/webpack/codemirror.config.js
r61544 r61611 7 7 module.exports = ( env = { buildTarget: 'src/' } ) => { 8 8 const buildTarget = env.buildTarget || 'src/'; 9 9 10 10 return { 11 const optimization = { 12 minimize: true, 13 minimizer: [ 14 new TerserPlugin( { 15 terserOptions: { 16 format: { 17 comments: /^!/, 18 }, 19 }, 20 extractComments: false, 21 } ), 22 ], 23 }; 24 25 const codemirrorConfig = { 11 26 target: 'browserslist', 12 27 mode: 'production', 13 entry: './tools/vendors/codemirror-entry.js', 28 entry: { 29 'codemirror.min': './tools/vendors/codemirror-entry.js', 30 }, 14 31 output: { 15 path: path.resolve( __dirname, '../../', buildTarget, 'wp-includes/js/codemirror' ),16 filename: ' codemirror.min.js',32 path: , 33 filename: '.js', 17 34 }, 18 optimization: { 19 minimize: true, 20 minimizer: [ 21 new TerserPlugin( { 22 terserOptions: { 23 format: { 24 comments: /^!/, 25 }, 26 }, 27 extractComments: false, 28 } ), 29 ], 30 }, 35 optimization, 31 36 externals: { 32 37 'csslint': 'window.CSSLint', 33 38 'htmlhint': 'window.HTMLHint', 34 'jshint': 'window.JSHINT',35 39 'jsonlint': 'window.jsonlint', 36 40 }, … … 43 47 ], 44 48 }; 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 45 70 };
Note: See TracChangeset
for help on using the changeset viewer.