Sha256: e9018d03eb728701679673525fbcee4f6c1f1e3453ad00cd1c636304dc319099

Contents?: true

Size: 999 Bytes

Versions: 5

Compression:

Stored size: 999 Bytes

Contents

import * as fs from 'fs';
import { dirname, resolve } from 'path';

function isFile ( file ) {
	try {
		const stats = fs.statSync( file );
		return stats.isFile();
	} catch ( err ) {
		return false;
	}
}

function addJsExtensionIfNecessary ( file ) {
	if ( isFile( file ) ) return file;

	file += '.js';
	if ( isFile( file ) ) return file;

	return null;
}

const absolutePath = /^(?:\/|(?:[A-Za-z]:)?[\\|/])/;

function isAbsolute ( path ) {
	return absolutePath.test( path );
}

export default function defaultResolver ( importee, importer ) {
	// absolute paths are left untouched
	if ( isAbsolute( importee ) ) return addJsExtensionIfNecessary( resolve( importee ) );

	// if this is the entry point, resolve against cwd
	if ( importer === undefined ) return addJsExtensionIfNecessary( resolve( process.cwd(), importee ) );

	// external modules are skipped at this stage
	if ( importee[0] !== '.' ) return null;

	return addJsExtensionIfNecessary( resolve( dirname( importer ), importee ) );
}

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
jass-0.9.5 vendor/node_modules/rollup-plugin-commonjs/src/defaultResolver.js
jass-0.9.4 vendor/node_modules/rollup-plugin-commonjs/src/defaultResolver.js
jass-0.9.3 vendor/node_modules/rollup-plugin-commonjs/src/defaultResolver.js
condenser-0.0.4 lib/condenser/processors/node_modules/rollup-plugin-commonjs/src/defaultResolver.js
jass-0.9.1 vendor/node_modules/rollup-plugin-commonjs/src/defaultResolver.js