From a121535d5c23b5a777b5ff55ad074110ab7414be Mon Sep 17 00:00:00 2001 From: Daniel Hengeveld Date: Tue, 17 Nov 2015 16:59:43 +0100 Subject: [PATCH 01/20] Add travis cache config --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index bf1bd330e..6fed6097c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,6 +32,13 @@ install: script: script/cibuild +cache: + directories: + - $HOME/.atom/.apm + - $HOME/.atom/.node-gyp/.atom + - $HOME/.atom/.npm + - node_modules + notifications: email: on_success: never From d1434b82ea6ee79f8cd909852b033c8488aacfc9 Mon Sep 17 00:00:00 2001 From: Daniel Hengeveld Date: Tue, 17 Nov 2015 17:02:26 +0100 Subject: [PATCH 02/20] Generate fingerprint for CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Here we save a SHA of the package.json and process.platform, and if it’s unchanged, we don’t clean up the node_modules folder. --- script/cibuild | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/script/cibuild b/script/cibuild index c1aedddc8..5e8471506 100755 --- a/script/cibuild +++ b/script/cibuild @@ -1,11 +1,13 @@ #!/usr/bin/env node var cp = require('./utils/child-process-wrapper.js'); +var crypto = require('crypto') var fs = require('fs'); var path = require('path'); process.chdir(path.dirname(__dirname)); var homeDir = process.platform == 'win32' ? process.env.USERPROFILE : process.env.HOME; +var fingerprintPath = path.resolve(__dirname, '..', '.atom-ci-fingerprint') function loadEnvironmentVariables(filePath) { try { @@ -42,6 +44,12 @@ function setEnvironmentVariables() { } function removeNodeModules() { + var fingerprint = generateModuleFingerprint() + if (fs.existsSync(fingerprintPath) && fs.readFileSync(fingerprintPath).toString() === fingerprint) { + console.log('node_modules matches current fingerprint ' + fingerprint + ' - not removing') + return + } + var fsPlus; try { fsPlus = require('fs-plus'); @@ -57,6 +65,17 @@ function removeNodeModules() { } } +function generateModuleFingerprint () { + var packageJson = fs.readFileSync(path.resolve(__dirname, '..', 'package.json')) + var body = packageJson.toString() + process.platform + return crypto.createHash('sha1').update(body).digest('hex') +} + +function fingerprintNodeModules (callback) { + fs.writeFileSync(fingerprintPath, generateModuleFingerprint()) + callback(null, fingerprintPath) +} + function removeTempFolders() { var fsPlus; try { @@ -98,7 +117,7 @@ cp.safeExec.bind(global, 'npm install npm --loglevel error', {cwd: path.resolve( var async = require('async'); var gruntPath = path.join('build', 'node_modules', '.bin', 'grunt') + (process.platform === 'win32' ? '.cmd' : ''); var tasks = [ - cp.safeExec.bind(global, 'git clean -dff'), + cp.safeExec.bind(global, 'git clean -dff -e node_modules -e .atom-ci-fingerprint'), // If we left them behind in removeNodeModules() they are OK to use cp.safeExec.bind(global, gruntPath + ' ci --gruntfile build/Gruntfile.coffee --stack --no-color'), ] async.series(tasks, function(error) { From 5dfed6d22278d2c565131eafa24b3d0c8facab7a Mon Sep 17 00:00:00 2001 From: Daniel Hengeveld Date: Tue, 17 Nov 2015 17:41:45 +0100 Subject: [PATCH 03/20] Move fingerprinting to utils --- script/cibuild | 22 +++++----------------- script/utils/fingerprint.js | 31 +++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 17 deletions(-) create mode 100644 script/utils/fingerprint.js diff --git a/script/cibuild b/script/cibuild index 5e8471506..b3f0b3f83 100755 --- a/script/cibuild +++ b/script/cibuild @@ -1,13 +1,13 @@ #!/usr/bin/env node var cp = require('./utils/child-process-wrapper.js'); var crypto = require('crypto') +var fingerprint = require('./utils/fingerprint') var fs = require('fs'); var path = require('path'); process.chdir(path.dirname(__dirname)); var homeDir = process.platform == 'win32' ? process.env.USERPROFILE : process.env.HOME; -var fingerprintPath = path.resolve(__dirname, '..', '.atom-ci-fingerprint') function loadEnvironmentVariables(filePath) { try { @@ -44,9 +44,8 @@ function setEnvironmentVariables() { } function removeNodeModules() { - var fingerprint = generateModuleFingerprint() - if (fs.existsSync(fingerprintPath) && fs.readFileSync(fingerprintPath).toString() === fingerprint) { - console.log('node_modules matches current fingerprint ' + fingerprint + ' - not removing') + if (fingerprint.fingerprintMatches()) { + console.log('node_modules matches current fingerprint ' + fingerprint.fingerprint() + ' - not removing') return } @@ -65,17 +64,6 @@ function removeNodeModules() { } } -function generateModuleFingerprint () { - var packageJson = fs.readFileSync(path.resolve(__dirname, '..', 'package.json')) - var body = packageJson.toString() + process.platform - return crypto.createHash('sha1').update(body).digest('hex') -} - -function fingerprintNodeModules (callback) { - fs.writeFileSync(fingerprintPath, generateModuleFingerprint()) - callback(null, fingerprintPath) -} - function removeTempFolders() { var fsPlus; try { @@ -117,8 +105,8 @@ cp.safeExec.bind(global, 'npm install npm --loglevel error', {cwd: path.resolve( var async = require('async'); var gruntPath = path.join('build', 'node_modules', '.bin', 'grunt') + (process.platform === 'win32' ? '.cmd' : ''); var tasks = [ - cp.safeExec.bind(global, 'git clean -dff -e node_modules -e .atom-ci-fingerprint'), // If we left them behind in removeNodeModules() they are OK to use - cp.safeExec.bind(global, gruntPath + ' ci --gruntfile build/Gruntfile.coffee --stack --no-color'), + cp.safeExec.bind(global, 'git clean -dff -e node_modules'), // If we left them behind in removeNodeModules() they are OK to use + cp.safeExec.bind(global, gruntPath + ' ci --gruntfile build/Gruntfile.coffee --stack --no-color') ] async.series(tasks, function(error) { process.exit(error ? 1 : 0); diff --git a/script/utils/fingerprint.js b/script/utils/fingerprint.js new file mode 100644 index 000000000..3a189fa9d --- /dev/null +++ b/script/utils/fingerprint.js @@ -0,0 +1,31 @@ +var crypto = require('crypto') +var fs = require('fs') +var path = require('path') + +var fingerprintPath = path.resolve(__dirname, '..', '..', 'node_modules', '.atom-ci-fingerprint') + +module.exports = { + fingerprint: function () { + var packageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'package.json')) + var body = packageJson.toString() + process.platform + return crypto.createHash('sha1').update(body).digest('hex') + }, + + writeFingerprint: function () { + var fingerprint = this.fingerprint() + fs.writeFileSync(fingerprintPath, fingerprint) + console.log('Wrote ci fingerprint:', fingerprintPath, fingerprint) + } + + readFingerprint: function() { + if (fs.existsSync(fingerprintPath)) { + return fs.readFileSync(fingerprintPath).toString() + } else { + return null + } + } + + fingerprintMatches: function () { + return this.readFingerprint() && this.readFingerprint() === this.fingerprint() + } +} From 24f385db2c57b14545c6133576ff9409966afa35 Mon Sep 17 00:00:00 2001 From: Daniel Hengeveld Date: Tue, 17 Nov 2015 17:42:04 +0100 Subject: [PATCH 04/20] Add fingerprint grunt task --- build/tasks/fingerprint-task.js | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 build/tasks/fingerprint-task.js diff --git a/build/tasks/fingerprint-task.js b/build/tasks/fingerprint-task.js new file mode 100644 index 000000000..9cfcdae76 --- /dev/null +++ b/build/tasks/fingerprint-task.js @@ -0,0 +1,7 @@ +var fingerprint = require('../../script/utils/fingerprint') + +module.exports = function (grunt) { + grunt.registerTask('fingerprint', 'Fingerpint the node_modules folder for caching on CI', function () { + fingerprint.writeFingerprint() + }) +} From cbeca5ad07ebc569ea9f2580a9965087bdeabe1d Mon Sep 17 00:00:00 2001 From: Daniel Hengeveld Date: Tue, 17 Nov 2015 17:42:17 +0100 Subject: [PATCH 05/20] Add fingerprint after build in ciTasks --- build/Gruntfile.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/build/Gruntfile.coffee b/build/Gruntfile.coffee index 8dd1c573b..26d9c2f42 100644 --- a/build/Gruntfile.coffee +++ b/build/Gruntfile.coffee @@ -284,6 +284,7 @@ module.exports = (grunt) -> ciTasks.push('download-electron') ciTasks.push('download-electron-chromedriver') ciTasks.push('build') + ciTasks.push('fingerprint') ciTasks.push('dump-symbols') if process.platform isnt 'win32' ciTasks.push('set-version', 'check-licenses', 'lint', 'generate-asar') ciTasks.push('mkdeb') if process.platform is 'linux' From 8005d53c3a4645c8837d463236d26ffaa45fb460 Mon Sep 17 00:00:00 2001 From: Daniel Hengeveld Date: Tue, 17 Nov 2015 17:42:51 +0100 Subject: [PATCH 06/20] Add a couple missing commas --- script/utils/fingerprint.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/utils/fingerprint.js b/script/utils/fingerprint.js index 3a189fa9d..4bdf07baa 100644 --- a/script/utils/fingerprint.js +++ b/script/utils/fingerprint.js @@ -15,7 +15,7 @@ module.exports = { var fingerprint = this.fingerprint() fs.writeFileSync(fingerprintPath, fingerprint) console.log('Wrote ci fingerprint:', fingerprintPath, fingerprint) - } + }, readFingerprint: function() { if (fs.existsSync(fingerprintPath)) { @@ -23,7 +23,7 @@ module.exports = { } else { return null } - } + }, fingerprintMatches: function () { return this.readFingerprint() && this.readFingerprint() === this.fingerprint() From 962b814bb653e4a77795ed22c9e7c4cf90060e10 Mon Sep 17 00:00:00 2001 From: Daniel Hengeveld Date: Wed, 18 Nov 2015 16:13:58 +0100 Subject: [PATCH 07/20] add node version to fingerprint --- script/utils/fingerprint.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/utils/fingerprint.js b/script/utils/fingerprint.js index 4bdf07baa..2da48039f 100644 --- a/script/utils/fingerprint.js +++ b/script/utils/fingerprint.js @@ -7,7 +7,7 @@ var fingerprintPath = path.resolve(__dirname, '..', '..', 'node_modules', '.atom module.exports = { fingerprint: function () { var packageJson = fs.readFileSync(path.resolve(__dirname, '..', '..', 'package.json')) - var body = packageJson.toString() + process.platform + var body = packageJson.toString() + process.platform + process.version return crypto.createHash('sha1').update(body).digest('hex') }, From 799a792f7f03de8d8fdd2f41559e578f806a8539 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 18 Nov 2015 13:05:27 -0800 Subject: [PATCH 08/20] Remove public docs for DirectorySearch and DefaultDirectorySearcher --- src/default-directory-searcher.coffee | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/default-directory-searcher.coffee b/src/default-directory-searcher.coffee index 1c9b40312..6b8ffe3e3 100644 --- a/src/default-directory-searcher.coffee +++ b/src/default-directory-searcher.coffee @@ -1,8 +1,7 @@ Task = require './task' -# Public: Searches local files for lines matching a specified regex. -# -# Implements thenable so it can be used with `Promise.all()`. +# Searches local files for lines matching a specified regex. Implements `.then()` +# so that it can be used with `Promise.all()`. class DirectorySearch constructor: (rootPaths, regex, options) -> scanHandlerOptions = @@ -22,31 +21,25 @@ class DirectorySearch @task.terminate() resolve() - # Public: Implementation of `then()` to satisfy the *thenable* contract. - # This makes it possible to use a `DirectorySearch` with `Promise.all()`. - # - # Returns `Promise`. then: (args...) -> @promise.then.apply(@promise, args) - # Public: Cancels the search. cancel: -> # This will cause @promise to reject. @task.cancel() null - # Default provider for the `atom.directory-searcher` service. module.exports = class DefaultDirectorySearcher - # Public: Determines whether this object supports search for a `Directory`. + # Determines whether this object supports search for a `Directory`. # # * `directory` {Directory} whose search needs might be supported by this object. # # Returns a `boolean` indicating whether this object can search this `Directory`. canSearchDirectory: (directory) -> true - # Public: Performs a text search for files in the specified `Directory`, subject to the + # Performs a text search for files in the specified `Directory`, subject to the # specified parameters. # # Results are streamed back to the caller by invoking methods on the specified `options`, From b04c26ba300dc291273355abe9a537a65ed6b1f6 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 17 Nov 2015 11:45:51 -0800 Subject: [PATCH 09/20] Discard highlights that end above the visible row range Fixes #9628 --- spec/text-editor-presenter-spec.coffee | 12 ++++++++++++ src/text-editor-presenter.coffee | 26 ++++++++++++++++++-------- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/spec/text-editor-presenter-spec.coffee b/spec/text-editor-presenter-spec.coffee index 54899a1d6..06a857a64 100644 --- a/spec/text-editor-presenter-spec.coffee +++ b/spec/text-editor-presenter-spec.coffee @@ -1704,6 +1704,18 @@ describe "TextEditorPresenter", -> expectUndefinedStateForHighlight(presenter, highlight) + it "does not include highlights that end before the first visible row", -> + editor.setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.") + editor.setSoftWrapped(true) + editor.setWidth(100, true) + editor.setDefaultCharWidth(10) + + marker = editor.markBufferRange([[0, 0], [0, 4]], invalidate: 'never') + highlight = editor.decorateMarker(marker, type: 'highlight', class: 'a') + presenter = buildPresenter(explicitHeight: 30, scrollTop: 10, tileSize: 2) + + expect(stateForHighlightInTile(presenter, highlight, 0)).toBeUndefined() + it "updates when ::scrollTop changes", -> editor.setSelectedBufferRanges([ [[6, 2], [6, 4]], diff --git a/src/text-editor-presenter.coffee b/src/text-editor-presenter.coffee index 7bd66b87f..b1f28af11 100644 --- a/src/text-editor-presenter.coffee +++ b/src/text-editor-presenter.coffee @@ -1244,14 +1244,7 @@ class TextEditorPresenter updateHighlightState: (decorationId, properties, screenRange) -> return unless @startRow? and @endRow? and @lineHeight? and @hasPixelPositionRequirements() - return if screenRange.isEmpty() - - if screenRange.start.row < @startRow - screenRange.start.row = @startRow - screenRange.start.column = 0 - if screenRange.end.row >= @endRow - screenRange.end.row = @endRow - screenRange.end.column = 0 + @constrainRangeToVisibleRowRange(screenRange) return if screenRange.isEmpty() @@ -1281,6 +1274,23 @@ class TextEditorPresenter true + constrainRangeToVisibleRowRange: (screenRange) -> + if screenRange.start.row < @startRow + screenRange.start.row = @startRow + screenRange.start.column = 0 + + if screenRange.end.row < @startRow + screenRange.end.row = @startRow + screenRange.end.column = 0 + + if screenRange.start.row >= @endRow + screenRange.start.row = @endRow + screenRange.start.column = 0 + + if screenRange.end.row >= @endRow + screenRange.end.row = @endRow + screenRange.end.column = 0 + repositionRegionWithinTile: (region, tileStartRow) -> region.top += @scrollTop - tileStartRow * @lineHeight region.left += @scrollLeft From e572763cf78ea0ecde2564ff60b637f958c40edc Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Wed, 18 Nov 2015 22:21:27 -0800 Subject: [PATCH 10/20] Remove unnecessary fat arrow --- src/config.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.coffee b/src/config.coffee index 888193059..489e16016 100644 --- a/src/config.coffee +++ b/src/config.coffee @@ -699,7 +699,7 @@ class Config @endTransaction() fn(args...) result = callback() - new Promise (resolve, reject) => + new Promise (resolve, reject) -> result.then(endTransaction(resolve)).catch(endTransaction(reject)) catch error @endTransaction() From 69a0acd5547ddf160396a9f8af79fa1ccfb7f232 Mon Sep 17 00:00:00 2001 From: abe33 Date: Mon, 16 Nov 2015 10:06:35 +0100 Subject: [PATCH 11/20] :bug: Fix typo in project deserializer method Addresses #9598 --- src/project.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/project.coffee b/src/project.coffee index 935e3a213..bb9c8be80 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -55,7 +55,7 @@ class Project extends Model ### deserialize: (state, deserializerManager) -> - states.paths = [state.path] if state.path? # backward compatibility + state.paths = [state.path] if state.path? # backward compatibility @buffers = _.compact state.buffers.map (bufferState) -> # Check that buffer's file path is accessible From fb5b1ba7f394e7c970d04d29af551d81c2fd277b Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Thu, 19 Nov 2015 07:13:37 -0800 Subject: [PATCH 12/20] 1.2.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7f0914b69..cd970440d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "atom", "productName": "Atom", - "version": "1.2.2", + "version": "1.2.3", "description": "A hackable text editor for the 21st Century.", "main": "./src/browser/main.js", "repository": { From 2d1c35805eff2591133c9176d920c4e692fd3342 Mon Sep 17 00:00:00 2001 From: Daniel Hengeveld Date: Thu, 19 Nov 2015 16:32:12 +0100 Subject: [PATCH 13/20] :arrow_up:legal-eagle@0.13.0 - adds Public Domain as a permissive license type. --- build/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/package.json b/build/package.json index 2ce92de17..de9053006 100644 --- a/build/package.json +++ b/build/package.json @@ -27,7 +27,7 @@ "grunt-peg": "~1.1.0", "grunt-shell": "~0.3.1", "grunt-standard": "^1.0.2", - "legal-eagle": "~0.12.0", + "legal-eagle": "~0.13.0", "minidump": "~0.9", "npm": "2.13.3", "rcedit": "~0.3.0", From a126374a7b1a2cefd096aaf884f1de3e1082ca5c Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Wed, 18 Nov 2015 10:41:07 -0800 Subject: [PATCH 14/20] Coerce boolean options to booleans Pairing with @as-cii --- src/browser/atom-application.coffee | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/browser/atom-application.coffee b/src/browser/atom-application.coffee index 8bb44349e..8e8e4af54 100644 --- a/src/browser/atom-application.coffee +++ b/src/browser/atom-application.coffee @@ -373,6 +373,8 @@ class AtomApplication # :windowDimensions - Object with height and width keys. # :window - {AtomWindow} to open file paths in. openPaths: ({pathsToOpen, executedFrom, pidToKillWhenClosed, newWindow, devMode, safeMode, windowDimensions, profileStartup, window}={}) -> + devMode = Boolean(devMode) + safeMode = Boolean(safeMode) locationsToOpen = (@locationForPathToOpen(pathToOpen, executedFrom) for pathToOpen in pathsToOpen) pathsToOpen = (locationToOpen.pathToOpen for locationToOpen in locationsToOpen) From ced8dbb9c313c884a8ea233076a46959a2306357 Mon Sep 17 00:00:00 2001 From: Daniel Hengeveld Date: Thu, 19 Nov 2015 17:43:48 +0100 Subject: [PATCH 15/20] only cache node_modules in case it's leading to these other build failures --- .travis.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6fed6097c..3ce84c266 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,9 +34,6 @@ script: script/cibuild cache: directories: - - $HOME/.atom/.apm - - $HOME/.atom/.node-gyp/.atom - - $HOME/.atom/.npm - node_modules notifications: From 57503e4294b0826e994f54392697e9a2207dc722 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 19 Nov 2015 11:09:37 -0800 Subject: [PATCH 16/20] Prepare 1.3.0-beta5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 92da702e3..1f6686295 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "atom", "productName": "Atom", - "version": "1.3.0-beta4", + "version": "1.3.0-beta5", "description": "A hackable text editor for the 21st Century.", "main": "./src/browser/main.js", "repository": { From 23102198ced59593cab282f5a1dd45850692b9bf Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Wed, 18 Nov 2015 20:58:19 -0800 Subject: [PATCH 17/20] =?UTF-8?q?Don=E2=80=99t=20change=20key=20name=20in?= =?UTF-8?q?=20serialized=20application=20state?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We changed it internally for clarity, but this is breaking compatibility with restoring state when upgrading from previous versions. Fixes #9690 --- src/browser/atom-application.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/browser/atom-application.coffee b/src/browser/atom-application.coffee index f825899e3..7f182b584 100644 --- a/src/browser/atom-application.coffee +++ b/src/browser/atom-application.coffee @@ -441,7 +441,7 @@ class AtomApplication states = [] for window in @windows if not window.isSpec and window.projectDirectoryPaths? - states.push(projectDirectoryPaths: window.projectDirectoryPaths) + states.push(initialPaths: window.projectDirectoryPaths) if states.length > 0 or allowEmpty @storageFolder.store('application.json', states) @@ -449,7 +449,7 @@ class AtomApplication if (states = @storageFolder.load('application.json'))?.length > 0 for state in states @openWithOptions(_.extend(options, { - pathsToOpen: state.projectDirectoryPaths + pathsToOpen: state.initialPaths urlsToOpen: [] devMode: @devMode safeMode: @safeMode From a285d34c89f35ee0deb5c745a2adb66e6f625022 Mon Sep 17 00:00:00 2001 From: Wliu <50Wliu@users.noreply.github.com> Date: Thu, 19 Nov 2015 16:06:22 -0500 Subject: [PATCH 18/20] :arrow_up: language-coffee-script@0.45.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e389ade0b..15d98f357 100644 --- a/package.json +++ b/package.json @@ -118,7 +118,7 @@ "wrap-guide": "0.38.1", "language-c": "0.49.0", "language-clojure": "0.18.0", - "language-coffee-script": "0.43.0", + "language-coffee-script": "0.45.0", "language-csharp": "0.11.0", "language-css": "0.35.0", "language-gfm": "0.81.0", From 878ad232dcbe1cc15a07339d8a1ca1b3296ba806 Mon Sep 17 00:00:00 2001 From: Wliu <50Wliu@users.noreply.github.com> Date: Thu, 19 Nov 2015 16:06:57 -0500 Subject: [PATCH 19/20] :arrow_up: language-javascript@0.102.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 15d98f357..d3e1af17a 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "language-html": "0.42.0", "language-hyperlink": "0.15.0", "language-java": "0.16.1", - "language-javascript": "0.101.1", + "language-javascript": "0.102.0", "language-json": "0.17.1", "language-less": "0.28.3", "language-make": "0.20.0", From cad74060855aa37c5de528d6f03761ac74170103 Mon Sep 17 00:00:00 2001 From: Wliu <50Wliu@users.noreply.github.com> Date: Thu, 19 Nov 2015 16:07:31 -0500 Subject: [PATCH 20/20] :arrow_up: language-sass@0.44.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d3e1af17a..106b6e0b7 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,7 @@ "language-python": "0.42.1", "language-ruby": "0.64.0", "language-ruby-on-rails": "0.24.0", - "language-sass": "0.43.0", + "language-sass": "0.44.0", "language-shellscript": "0.20.0", "language-source": "0.9.0", "language-sql": "0.19.0",