esri.profile.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var profile = (function(){
  2. var testResourceRe = /^esri\/(.*\/)?tests\//,
  3. jsRe = /\.js$/i,
  4. onlineFolderRe = /^esri\/arcgisonline\//i,
  5. mobileFolderRe = /^esri\/mobile\//i,
  6. discoveryFolderRe = /^esri\/discovery\//i,
  7. metadataFolderRe = /^esri\/widgets\/metadata\//i,
  8. copyOnly = function(filename, mid){
  9. var mids = {
  10. "esri/package.json": 1,
  11. "esri/esri.profile": 1,
  12. "esri/esri.js": 1,
  13. "esri/core/workers/worker": 1,
  14. "esri/geometry/geometryenginewebworker": 1,
  15. "esri/workers/requestWorker": 1,
  16. "esri/workers/mutableWorker": 1,
  17. "esri/workers/indexWorker": 1,
  18. "esri/workers/scripts/indexInterface": 1,
  19. "esri/views/2d/layers/vector-tile": 1
  20. };
  21. return (
  22. metadataFolderRe.test(mid) ||
  23. (mid in mids)
  24. );
  25. },
  26. legacyModules = {
  27. "esri/arcgisonline": 1,
  28. "esri/base": 1,
  29. "esri/gallery": 1,
  30. "esri/mobile": 1,
  31. "esri/arcgismanager": 1,
  32. "esri/themes/base/icons/demo-files/demo": 1
  33. };
  34. return {
  35. resourceTags:{
  36. test: function(filename, mid){
  37. return testResourceRe.test(mid) || (mid.search(/\.17$/) !== -1);
  38. },
  39. copyOnly: function(filename, mid){
  40. return copyOnly(filename, mid);
  41. },
  42. amd: function(filename, mid){
  43. return jsRe.test(filename) && !copyOnly(filename, mid) && (
  44. /^esri\/arcgisonline\/sharing\/dijit\/FeatureLayerQueryResult/i.test(mid) ||
  45. /^esri\/arcgisonline\/coachmarks\/tours/i.test(mid) ||
  46. !(
  47. (mid in legacyModules) || onlineFolderRe.test(mid) ||
  48. mobileFolderRe.test(mid) || discoveryFolderRe.test(mid)
  49. )
  50. );
  51. }
  52. }
  53. };
  54. }());