PHP 7.4.33
Preview: importLocationsPlugin.js Size: 1.30 KB
/var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/metro/src/ModuleGraph/worker/importLocationsPlugin.js
"use strict";

const invariant = require("invariant");
function importLocationsPlugin({ types: t }) {
  const importDeclarationLocs = new Set();
  return {
    visitor: {
      ImportDeclaration(path) {
        if (path.node.importKind !== "type" && path.node.loc != null) {
          importDeclarationLocs.add(locToKey(path.node.loc));
        }
      },
      ExportDeclaration(path) {
        if (
          path.node.source != null &&
          path.node.exportKind !== "type" &&
          path.node.loc != null
        ) {
          importDeclarationLocs.add(locToKey(path.node.loc));
        }
      },
    },
    pre: ({ path, metadata }) => {
      invariant(
        path && t.isProgram(path.node),
        "path missing or not a program node"
      );
      const metroMetadata = metadata;
      if (!metroMetadata.metro) {
        metroMetadata.metro = {
          unstable_importDeclarationLocs: importDeclarationLocs,
        };
      } else {
        metroMetadata.metro.unstable_importDeclarationLocs =
          importDeclarationLocs;
      }
    },
  };
}
const MISSING_LOC = {
  line: -1,
  column: -1,
};
function locToKey(loc) {
  const { start = MISSING_LOC, end = MISSING_LOC } = loc;
  return `${start.line},${start.column}:${end.line},${end.column}`;
}
module.exports = {
  importLocationsPlugin,
  locToKey,
};

Directory Contents

Dirs: 0 × Files: 9
Name Size Perms Modified Actions
882 B lrw-r--r-- 2025-03-28 11:04:33
Edit Download
17.38 KB lrw-r--r-- 2025-03-28 11:04:33
Edit Download
26.87 KB lrw-r--r-- 2025-03-28 11:04:33
Edit Download
520 B lrw-r--r-- 2025-03-28 11:04:33
Edit Download
922 B lrw-r--r-- 2025-03-28 11:04:33
Edit Download
1.30 KB lrw-r--r-- 2025-03-28 11:04:33
Edit Download
2.48 KB lrw-r--r-- 2025-03-28 11:04:33
Edit Download
3.56 KB lrw-r--r-- 2025-03-28 11:04:33
Edit Download
3.94 KB lrw-r--r-- 2025-03-28 11:04:33
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).