12345678910111213141516171819202122232425262728293031323334353637383940 |
- 'use strict';var _path = require('path');var _path2 = _interopRequireDefault(_path);
- var _moduleVisitor = require('eslint-module-utils/moduleVisitor');var _moduleVisitor2 = _interopRequireDefault(_moduleVisitor);
- var _importType = require('../core/importType');
- var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { 'default': obj };}
- module.exports = {
- meta: {
- type: 'suggestion',
- docs: {
- category: 'Static analysis',
- description: 'Forbid import of modules using absolute paths.',
- url: (0, _docsUrl2['default'])('no-absolute-path') },
- fixable: 'code',
- schema: [(0, _moduleVisitor.makeOptionsSchema)()] },
- create: function () {function create(context) {
- function reportIfAbsolute(source) {
- if ((0, _importType.isAbsolute)(source.value)) {
- context.report({
- node: source,
- message: 'Do not import modules using an absolute path',
- fix: function () {function fix(fixer) {
- var resolvedContext = context.getPhysicalFilename ? context.getPhysicalFilename() : context.getFilename();
-
- var relativePath = _path2['default'].posix.relative(_path2['default'].dirname(resolvedContext), source.value);
- if (!relativePath.startsWith('.')) {
- relativePath = './' + String(relativePath);
- }
- return fixer.replaceText(source, JSON.stringify(relativePath));
- }return fix;}() });
- }
- }
- var options = Object.assign({ esmodule: true, commonjs: true }, context.options[0]);
- return (0, _moduleVisitor2['default'])(reportIfAbsolute, options);
- }return create;}() };
|