google-closure-compiler 20250412.0.0-nightly → 20250413.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +5 -30
  2. package/cli.js +3 -4
  3. package/externs/browser/decorators.js +276 -0
  4. package/externs/browser/deprecated.js +58 -0
  5. package/externs/browser/es6_proxy.js +143 -0
  6. package/externs/browser/fetchapi.js +449 -0
  7. package/externs/browser/fido.js +94 -0
  8. package/externs/browser/flash.js +226 -0
  9. package/externs/browser/gecko_css.js +126 -0
  10. package/externs/browser/gecko_dom.js +479 -0
  11. package/externs/browser/gecko_event.js +86 -0
  12. package/externs/browser/gecko_xml.js +73 -0
  13. package/externs/browser/google_legacy.js +31 -0
  14. package/externs/browser/html5.js +6647 -0
  15. package/externs/browser/ie_css.js +270 -0
  16. package/externs/browser/ie_dom.js +1232 -0
  17. package/externs/browser/ie_event.js +310 -0
  18. package/externs/browser/ie_vml.js +77 -0
  19. package/externs/browser/intersection_observer.js +178 -0
  20. package/externs/browser/intl.js +602 -0
  21. package/externs/browser/iphone.js +204 -0
  22. package/externs/browser/mediakeys.js +305 -0
  23. package/externs/browser/mediasource.js +155 -0
  24. package/externs/browser/nonstandard_anim_timing.js +97 -0
  25. package/externs/browser/nonstandard_audio.js +82 -0
  26. package/externs/browser/nonstandard_console.js +75 -0
  27. package/externs/browser/nonstandard_fileapi.js +1066 -0
  28. package/externs/browser/nonstandard_indexeddb.js +78 -0
  29. package/externs/browser/nonstandard_navigation_timing.js +38 -0
  30. package/externs/browser/nonstandard_selection.js +80 -0
  31. package/externs/browser/page_visibility.js +28 -0
  32. package/externs/browser/streamsapi.js +593 -0
  33. package/externs/browser/svg.js +10016 -0
  34. package/externs/browser/url.js +202 -0
  35. package/externs/browser/v8.js +134 -0
  36. package/externs/browser/w3c_abort.js +89 -0
  37. package/externs/browser/w3c_anim_timing.js +49 -0
  38. package/externs/browser/w3c_aria_mixin.js +286 -0
  39. package/externs/browser/w3c_audio.js +1660 -0
  40. package/externs/browser/w3c_batterystatus.js +85 -0
  41. package/externs/browser/w3c_clipboard.js +74 -0
  42. package/externs/browser/w3c_clipboardevent.js +47 -0
  43. package/externs/browser/w3c_composition_event.js +93 -0
  44. package/externs/browser/w3c_css.js +3790 -0
  45. package/externs/browser/w3c_css3d.js +199 -0
  46. package/externs/browser/w3c_device_sensor_event.js +122 -0
  47. package/externs/browser/w3c_dom1.js +1160 -0
  48. package/externs/browser/w3c_dom2.js +3151 -0
  49. package/externs/browser/w3c_dom3.js +555 -0
  50. package/externs/browser/w3c_dom4.js +289 -0
  51. package/externs/browser/w3c_elementtraversal.js +116 -0
  52. package/externs/browser/w3c_event.js +607 -0
  53. package/externs/browser/w3c_event3.js +77 -0
  54. package/externs/browser/w3c_eventsource.js +110 -0
  55. package/externs/browser/w3c_fileapi.js +302 -0
  56. package/externs/browser/w3c_gamepad.js +113 -0
  57. package/externs/browser/w3c_geolocation.js +130 -0
  58. package/externs/browser/w3c_geometry1.js +899 -0
  59. package/externs/browser/w3c_indexeddb.js +771 -0
  60. package/externs/browser/w3c_keyboardlock.js +47 -0
  61. package/externs/browser/w3c_mediacapabilities.js +206 -0
  62. package/externs/browser/w3c_midi.js +301 -0
  63. package/externs/browser/w3c_navigation.js +72 -0
  64. package/externs/browser/w3c_navigation_timing.js +437 -0
  65. package/externs/browser/w3c_netinfo.js +85 -0
  66. package/externs/browser/w3c_payment_request.js +401 -0
  67. package/externs/browser/w3c_permissions.js +112 -0
  68. package/externs/browser/w3c_permissions_policy.js +78 -0
  69. package/externs/browser/w3c_pointer_events.js +163 -0
  70. package/externs/browser/w3c_pointerlock.js +63 -0
  71. package/externs/browser/w3c_range.js +284 -0
  72. package/externs/browser/w3c_referrer_policy.js +36 -0
  73. package/externs/browser/w3c_requestidlecallback.js +76 -0
  74. package/externs/browser/w3c_rtc.js +3882 -0
  75. package/externs/browser/w3c_screen_orientation.js +53 -0
  76. package/externs/browser/w3c_screen_wake_lock.js +58 -0
  77. package/externs/browser/w3c_selection.js +209 -0
  78. package/externs/browser/w3c_selectors.js +113 -0
  79. package/externs/browser/w3c_serviceworker.js +739 -0
  80. package/externs/browser/w3c_speech.js +426 -0
  81. package/externs/browser/w3c_touch_event.js +296 -0
  82. package/externs/browser/w3c_trusted_types.js +142 -0
  83. package/externs/browser/w3c_vibration.js +38 -0
  84. package/externs/browser/w3c_webcodecs.js +1473 -0
  85. package/externs/browser/w3c_webcrypto.js +839 -0
  86. package/externs/browser/w3c_worklets.js +54 -0
  87. package/externs/browser/w3c_xml.js +533 -0
  88. package/externs/browser/web_animations.js +452 -0
  89. package/externs/browser/web_app_manifest.js +50 -0
  90. package/externs/browser/webassembly.js +223 -0
  91. package/externs/browser/webgl.js +3409 -0
  92. package/externs/browser/webgl2.js +2727 -0
  93. package/externs/browser/webgl2_compute.js +1609 -0
  94. package/externs/browser/webkit_css.js +456 -0
  95. package/externs/browser/webkit_dom.js +118 -0
  96. package/externs/browser/webkit_event.js +46 -0
  97. package/externs/browser/webkit_notifications.js +258 -0
  98. package/externs/browser/webkit_usercontent.js +55 -0
  99. package/externs/browser/weblocksapi.js +125 -0
  100. package/externs/browser/webstorage.js +171 -0
  101. package/externs/browser/whatwg_bitmap_context.js +37 -0
  102. package/externs/browser/whatwg_console.js +152 -0
  103. package/externs/browser/whatwg_encoding.js +99 -0
  104. package/externs/browser/whatwg_file_system.js +296 -0
  105. package/externs/browser/wicg_attribution_reporting.js +42 -0
  106. package/externs/browser/wicg_compression_stream.js +60 -0
  107. package/externs/browser/wicg_constructable_stylesheets.js +60 -0
  108. package/externs/browser/wicg_entries.js +169 -0
  109. package/externs/browser/wicg_file_handling.js +41 -0
  110. package/externs/browser/wicg_file_system_access.js +191 -0
  111. package/externs/browser/wicg_floc.js +41 -0
  112. package/externs/browser/wicg_ink.js +89 -0
  113. package/externs/browser/wicg_resizeobserver.js +100 -0
  114. package/externs/browser/wicg_scheduler.js +62 -0
  115. package/externs/browser/wicg_trust_token.js +89 -0
  116. package/externs/browser/wicg_uach.js +100 -0
  117. package/externs/browser/window.js +190 -0
  118. package/externs/es3.js +2716 -0
  119. package/externs/es5.js +284 -0
  120. package/externs/es6.js +2554 -0
  121. package/externs/es6_collections.js +323 -0
  122. package/index.js +13 -16
  123. package/lib/grunt/index.js +71 -92
  124. package/lib/grunt/vinyl-stream.js +12 -18
  125. package/lib/gulp/concat-to-json.js +30 -18
  126. package/lib/gulp/index.js +174 -181
  127. package/lib/gulp/json-to-vinyl.js +8 -8
  128. package/lib/node/{closure-compiler.js → index.js} +27 -51
  129. package/lib/utils.js +16 -14
  130. package/package.json +19 -16
  131. package/lib/logger.js +0 -89
package/lib/utils.js CHANGED
@@ -13,41 +13,48 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- 'use strict';
16
+ import {createRequire} from 'node:module';
17
+ const require = createRequire(import.meta.url);
17
18
 
18
- function getNativeImagePath() {
19
+ export const getNativeImagePath = () => {
19
20
  if (process.platform === 'darwin') {
20
21
  try {
21
- return require('google-closure-compiler-osx');
22
+ return require('google-closure-compiler-macos').default;
22
23
  } catch (e) {
23
24
  return;
24
25
  }
25
26
  }
26
27
  if (process.platform === 'win32') {
27
28
  try {
28
- return require('google-closure-compiler-windows');
29
+ return require('google-closure-compiler-windows').default;
29
30
  } catch (e) {
30
31
  return;
31
32
  }
32
33
  }
33
34
  if (process.platform === 'linux' && ['x64','x32'].includes(process.arch)) {
34
35
  try {
35
- return require('google-closure-compiler-linux');
36
+ return require('google-closure-compiler-linux').default;
36
37
  } catch (e) {
37
38
  }
38
39
  }
39
- }
40
+ if (process.platform === 'linux' && ['arm64'].includes(process.arch)) {
41
+ try {
42
+ return require('google-closure-compiler-linux-arm64').default;
43
+ } catch (e) {
44
+ }
45
+ }
46
+ };
40
47
 
41
- function getFirstSupportedPlatform(platforms) {
48
+ export const getFirstSupportedPlatform = (platforms) => {
42
49
  const platform = platforms.find((platform, index) => {
43
50
  switch (platform.toLowerCase()) {
44
- case "java":
51
+ case 'java':
45
52
  if (index === platforms.length - 1) {
46
53
  return true;
47
54
  }
48
55
  return process.env.JAVA_HOME;
49
56
 
50
- case "native":
57
+ case 'native':
51
58
  if (getNativeImagePath()) {
52
59
  return true;
53
60
  }
@@ -57,9 +64,4 @@ function getFirstSupportedPlatform(platforms) {
57
64
  throw new Error('No supported platform for closure-compiler found.');
58
65
  }
59
66
  return platform;
60
- }
61
-
62
- module.exports = {
63
- getNativeImagePath,
64
- getFirstSupportedPlatform
65
67
  };
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "google-closure-compiler",
3
- "version": "20250412.0.0-nightly",
3
+ "version": "20250413.0.0",
4
4
  "description": "Check, compile, optimize and compress Javascript with Closure-Compiler",
5
- "repository": "https://github.com/google/closure-compiler-npm/tree/master/packages/google-closure-compiler",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/google/closure-compiler-npm.git#master"
9
+ },
6
10
  "keywords": [
7
11
  "javascript",
8
12
  "compiler",
@@ -28,6 +32,7 @@
28
32
  "index.js",
29
33
  "package.json",
30
34
  "contrib/",
35
+ "externs/",
31
36
  "README.md",
32
37
  "LICENSE"
33
38
  ],
@@ -37,33 +42,31 @@
37
42
  },
38
43
  "homepage": "https://developers.google.com/closure/compiler/",
39
44
  "dependencies": {
40
- "chalk": "4.x",
41
- "google-closure-compiler-java": "^20250412.0.0-nightly",
45
+ "chalk": "5.x",
46
+ "google-closure-compiler-java": "^20250413.0.0",
42
47
  "minimist": "1.x",
43
- "vinyl": "2.x",
48
+ "vinyl": "3.x",
44
49
  "vinyl-sourcemaps-apply": "^0.2.0"
45
50
  },
46
51
  "optionalDependencies": {
47
- "google-closure-compiler-linux": "^20250412.0.0-nightly",
48
- "google-closure-compiler-osx": "^20250412.0.0-nightly",
49
- "google-closure-compiler-windows": "^20250412.0.0-nightly"
52
+ "google-closure-compiler-linux": "^20250413.0.0",
53
+ "google-closure-compiler-linux-arm64": "^20250413.0.0",
54
+ "google-closure-compiler-macos": "^20250413.0.0",
55
+ "google-closure-compiler-windows": "^20250413.0.0"
50
56
  },
51
57
  "devDependencies": {
52
58
  "gulp": "4.x",
53
- "gulp-filter": "6.x",
54
- "gulp-mocha": "8.x",
55
59
  "gulp-sourcemaps": "2.x",
56
- "mocha": "10.x",
60
+ "jasmine": "^5.6.0",
61
+ "jasmine-console-reporter": "^3.1.0",
57
62
  "ncp": "^2.0.0",
58
- "semver": "^5.7.2",
59
- "should": "^13.2.3",
60
- "stream-assert": "^2.0.3"
63
+ "semver": "^5.7.2"
61
64
  },
62
65
  "scripts": {
63
66
  "build": "echo \"google-closure-compiler build\"",
64
- "test": "mocha"
67
+ "test": "jasmine --reporter=jasmine-console-reporter test/*.js"
65
68
  },
66
69
  "engines": {
67
- "node": ">=10"
70
+ "node": ">=18"
68
71
  }
69
72
  }
package/lib/logger.js DELETED
@@ -1,89 +0,0 @@
1
- /*
2
- * Copyright 2016 The Closure Compiler Authors.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- /**
18
- * @fileoverview Logger for Closure Compiler JS output.
19
- */
20
-
21
- 'use strict';
22
-
23
- const ESC = '\u001B';
24
- const COLOR_END = ESC + '[0m';
25
- const COLOR_RED = ESC + '[91m';
26
- const COLOR_GREEN = ESC + '[92m';
27
- const COLOR_YELLOW = ESC + '[93m';
28
- const fs = require('fs');
29
-
30
- /**
31
- * @param {string} line to generate prefix for
32
- * @param {number} charNo to generate prefix at
33
- * @return {string} prefix for showing a caret
34
- */
35
- function caretPrefix(line, charNo) {
36
- return line.substr(0, charNo).replace(/[^\t]/g, ' ');
37
- }
38
-
39
-
40
- /**
41
- * @param {!Object} output
42
- * @param {!Array<{src:string, path:string}>} inputFiles
43
- * @param {function(string)} logger
44
- * @return {boolean} Whether this output should fail a compilation.
45
- */
46
- module.exports = function(output, inputFiles = [], logger = console.warn) {
47
- // TODO(samthor): If this file has a sourceMap, then follow it back out of the rabbit hole.
48
- function fileFor(file) {
49
- if (!file) {
50
- return null;
51
- }
52
-
53
- const originalFile = inputFiles.find(inputFile => inputFile.path === file);
54
- if (originalFile) {
55
- return originalFile;
56
- }
57
-
58
- try {
59
- return {
60
- path: file,
61
- src: fs.readFileSync(file, 'utf8')
62
- }
63
- } catch (e) { }
64
- return null;
65
- }
66
-
67
- function writemsg(color, msg) {
68
- if (!msg.file && msg.lineNo < 0) {
69
- logger(msg.type);
70
- } else {
71
- logger(`${msg.file}:${msg.lineNo} (${msg.type})`)
72
- }
73
- logger(msg.description);
74
-
75
- const file = fileFor(msg.file);
76
- if (file) {
77
- const lines = file.src.split('\n'); // TODO(samthor): cache this for logger?
78
- const line = lines[msg.lineNo - 1] || '';
79
- logger(color + line + COLOR_END);
80
- logger(COLOR_GREEN + caretPrefix(line, msg.charNo) + '^' + COLOR_END);
81
- }
82
- logger('');
83
- }
84
-
85
- output.warnings.forEach(writemsg.bind(null, COLOR_YELLOW));
86
- output.errors.forEach(writemsg.bind(null, COLOR_RED));
87
-
88
- return output.errors.length > 0;
89
- };