From 04353b8db9d33a431042c74bd742215e44f92976 Mon Sep 17 00:00:00 2001 From: Winston Liu <50Wliu@users.noreply.github.com> Date: Tue, 14 May 2019 18:12:41 -0400 Subject: [PATCH 1/5] Add .atom-socket-secret-* to .atom's .gitignore --- dot-atom/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/dot-atom/.gitignore b/dot-atom/.gitignore index 41cb47854..a92892df8 100644 --- a/dot-atom/.gitignore +++ b/dot-atom/.gitignore @@ -5,3 +5,4 @@ storage .apm .node-gyp .npm +.atom-socket-secret-* From 765d5122c38924759a63151de395873705a7a6b2 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 14 May 2019 17:17:49 -0600 Subject: [PATCH 2/5] Allow escaped " literals in the SyntaxScopeMap In order to pass a quote literal to the postcss-selector-parser, it needs to be escaped. However, this escaping is not removed by the parser in the yielded value token, so in this commit I replace any escaped quote literals with unescaped quotes after we trim the outer quotes off of the string. --- spec/syntax-scope-map-spec.js | 4 +++- src/syntax-scope-map.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/spec/syntax-scope-map-spec.js b/spec/syntax-scope-map-spec.js index ec52c24b6..4b30ef934 100644 --- a/spec/syntax-scope-map-spec.js +++ b/spec/syntax-scope-map-spec.js @@ -49,13 +49,15 @@ describe('SyntaxScopeMap', () => { const map = new SyntaxScopeMap({ '"b"': 'w', 'a > "b"': 'x', - 'a > "b":nth-child(1)': 'y' + 'a > "b":nth-child(1)': 'y', + '"\\""': 'z' }) expect(map.get(['b'], [0], true)).toBe(undefined) expect(map.get(['b'], [0], false)).toBe('w') expect(map.get(['a', 'b'], [0, 0], false)).toBe('x') expect(map.get(['a', 'b'], [0, 1], false)).toBe('y') + expect(map.get(['a', '"'], [0, 1], false)).toBe('z') }) it('supports the wildcard selector', () => { diff --git a/src/syntax-scope-map.js b/src/syntax-scope-map.js index 90e4cd141..39b127079 100644 --- a/src/syntax-scope-map.js +++ b/src/syntax-scope-map.js @@ -36,7 +36,7 @@ class SyntaxScopeMap { case 'string': if (!currentTable) currentTable = this.anonymousScopeTable - const value = termNode.value.slice(1, -1) + const value = termNode.value.slice(1, -1).replace(/\\"/g, '"') if (!currentTable[value]) currentTable[value] = {} currentTable = currentTable[value] if (currentIndexValue != null) { From e01fe4ca909ca5db63dd61282242e4347f2f5c33 Mon Sep 17 00:00:00 2001 From: Rafael Oleza Date: Wed, 15 May 2019 12:15:35 +0200 Subject: [PATCH 3/5] Replace new Buffer() with Buffer.from() This removes deprecation warnings on Node >=10 Co-Authored-By: Antonio Scandurra --- spec/file-system-blob-store-spec.coffee | 60 ++++++++++++------------- spec/native-compile-cache-spec.coffee | 2 +- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/spec/file-system-blob-store-spec.coffee b/spec/file-system-blob-store-spec.coffee index ff1c81eb6..0a9b07621 100644 --- a/spec/file-system-blob-store-spec.coffee +++ b/spec/file-system-blob-store-spec.coffee @@ -18,88 +18,88 @@ describe "FileSystemBlobStore", -> expect(blobStore.get("bar")).toBeUndefined() it "allows to read and write buffers from/to memory without persisting them", -> - blobStore.set("foo", new Buffer("foo")) - blobStore.set("bar", new Buffer("bar")) + blobStore.set("foo", Buffer.from("foo")) + blobStore.set("bar", Buffer.from("bar")) - expect(blobStore.get("foo")).toEqual(new Buffer("foo")) - expect(blobStore.get("bar")).toEqual(new Buffer("bar")) + expect(blobStore.get("foo")).toEqual(Buffer.from("foo")) + expect(blobStore.get("bar")).toEqual(Buffer.from("bar")) expect(blobStore.get("baz")).toBeUndefined() expect(blobStore.get("qux")).toBeUndefined() it "persists buffers when saved and retrieves them on load, giving priority to in-memory ones", -> - blobStore.set("foo", new Buffer("foo")) - blobStore.set("bar", new Buffer("bar")) + blobStore.set("foo", Buffer.from("foo")) + blobStore.set("bar", Buffer.from("bar")) blobStore.save() blobStore = FileSystemBlobStore.load(storageDirectory) - expect(blobStore.get("foo")).toEqual(new Buffer("foo")) - expect(blobStore.get("bar")).toEqual(new Buffer("bar")) + expect(blobStore.get("foo")).toEqual(Buffer.from("foo")) + expect(blobStore.get("bar")).toEqual(Buffer.from("bar")) expect(blobStore.get("baz")).toBeUndefined() expect(blobStore.get("qux")).toBeUndefined() - blobStore.set("foo", new Buffer("changed")) + blobStore.set("foo", Buffer.from("changed")) - expect(blobStore.get("foo")).toEqual(new Buffer("changed")) + expect(blobStore.get("foo")).toEqual(Buffer.from("changed")) it "persists in-memory and previously stored buffers, and deletes unused keys when saved", -> - blobStore.set("foo", new Buffer("foo")) - blobStore.set("bar", new Buffer("bar")) + blobStore.set("foo", Buffer.from("foo")) + blobStore.set("bar", Buffer.from("bar")) blobStore.save() blobStore = FileSystemBlobStore.load(storageDirectory) - blobStore.set("bar", new Buffer("changed")) - blobStore.set("qux", new Buffer("qux")) + blobStore.set("bar", Buffer.from("changed")) + blobStore.set("qux", Buffer.from("qux")) blobStore.save() blobStore = FileSystemBlobStore.load(storageDirectory) expect(blobStore.get("foo")).toBeUndefined() - expect(blobStore.get("bar")).toEqual(new Buffer("changed")) - expect(blobStore.get("qux")).toEqual(new Buffer("qux")) + expect(blobStore.get("bar")).toEqual(Buffer.from("changed")) + expect(blobStore.get("qux")).toEqual(Buffer.from("qux")) it "allows to delete keys from both memory and stored buffers", -> - blobStore.set("a", new Buffer("a")) - blobStore.set("b", new Buffer("b")) + blobStore.set("a", Buffer.from("a")) + blobStore.set("b", Buffer.from("b")) blobStore.save() blobStore = FileSystemBlobStore.load(storageDirectory) blobStore.get("a") # prevent the key from being deleted on save - blobStore.set("b", new Buffer("b")) - blobStore.set("c", new Buffer("c")) + blobStore.set("b", Buffer.from("b")) + blobStore.set("c", Buffer.from("c")) blobStore.delete("b") blobStore.delete("c") blobStore.save() blobStore = FileSystemBlobStore.load(storageDirectory) - expect(blobStore.get("a")).toEqual(new Buffer("a")) + expect(blobStore.get("a")).toEqual(Buffer.from("a")) expect(blobStore.get("b")).toBeUndefined() expect(blobStore.get("b")).toBeUndefined() expect(blobStore.get("c")).toBeUndefined() it "ignores errors when loading an invalid blob store", -> - blobStore.set("a", new Buffer("a")) - blobStore.set("b", new Buffer("b")) + blobStore.set("a", Buffer.from("a")) + blobStore.set("b", Buffer.from("b")) blobStore.save() # Simulate corruption - fs.writeFileSync(path.join(storageDirectory, "MAP"), new Buffer([0])) - fs.writeFileSync(path.join(storageDirectory, "INVKEYS"), new Buffer([0])) - fs.writeFileSync(path.join(storageDirectory, "BLOB"), new Buffer([0])) + fs.writeFileSync(path.join(storageDirectory, "MAP"), Buffer.from([0])) + fs.writeFileSync(path.join(storageDirectory, "INVKEYS"), Buffer.from([0])) + fs.writeFileSync(path.join(storageDirectory, "BLOB"), Buffer.from([0])) blobStore = FileSystemBlobStore.load(storageDirectory) expect(blobStore.get("a")).toBeUndefined() expect(blobStore.get("b")).toBeUndefined() - blobStore.set("a", new Buffer("x")) - blobStore.set("b", new Buffer("y")) + blobStore.set("a", Buffer.from("x")) + blobStore.set("b", Buffer.from("y")) blobStore.save() blobStore = FileSystemBlobStore.load(storageDirectory) - expect(blobStore.get("a")).toEqual(new Buffer("x")) - expect(blobStore.get("b")).toEqual(new Buffer("y")) + expect(blobStore.get("a")).toEqual(Buffer.from("x")) + expect(blobStore.get("b")).toEqual(Buffer.from("y")) diff --git a/spec/native-compile-cache-spec.coffee b/spec/native-compile-cache-spec.coffee index a43cbe815..ff985fa3c 100644 --- a/spec/native-compile-cache-spec.coffee +++ b/spec/native-compile-cache-spec.coffee @@ -89,7 +89,7 @@ describe "NativeCompileCache", -> it "deletes previously cached code when the cache is an invalid file", -> fakeCacheStore.has.andReturn(true) - fakeCacheStore.get.andCallFake -> new Buffer("an invalid cache") + fakeCacheStore.get.andCallFake -> Buffer.from("an invalid cache") fn3 = require('./fixtures/native-cache/file-3') From 425aaa7981f1b35644f4bfa66bca7a1847f744d5 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Wed, 15 May 2019 12:57:58 -0600 Subject: [PATCH 4/5] Disable @atom/notify again --- src/config-schema.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config-schema.js b/src/config-schema.js index 1a8c9503e..345e6dd78 100644 --- a/src/config-schema.js +++ b/src/config-schema.js @@ -331,7 +331,7 @@ const configSchema = { fileSystemWatcher: { description: 'Choose the underlying implementation used to watch for filesystem changes. Emulating changes will miss any events caused by applications other than Atom, but may help prevent crashes or freezes. Polling may be useful for network drives, but will be more costly in terms of CPU overhead.
This setting will require a relaunch of Atom to take effect.', type: 'string', - default: 'experimental', + default: 'native', enum: [ { value: 'native', From e1a5d520e0d4bcd26692e3d811cb63ca92152506 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 15 May 2019 16:36:53 -0700 Subject: [PATCH 5/5] :arrow_up: tree-sitter-ruby --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 03f8ab582..5aabf3101 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7192,9 +7192,9 @@ } }, "tree-sitter-ruby": { - "version": "0.13.13", - "resolved": "https://registry.npmjs.org/tree-sitter-ruby/-/tree-sitter-ruby-0.13.13.tgz", - "integrity": "sha512-paG2Qib6kPo2++RyuobOsxFuNcLNbb2vOCVB6/gqI7tPIZUJNcwuTnRynvhNq935Oy+fpCTlXZy5d6J/MMwbHA==", + "version": "0.13.14", + "resolved": "https://registry.npmjs.org/tree-sitter-ruby/-/tree-sitter-ruby-0.13.14.tgz", + "integrity": "sha512-ye0Bpzp12HifMoocwhDVR0Adqo7DdR44anPHkx1qhhmdpzMdzsW7WzQYBTJjQo/iFXsgahl/Q9L7AwNI+2cKLw==", "requires": { "nan": "^2.12.1", "prebuild-install": "^5.0.0"