| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 'use strict'; | 4 'use strict'; |
| 5 const fs = require('fs'); | 5 const fs = require('fs'); |
| 6 const path = require('path'); | 6 const path = require('path'); |
| 7 | 7 |
| 8 const utils = require('../utils'); | 8 const utils = require('../utils'); |
| 9 | 9 |
| 10 const FRONTEND_PATH = path.resolve(__dirname, '..', '..', 'front_end'); | 10 const FRONTEND_PATH = path.resolve(__dirname, '..', '..', 'front_end'); |
| 11 const BUILD_GN_PATH = path.resolve(__dirname, '..', '..', 'BUILD.gn'); | 11 const BUILD_GN_PATH = path.resolve(__dirname, '..', '..', 'BUILD.gn'); |
| 12 const SPECIAL_CASE_NAMESPACES_PATH = path.resolve(__dirname, '..', 'special_case
_namespaces.json'); | 12 const SPECIAL_CASE_NAMESPACES_PATH = path.resolve(__dirname, '..', 'special_case
_namespaces.json'); |
| 13 | 13 |
| 14 const APPLICATION_DESCRIPTORS = [ | 14 const APPLICATION_DESCRIPTORS = [ |
| 15 'inspector.json', | 15 'inspector.json', |
| 16 'toolbox.json', | 16 'toolbox.json', |
| 17 'unit_test_runner.json', | 17 'unit_test_runner.json', |
| 18 'formatter_worker.json', | 18 'formatter_worker.json', |
| 19 'heap_snapshot_worker.json', | 19 'heap_snapshot_worker.json', |
| 20 'utility_shared_worker.json', | 20 'utility_shared_worker.json', |
| 21 ]; | 21 ]; |
| 22 | 22 |
| 23 // Replace based on specified transformation | 23 // Replace based on specified transformation |
| 24 const MODULES_TO_REMOVE = []; | 24 const MODULES_TO_REMOVE = []; |
| 25 | 25 |
| 26 const JS_FILES_MAPPING = [ | 26 const JS_FILES_MAPPING = [ |
| 27 {file: 'common/CSSShadowModel.js', existing: 'inline_editor'}, {file: 'common/
Geometry.js', existing: 'ui'}, | 27 {file: 'components/NetworkConditionsSelector.js', new: 'network_conditions'}, |
| 28 // {file: 'module/file.js', existing: 'module'} | 28 // {file: 'module/file.js', existing: 'module'} |
| 29 ]; | 29 ]; |
| 30 | 30 |
| 31 const MODULE_MAPPING = { | 31 const MODULE_MAPPING = { |
| 32 // heap_snapshot_model: { | 32 network_conditions: { |
| 33 // dependencies: [], | 33 dependencies: ['common', 'sdk', 'ui', 'protocol'], |
| 34 // dependents: ['heap_snapshot_worker', 'profiler'], | 34 dependents: ['emulation', 'resources', 'network', 'timeline'], |
| 35 // applications: ['inspector.json'], // need to manually add to heap snaps
hot worker b/c it's autostart | 35 applications: ['inspector.json'], |
| 36 // autostart: false, | 36 autostart: true, // because emulation is autostart |
| 37 // }, | 37 }, |
| 38 }; | 38 }; |
| 39 | 39 |
| 40 const NEW_DEPENDENCIES_BY_EXISTING_MODULES = { | 40 const NEW_DEPENDENCIES_BY_EXISTING_MODULES = { |
| 41 // resources: ['components'], | 41 // resources: ['components'], |
| 42 }; | 42 }; |
| 43 | 43 |
| 44 const REMOVE_DEPENDENCIES_BY_EXISTING_MODULES = {}; | 44 const REMOVE_DEPENDENCIES_BY_EXISTING_MODULES = {}; |
| 45 | 45 |
| 46 const DEPENDENCIES_BY_MODULE = Object.keys(MODULE_MAPPING).reduce((acc, module)
=> { | 46 const DEPENDENCIES_BY_MODULE = Object.keys(MODULE_MAPPING).reduce((acc, module)
=> { |
| 47 acc[module] = MODULE_MAPPING[module].dependencies; | 47 acc[module] = MODULE_MAPPING[module].dependencies; |
| (...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 remainingResources.push(resource); | 427 remainingResources.push(resource); |
| 428 } | 428 } |
| 429 moduleObj.resources = remainingResources; | 429 moduleObj.resources = remainingResources; |
| 430 } | 430 } |
| 431 | 431 |
| 432 function removeExtensions(moduleObj) { | 432 function removeExtensions(moduleObj) { |
| 433 if (!moduleObj.extensions) | 433 if (!moduleObj.extensions) |
| 434 return; | 434 return; |
| 435 let remainingExtensions = []; | 435 let remainingExtensions = []; |
| 436 for (let extension of moduleObj.extensions) { | 436 for (let extension of moduleObj.extensions) { |
| 437 if (!objectIncludesIdentifier(extension)) | 437 if (!objectIncludesIdentifier(extension)) { |
| 438 remainingExtensions.push(extension); | 438 remainingExtensions.push(extension); |
| 439 else | 439 } else { |
| 440 extensionMap.set(objectIncludesIdentifier(extension), extension); | 440 if (extensionMap.has(objectIncludesIdentifier(extension))) { |
| 441 let existingExtensions = extensionMap.get(objectIncludesIdentifier(ext
ension)); |
| 442 extensionMap.set(objectIncludesIdentifier(extension), existingExtensio
ns.concat(extension)); |
| 443 } else { |
| 444 extensionMap.set(objectIncludesIdentifier(extension), [extension]); |
| 445 } |
| 446 } |
| 441 } | 447 } |
| 442 moduleObj.extensions = remainingExtensions; | 448 moduleObj.extensions = remainingExtensions; |
| 443 } | 449 } |
| 444 | 450 |
| 445 function objectIncludesIdentifier(object) { | 451 function objectIncludesIdentifier(object) { |
| 446 for (let key in object) { | 452 for (let key in object) { |
| 447 let value = object[key]; | 453 let value = object[key]; |
| 448 if (identifierMap.has(value)) | 454 if (identifierMap.has(value)) |
| 449 return value; | 455 return value; |
| 450 } | 456 } |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 return resources; | 510 return resources; |
| 505 } | 511 } |
| 506 | 512 |
| 507 function getModuleExtensions(scripts, module) { | 513 function getModuleExtensions(scripts, module) { |
| 508 let extensions = []; | 514 let extensions = []; |
| 509 let identifiers = | 515 let identifiers = |
| 510 scripts.map(script => module + '/' + script) | 516 scripts.map(script => module + '/' + script) |
| 511 .reduce((acc, file) => acc.concat(identifiersByFile.get(targetToOrig
inalFilesMap.get(file))), []); | 517 .reduce((acc, file) => acc.concat(identifiersByFile.get(targetToOrig
inalFilesMap.get(file))), []); |
| 512 for (let identifier of identifiers) { | 518 for (let identifier of identifiers) { |
| 513 if (extensionMap.has(identifier)) | 519 if (extensionMap.has(identifier)) |
| 514 extensions.push(extensionMap.get(identifier)); | 520 extensions = extensions.concat(extensionMap.get(identifier)); |
| 515 } | 521 } |
| 516 return extensions; | 522 return extensions; |
| 517 } | 523 } |
| 518 } | 524 } |
| 519 | 525 |
| 520 function calculateFilesByModuleType(type) { | 526 function calculateFilesByModuleType(type) { |
| 521 let filesByNewModule = new Map(); | 527 let filesByNewModule = new Map(); |
| 522 for (let fileObj of JS_FILES_MAPPING) { | 528 for (let fileObj of JS_FILES_MAPPING) { |
| 523 if (!fileObj[type]) | 529 if (!fileObj[type]) |
| 524 continue; | 530 continue; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 570 return resources; | 576 return resources; |
| 571 } | 577 } |
| 572 | 578 |
| 573 function getModuleExtensions(scripts, module) { | 579 function getModuleExtensions(scripts, module) { |
| 574 let extensions = []; | 580 let extensions = []; |
| 575 let identifiers = | 581 let identifiers = |
| 576 scripts.map(script => module + '/' + script) | 582 scripts.map(script => module + '/' + script) |
| 577 .reduce((acc, file) => acc.concat(identifiersByFile.get(targetToOrig
inalFilesMap.get(file))), []); | 583 .reduce((acc, file) => acc.concat(identifiersByFile.get(targetToOrig
inalFilesMap.get(file))), []); |
| 578 for (let identifier of identifiers) { | 584 for (let identifier of identifiers) { |
| 579 if (extensionMap.has(identifier)) | 585 if (extensionMap.has(identifier)) |
| 580 extensions.push(extensionMap.get(identifier)); | 586 extensions = extensions.concat(extensionMap.get(identifier)); |
| 581 } | 587 } |
| 582 return extensions; | 588 return extensions; |
| 583 } | 589 } |
| 584 } | 590 } |
| 585 | 591 |
| 586 function addDependenciesToDescriptors() { | 592 function addDependenciesToDescriptors() { |
| 587 for (let module of getModules()) { | 593 for (let module of getModules()) { |
| 588 let moduleJSONPath = path.resolve(FRONTEND_PATH, module, 'module.json'); | 594 let moduleJSONPath = path.resolve(FRONTEND_PATH, module, 'module.json'); |
| 589 let content = fs.readFileSync(moduleJSONPath).toString(); | 595 let content = fs.readFileSync(moduleJSONPath).toString(); |
| 590 let moduleObj = parseJSON(content); | 596 let moduleObj = parseJSON(content); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 672 return string.split('') | 678 return string.split('') |
| 673 .map(function(char) { | 679 .map(function(char) { |
| 674 var charCode = char.charCodeAt(0); | 680 var charCode = char.charCodeAt(0); |
| 675 return charCode > 127 ? unicodeCharEscape(charCode) : char; | 681 return charCode > 127 ? unicodeCharEscape(charCode) : char; |
| 676 }) | 682 }) |
| 677 .join(''); | 683 .join(''); |
| 678 } | 684 } |
| 679 | 685 |
| 680 if (require.main === module) | 686 if (require.main === module) |
| 681 extractModule(); | 687 extractModule(); |
| OLD | NEW |