Socket
Socket
Sign inDemoInstall

resolve-dependency-path

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

resolve-dependency-path - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

11

index.js

@@ -27,2 +27,13 @@ var path = require('path');

filepath += fileExt;
} else {
// If a dependency starts with a period AND it doesn't already end
// in .js AND doesn't use a custom plugin, add .js back to path.
if (fileExt === '.js' && depExt !== '.js' && dep.indexOf('!') < 0) {
filepath += fileExt;
} else {
// If using a SystemJS style plugin
if (depExt.indexOf('!') > -1) {
filepath += depExt.substring(0, depExt.indexOf('!'));
}
}
}

@@ -29,0 +40,0 @@

2

package.json
{
"name": "resolve-dependency-path",
"version": "1.0.1",
"version": "1.0.2",
"description": "Convert a dependency path into a filepath",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -1,7 +0,6 @@

### resolve-dependency-path
### resolve-dependency-path [![npm](http://img.shields.io/npm/v/resolve-dependency-path.svg)](https://npmjs.org/package/resolve-dependency-path) [![npm](http://img.shields.io/npm/dm/resolve-dependency-path.svg)](https://npmjs.org/package/resolve-dependency-path)
> Convert a dependency path into a filepath
I literally wrote this simple function in a handful of projects and decided it should
be its own module.
`npm install resolve-dependency-path`

@@ -8,0 +7,0 @@ ### Usage

var assert = require('assert');
var resolvePath = require('../');
var path = require('path');

@@ -10,5 +11,36 @@ describe('resolve-dependency-path', function() {

it('resolves w/initial period, w/ending in .js', function() {
var depPath = './index';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert(resolved === __dirname + '/index.js');
});
it('resolves w/initial period, w/o ending in .js', function() {
var depPath = './index.js';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert(resolved === __dirname + '/index.js');
});
it('resolves w/o initial period, w/o ending in .js', function() {
var depPath = 'index';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert(resolved === __dirname + '/index.js');
});
it('resolves w/o initial period, w/ending in .js', function() {
var depPath = 'index.js';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert(resolved === __dirname + '/index.js');
});
it('resolves relative paths', function() {
var resolved = resolvePath('./bar', __dirname + '/foo.js', __dirname);
assert(resolved === __dirname + '/bar.js');

@@ -40,2 +72,84 @@ });

});
describe('multiple period filenames', function() {
it('resolves with multiple periods in the dependency path', function() {
var depPath = './bar.baz.qux';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert(resolved === __dirname + '/bar.baz.qux.js');
});
it('does not duplicate extensions', function() {
var depPath = '../index.js';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
// Extension after removing the .js extension
var remainingExt = path.extname(path.basename(resolved, '.js'));
assert.equal(remainingExt, '');
});
it('does not add the incorrect extension for sass files', function() {
var depPath = 'styles';
var filename = __dirname + '/foo.scss';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert.equal(path.extname(resolved), '.scss');
});
it('does not add the incorrect extension for mustache files', function() {
var depPath = 'hgn!templates/foo.mustache';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert.equal(path.extname(resolved), '.mustache');
});
});
describe('implicit jspm/systemjs style plugins', function() {
it('resolve w/initial period', function() {
var depPath = './templates/file.css!';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert.equal(path.extname(resolved), '.css');
});
it('resolve w/o initial period', function() {
var depPath = 'templates/file.css!';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert.equal(path.extname(resolved), '.css');
});
});
describe('explicit jspm/systemjs style plugins', function() {
it('resolve w/initial period', function() {
var depPath = './templates/file.txt!text';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert.equal(path.extname(resolved), '.txt');
});
it('resolve w/o initial period', function() {
var depPath = 'templates/file.txt!text';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert.equal(path.extname(resolved), '.txt');
});
});
describe('webpack support', function() {
it.skip('resolves properly', function() {
var depPath = './styles/foo.css';
var filename = __dirname + '/foo.js';
var directory = __dirname;
var resolved = resolvePath(depPath, filename, directory);
assert.equal(path.extname(resolved), '.css');
});
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc