5e1c5b86cb4ea84d68cdfa9a1b84a12d101f86943312a288d8eae1e66618f32f791992cf7eb52a36da12dd024f2e11bd22713ccea9edd3e5f9a80bc590636c 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.makeConfigAPI = makeConfigAPI;
  6. exports.makePluginAPI = makePluginAPI;
  7. exports.makePresetAPI = makePresetAPI;
  8. function _semver() {
  9. const data = require("semver");
  10. _semver = function () {
  11. return data;
  12. };
  13. return data;
  14. }
  15. var _index = require("../../index.js");
  16. var _caching = require("../caching.js");
  17. function makeConfigAPI(cache) {
  18. const env = value => cache.using(data => {
  19. if (value === undefined) return data.envName;
  20. if (typeof value === "function") {
  21. return (0, _caching.assertSimpleType)(value(data.envName));
  22. }
  23. return (Array.isArray(value) ? value : [value]).some(entry => {
  24. if (typeof entry !== "string") {
  25. throw new Error("Unexpected non-string value");
  26. }
  27. return entry === data.envName;
  28. });
  29. });
  30. const caller = cb => cache.using(data => (0, _caching.assertSimpleType)(cb(data.caller)));
  31. return {
  32. version: _index.version,
  33. cache: cache.simple(),
  34. env,
  35. async: () => false,
  36. caller,
  37. assertVersion
  38. };
  39. }
  40. function makePresetAPI(cache, externalDependencies) {
  41. const targets = () => JSON.parse(cache.using(data => JSON.stringify(data.targets)));
  42. const addExternalDependency = ref => {
  43. externalDependencies.push(ref);
  44. };
  45. return Object.assign({}, makeConfigAPI(cache), {
  46. targets,
  47. addExternalDependency
  48. });
  49. }
  50. function makePluginAPI(cache, externalDependencies) {
  51. const assumption = name => cache.using(data => data.assumptions[name]);
  52. return Object.assign({}, makePresetAPI(cache, externalDependencies), {
  53. assumption
  54. });
  55. }
  56. function assertVersion(range) {
  57. if (typeof range === "number") {
  58. if (!Number.isInteger(range)) {
  59. throw new Error("Expected string or integer value.");
  60. }
  61. range = `^${range}.0.0-0`;
  62. }
  63. if (typeof range !== "string") {
  64. throw new Error("Expected string or integer value.");
  65. }
  66. if (range === "*" || _semver().satisfies(_index.version, range)) return;
  67. const limit = Error.stackTraceLimit;
  68. if (typeof limit === "number" && limit < 25) {
  69. Error.stackTraceLimit = 25;
  70. }
  71. const err = new Error(`Requires Babel "${range}", but was loaded with "${_index.version}". ` + `If you are sure you have a compatible version of @babel/core, ` + `it is likely that something in your build process is loading the ` + `wrong version. Inspect the stack trace of this error to look for ` + `the first entry that doesn't mention "@babel/core" or "babel-core" ` + `to see what is calling Babel.`);
  72. if (typeof limit === "number") {
  73. Error.stackTraceLimit = limit;
  74. }
  75. throw Object.assign(err, {
  76. code: "BABEL_VERSION_UNSUPPORTED",
  77. version: _index.version,
  78. range
  79. });
  80. }
  81. 0 && 0;
  82. //# sourceMappingURL=config-api.js.map