@tylertech/forge-build-tools
Version:
Node utilities for building and packaging libraries.
10 lines • 1.58 kB
JavaScript
/**
* Creates a regular expression from a list of module names to use as a replacer
* regex in a TS/JS file to update relative imports to use their proper module
* import names.
* @param {string[]} moduleNames An array of module names.
*/
export function createRelativeImportRegex(moduleNames) {
return new RegExp(`^(import(?:["'\\s]*(?:[\\w*{}\\n, ]*)from)?\\s*["'])(?:\\.{1,2}\\/)[.\\/]*?(?:fx\/)?(${moduleNames.join('|')})\\/(?:.*)(["'];?)(.*)$`, 'gm');
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcmVnZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsV0FBcUI7SUFDN0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyx3RkFBd0YsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBmcm9tIGEgbGlzdCBvZiBtb2R1bGUgbmFtZXMgdG8gdXNlIGFzIGEgcmVwbGFjZXJcbiAqIHJlZ2V4IGluIGEgVFMvSlMgZmlsZSB0byB1cGRhdGUgcmVsYXRpdmUgaW1wb3J0cyB0byB1c2UgdGhlaXIgcHJvcGVyIG1vZHVsZVxuICogaW1wb3J0IG5hbWVzLlxuICogQHBhcmFtIHtzdHJpbmdbXX0gbW9kdWxlTmFtZXMgQW4gYXJyYXkgb2YgbW9kdWxlIG5hbWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVsYXRpdmVJbXBvcnRSZWdleChtb2R1bGVOYW1lczogc3RyaW5nW10pOiBSZWdFeHAge1xuICByZXR1cm4gbmV3IFJlZ0V4cChgXihpbXBvcnQoPzpbXCInXFxcXHNdKig/OltcXFxcdyp7fVxcXFxuLCBdKilmcm9tKT9cXFxccypbXCInXSkoPzpcXFxcLnsxLDJ9XFxcXC8pWy5cXFxcL10qPyg/OmZ4XFwvKT8oJHttb2R1bGVOYW1lcy5qb2luKCd8Jyl9KVxcXFwvKD86LiopKFtcIiddOz8pKC4qKSRgLCAnZ20nKTtcbn1cbiJdfQ==