Skip to content

Commit 22ed964

Browse files
authored
fix: Fix no-git-dependencies rule (#508)
The `no-git-dependencies` rule incorrectly identifies an archive URL as a git URL. Added the `.tgz` common archive format to the `isArchiveUrl` function. This fixes both the `no-git-dependencies` and `no-git-devDependencies` rules.
1 parent ae0c6f2 commit 22ed964

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

src/validators/dependency-audit.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ const isGithubRepositoryShortcut = (version) => {
242242
* @return {boolean} True if the version is url to archive
243243
*/
244244
const isArchiveUrl = (version) => {
245-
return version.endsWith('.tar.gz') || version.endsWith('.zip');
245+
return version.endsWith('.tgz') || version.endsWith('.tar.gz') || version.endsWith('.zip');
246246
};
247247

248248
/**

test/unit/rules/no-git-dependencies.test.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,4 +234,18 @@ describe('no-git-dependencies Unit Tests', () => {
234234
expect(response).toBe(true);
235235
});
236236
});
237+
238+
describe('when package.json has node with an archive URL', () => {
239+
test('true should be returned', () => {
240+
const packageJsonData = {
241+
dependencies: {
242+
'my-module-v3':
243+
'https://registry.npmjs.org/npm-package-json-lint-config-default/-/npm-package-json-lint-config-default-3.0.0.tgz',
244+
},
245+
};
246+
const response = lint(packageJsonData, 'error');
247+
248+
expect(response).toBe(true);
249+
});
250+
});
237251
});

test/unit/rules/no-git-devDependencies.test.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,4 +234,18 @@ describe('no-git-devDependencies Unit Tests', () => {
234234
expect(response).toBe(true);
235235
});
236236
});
237+
238+
describe('when package.json has node with an archive URL', () => {
239+
test('true should be returned', () => {
240+
const packageJsonData = {
241+
devDependencies: {
242+
'my-module-v3':
243+
'https://registry.npmjs.org/npm-package-json-lint-config-default/-/npm-package-json-lint-config-default-3.0.0.tgz',
244+
},
245+
};
246+
const response = lint(packageJsonData, 'error');
247+
248+
expect(response).toBe(true);
249+
});
250+
});
237251
});

0 commit comments

Comments
 (0)