| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | /*    Copyright (c) 2014 Google Inc. All rights reserved.    Use of this source code is governed by the MIT License, available in this package's LICENSE file    or at http://opensource.org/licenses/MIT. */const path = require('path');function resolvePaths({filepath}, paths) {    if (!paths) {        return [];    }    return paths.slice(0).map(p => path.resolve(filepath, p));}function requirePaths(parentModule, opts) {    const result = {        before: [],        after: []    };    if (!parentModule) {        return result;    }    if (Array.isArray(opts)) {        result.before = resolvePaths(parentModule, opts);    } else {        result.before = resolvePaths(parentModule, opts.before);        result.after = resolvePaths(parentModule, opts.after);    }    return result;}exports.before = function before(targetPath, parentModule, opts) {    const resolvedPaths = requirePaths(parentModule, opts);    return `module.paths = ${JSON.stringify(resolvedPaths.before)}.concat(module.paths)` +        `.concat(${JSON.stringify(resolvedPaths.after)}); `;};exports.after = function after() {    return '';};
 |