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 '';
- };
|