From 49fb28759292541c3d60224db5d12392c6d0c359 Mon Sep 17 00:00:00 2001 From: Katrina Uychaco Date: Tue, 12 Apr 2016 20:35:30 -0700 Subject: [PATCH] Don't load packages starting with dot. Fixes #9805 --- spec/package-manager-spec.coffee | 3 +++ src/package-manager.coffee | 2 ++ 2 files changed, 5 insertions(+) diff --git a/spec/package-manager-spec.coffee b/spec/package-manager-spec.coffee index 6a1610a8a..f68005cf5 100644 --- a/spec/package-manager-spec.coffee +++ b/spec/package-manager-spec.coffee @@ -66,6 +66,9 @@ describe "PackageManager", -> expect(addErrorHandler.argsForCall[0][0].message).toContain("Failed to load the package-with-broken-package-json package") expect(addErrorHandler.argsForCall[0][0].options.packageName).toEqual "package-with-broken-package-json" + it "returns null if the package name or path starts with a dot", -> + expect(atom.packages.loadPackage("/Users/user/.atom/packages/.git")).toBeNull() + it "normalizes short repository urls in package.json", -> {metadata} = atom.packages.loadPackage("package-with-short-url-package-json") expect(metadata.repository.type).toBe "git" diff --git a/src/package-manager.coffee b/src/package-manager.coffee index 0e76a762f..8f2924358 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -367,6 +367,8 @@ class PackageManager @emitter.emit 'did-load-initial-packages' loadPackage: (nameOrPath) -> + return null if path.basename(nameOrPath)[0].match /^\./ # primarily to skip .git folder + return pack if pack = @getLoadedPackage(nameOrPath) if packagePath = @resolvePackagePath(nameOrPath)