atom-nuclide
Version:
A unified developer experience for web and mobile development, built as a suite of features on top of Atom to provide hackability and the support of an active community.
40 lines (35 loc) • 1.07 kB
JavaScript
;
/* @noflow */
/*
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the license found in the LICENSE file in
* the root directory of this source tree.
*/
/* NON-TRANSPILED FILE */
/* eslint-disable babel/func-params-comma-dangle, prefer-object-spread/prefer-object-spread */
/**
* This rule forbids the import of a native 'path' module.
*
* Why:
* Path module is platform dependent and does not support Nuclide's remote URIs
* Using it leads to all kinds of path related errors on Windows.
* nuclideUri, on the other hand can handle both platform dependent local paths and remote
* URIs correctly.
*/
module.exports = function(context) {
return {
ImportDeclaration(node) {
if (node.source.value === 'path' &&
node.importKind !== 'type' &&
node.importKind !== 'typeof'
) {
context.report({
node,
message: 'path module is not to be used. Use commons-node/nuclideUri instead',
});
}
},
};
};