From d322f9a5fa0e4a5e864e2ba45ad3fee2dedd69cf Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 10:30:43 -0700 Subject: [PATCH 01/89] Add exports folder to NODE_PATH This is where all public classes will be exported through --- exports/atom-api.coffee | 3 +++ src/atom-window.coffee | 1 + 2 files changed, 4 insertions(+) create mode 100644 exports/atom-api.coffee diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee new file mode 100644 index 000000000..d79bd743e --- /dev/null +++ b/exports/atom-api.coffee @@ -0,0 +1,3 @@ +module.exports = + WorkspaceView: require './src/root-view' + fs: require './src/fs-utils' diff --git a/src/atom-window.coffee b/src/atom-window.coffee index c2cf61799..d4d77d622 100644 --- a/src/atom-window.coffee +++ b/src/atom-window.coffee @@ -45,6 +45,7 @@ class AtomWindow setupNodePath: (resourcePath) -> paths = [ + 'exports' 'src' 'vendor' 'static' From 1b8d61e0b4d2e803ba50e805fea1b9a4244a519b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 11:07:55 -0700 Subject: [PATCH 02/89] Export File class --- exports/atom-api.coffee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index d79bd743e..20bfa20a9 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -1,3 +1,4 @@ module.exports = - WorkspaceView: require './src/root-view' + File: require './src/file' fs: require './src/fs-utils' + WorkspaceView: require './src/root-view' From 358b98cc70f91c1d5fef1b98f46f80b3ba288989 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 11:12:45 -0700 Subject: [PATCH 03/89] Navigate up to src directory --- exports/atom-api.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index 20bfa20a9..4845389dd 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -1,4 +1,4 @@ module.exports = - File: require './src/file' - fs: require './src/fs-utils' - WorkspaceView: require './src/root-view' + File: require '../src/file' + fs: require '../src/fs-utils' + WorkspaceView: require '../src/root-view' From a7afe7b46f9524591cb8a867e1327b093ade0407 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 11:17:22 -0700 Subject: [PATCH 04/89] Add underscore, jQuery, and SpacePen to exports --- exports/atom-api.coffee | 7 +++++++ src/jquery-extensions.coffee | 2 ++ src/space-pen-extensions.coffee | 8 +++++--- src/underscore-extensions.coffee | 2 ++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index 4845389dd..7b05fe72c 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -1,4 +1,11 @@ +{View, $$, $$$} = require '../src/space-pen-extensions' + module.exports = + _: require '../src/underscore-extensions' + $: require '../src/jquery-extensions' + $$: $$ + $$$: $$$ File: require '../src/file' fs: require '../src/fs-utils' + View: View WorkspaceView: require '../src/root-view' diff --git a/src/jquery-extensions.coffee b/src/jquery-extensions.coffee index 77b968c32..dd6375144 100644 --- a/src/jquery-extensions.coffee +++ b/src/jquery-extensions.coffee @@ -126,3 +126,5 @@ $.fn.intValue = -> $.Event.prototype.abortKeyBinding = -> $.Event.prototype.currentTargetView = -> $(this.currentTarget).view() $.Event.prototype.targetView = -> $(this.target).view() + +module.exports = $ diff --git a/src/space-pen-extensions.coffee b/src/space-pen-extensions.coffee index 37443ab03..e899373cb 100644 --- a/src/space-pen-extensions.coffee +++ b/src/space-pen-extensions.coffee @@ -1,11 +1,11 @@ _ = require 'underscore' -{View} = require 'space-pen' +spacePen = require 'space-pen' jQuery = require 'jquery' ConfigObserver = require 'config-observer' Subscriber = require 'subscriber' -_.extend View.prototype, ConfigObserver -_.extend View.prototype, Subscriber +_.extend spacePen.View.prototype, ConfigObserver +_.extend spacePen.View.prototype, Subscriber originalCleanData = jQuery.cleanData jQuery.cleanData = (elements) -> @@ -14,3 +14,5 @@ jQuery.cleanData = (elements) -> view.unobserveConfig() view.unsubscribe() originalCleanData(elements) + +module.exports = spacePen diff --git a/src/underscore-extensions.coffee b/src/underscore-extensions.coffee index 91ddce145..46ab466e4 100644 --- a/src/underscore-extensions.coffee +++ b/src/underscore-extensions.coffee @@ -166,3 +166,5 @@ _.mixin _.every potentialSubset, (element) -> _.include(potentialSuperset, element) _.isEqual = require 'tantamount' + +module.exports = _ From 867ab355b09f8169fd1e36b8b173849ff0019a06 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 11:27:03 -0700 Subject: [PATCH 05/89] Use relative requires to vendored specificity --- src/binding-set.coffee | 2 +- src/syntax.coffee | 2 +- vendor/specificity.js | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/binding-set.coffee b/src/binding-set.coffee index 001b4ddf5..29ba0b97c 100644 --- a/src/binding-set.coffee +++ b/src/binding-set.coffee @@ -2,7 +2,7 @@ $ = require 'jquery' _ = require 'underscore' fsUtils = require 'fs-utils' -Specificity = require 'specificity' +Specificity = require '../vendor/specificity' PEG = require 'pegjs' ### Internal ### diff --git a/src/syntax.coffee b/src/syntax.coffee index 8a5b0a549..1c55b6967 100644 --- a/src/syntax.coffee +++ b/src/syntax.coffee @@ -1,6 +1,6 @@ _ = require 'underscore' jQuery = require 'jquery' -Specificity = require 'specificity' +Specificity = require '../vendor/specificity' {$$} = require 'space-pen' fsUtils = require 'fs-utils' EventEmitter = require 'event-emitter' diff --git a/vendor/specificity.js b/vendor/specificity.js index d151cf32e..d0620d564 100644 --- a/vendor/specificity.js +++ b/vendor/specificity.js @@ -4,7 +4,7 @@ // for (var ii = nots.length; ii--;) s += this.specificity(nots[ii]); // for (var ii = nots.length; ii--;) s += nots[ii]; -var Slick = require('slick'); +var Slick = require('./slick'); module.exports = function(selector){ var parsed = Slick.parse(selector); @@ -32,4 +32,3 @@ module.exports = function(selector){ } return specificity; }; - From 53dadf2d7f47f016dd57b3b654a63c76bceb6155 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 11:27:36 -0700 Subject: [PATCH 06/89] Use relative requires to vendored stringscore --- src/fuzzy-filter.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fuzzy-filter.coffee b/src/fuzzy-filter.coffee index 6cd16e071..1288eb6a9 100644 --- a/src/fuzzy-filter.coffee +++ b/src/fuzzy-filter.coffee @@ -1,4 +1,4 @@ -stringScore = require 'stringscore' +stringScore = require '../vendor/stringscore' path = require 'path' module.exports = (candidates, query, options={}) -> From 52abb4afc9098454cea8e220a363be3a9b958934 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 11:33:56 -0700 Subject: [PATCH 07/89] Remove nakedLoad and use standard require for jasmine --- spec/jasmine-helper.coffee | 13 ++----------- spec/spec-helper.coffee | 2 +- vendor/jasmine.js | 4 ++-- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/spec/jasmine-helper.coffee b/spec/jasmine-helper.coffee index f7c5acef2..784b063f5 100644 --- a/spec/jasmine-helper.coffee +++ b/spec/jasmine-helper.coffee @@ -1,16 +1,7 @@ -window.nakedLoad = (file) -> - fsUtils = require 'fs-utils' - path = require 'path' - file = require.resolve(file) - code = fsUtils.read(file) - if path.extname(file) is '.coffee' - require('coffee-script').eval(code, filename: file) - else - window.eval("#{code}\n//@ sourceURL=#{file}") - module.exports.runSpecSuite = (specSuite, logErrors=true) -> {$$} = require 'space-pen' - nakedLoad 'jasmine' + for key, value of require '../vendor/jasmine' + window[key] = value require 'jasmine-focused' $ = require 'jquery' diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee index 881471b91..102a513cb 100644 --- a/spec/spec-helper.coffee +++ b/spec/spec-helper.coffee @@ -2,7 +2,7 @@ require 'window' window.setUpEnvironment('spec') window.restoreDimensions() -nakedLoad 'jasmine-jquery' +require '../vendor/jasmine-jquery' path = require 'path' $ = jQuery = require 'jquery' _ = require 'underscore' diff --git a/vendor/jasmine.js b/vendor/jasmine.js index 0da28abfa..1b80d662f 100644 --- a/vendor/jasmine.js +++ b/vendor/jasmine.js @@ -1,10 +1,10 @@ // Modified line // - var isCommonJS = typeof window == "undefined" && typeof exports == "object"; -// + +// + var isCommonJS = typeof exports == "object"; // // Modified method jasmine.WaitsForBlock.prototype.execute -var isCommonJS = typeof window == "undefined" && typeof exports == "object"; +var isCommonJS = typeof exports == "object"; /** * Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework. From 4bbc93e8062a869f8665b1c26919aade76fcda44 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 11:35:22 -0700 Subject: [PATCH 08/89] Remove static from NODE_PATH --- src/atom-window.coffee | 1 - 1 file changed, 1 deletion(-) diff --git a/src/atom-window.coffee b/src/atom-window.coffee index d4d77d622..750a3de9e 100644 --- a/src/atom-window.coffee +++ b/src/atom-window.coffee @@ -48,7 +48,6 @@ class AtomWindow 'exports' 'src' 'vendor' - 'static' 'node_modules' ] paths.push('spec') if @isSpec From 7e6ee6cc0caec38dc824ed64922caecc1f9ba317 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 11:44:01 -0700 Subject: [PATCH 09/89] Use relative require paths to stylesheets --- src/atom.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/atom.coffee b/src/atom.coffee index 422949da5..20ac5dd7a 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -141,11 +141,11 @@ window.atom = null loadBaseStylesheets: -> - requireStylesheet('bootstrap/less/bootstrap') + requireStylesheet('../vendor/bootstrap/less/bootstrap') @reloadBaseStylesheets() reloadBaseStylesheets: -> - requireStylesheet('atom') + requireStylesheet('../static/atom') if nativeStylesheetPath = fsUtils.resolveOnLoadPath(process.platform, ['css', 'less']) requireStylesheet(nativeStylesheetPath) From 1547912e3f90bd86b5cdf17e950636030a92703b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 11:47:00 -0700 Subject: [PATCH 10/89] :lipstick: --- spec/jasmine-helper.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/jasmine-helper.coffee b/spec/jasmine-helper.coffee index 784b063f5..db49c1638 100644 --- a/spec/jasmine-helper.coffee +++ b/spec/jasmine-helper.coffee @@ -1,7 +1,7 @@ module.exports.runSpecSuite = (specSuite, logErrors=true) -> {$$} = require 'space-pen' - for key, value of require '../vendor/jasmine' - window[key] = value + window[key] = value for key, value of require '../vendor/jasmine' + require 'jasmine-focused' $ = require 'jquery' From b84df9ff29e3a8500d6a38f7afa10a3c4f8ec96c Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 11:47:47 -0700 Subject: [PATCH 11/89] Use relative require path to jasmine stylesheet --- spec/spec-helper.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee index 102a513cb..a6d43e1f0 100644 --- a/spec/spec-helper.coffee +++ b/spec/spec-helper.coffee @@ -20,7 +20,7 @@ RootView = require 'root-view' clipboard = require 'clipboard' atom.loadBaseStylesheets() -requireStylesheet "jasmine" +requireStylesheet '../static/jasmine' fixturePackagesPath = fsUtils.resolveOnLoadPath('fixtures/packages') config.packageDirPaths.unshift(fixturePackagesPath) From 595bd076bfb790b47157e2a5c8587e1d2d095136 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 13:49:13 -0700 Subject: [PATCH 12/89] Export all fs functions through fs-utils --- src/fs-utils.coffee | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fs-utils.coffee b/src/fs-utils.coffee index 77a32b62c..1d96cb523 100644 --- a/src/fs-utils.coffee +++ b/src/fs-utils.coffee @@ -6,7 +6,7 @@ async = require 'async' rimraf = require 'rimraf' path = require 'path' -module.exports = +fsExtensions = # Make the given path absolute by resolving it against the # current working directory. absolute: (relativePath) -> @@ -301,3 +301,5 @@ module.exports = CSON.readFile(objectPath, done) else @readPlist(objectPath, done) + +module.exports = _.extend(fsExtensions, fs) From 57eaaece9d388f05eaac99318de914aa2c17dabf Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 13:50:35 -0700 Subject: [PATCH 13/89] Set fs extensions to override fs functions --- src/fs-utils.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fs-utils.coffee b/src/fs-utils.coffee index 1d96cb523..8285bbe13 100644 --- a/src/fs-utils.coffee +++ b/src/fs-utils.coffee @@ -302,4 +302,4 @@ fsExtensions = else @readPlist(objectPath, done) -module.exports = _.extend(fsExtensions, fs) +module.exports = _.extend({}, fs, fsExtensions) From 71b74c466ee415aad1616e19f2e19836803c2a77 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 13:56:01 -0700 Subject: [PATCH 14/89] Remove unused requires --- spec/atom-package-spec.coffee | 1 - spec/edit-session-spec.coffee | 3 --- spec/editor-spec.coffee | 3 --- spec/language-mode-spec.coffee | 4 ---- spec/root-view-spec.coffee | 3 --- spec/text-buffer-spec.coffee | 2 -- spec/text-mate-grammar-spec.coffee | 1 - spec/tokenized-buffer-spec.coffee | 1 - spec/window-spec.coffee | 1 - 9 files changed, 19 deletions(-) diff --git a/spec/atom-package-spec.coffee b/spec/atom-package-spec.coffee index e592fbc99..74692d8c8 100644 --- a/spec/atom-package-spec.coffee +++ b/spec/atom-package-spec.coffee @@ -1,5 +1,4 @@ $ = require 'jquery' -fsUtils = require 'fs-utils' path = require 'path' Package = require 'package' diff --git a/spec/edit-session-spec.coffee b/spec/edit-session-spec.coffee index 0ab5f6ac5..afd279376 100644 --- a/spec/edit-session-spec.coffee +++ b/spec/edit-session-spec.coffee @@ -1,6 +1,3 @@ -Project = require 'project' -Buffer = require 'text-buffer' -EditSession = require 'edit-session' clipboard = require 'clipboard' describe "EditSession", -> diff --git a/spec/editor-spec.coffee b/spec/editor-spec.coffee index ed617f9f0..e7f1e4a28 100644 --- a/spec/editor-spec.coffee +++ b/spec/editor-spec.coffee @@ -1,9 +1,6 @@ RootView = require 'root-view' -EditSession = require 'edit-session' -Buffer = require 'text-buffer' Editor = require 'editor' {Range} = require 'telepath' -Project = require 'project' $ = require 'jquery' {$$} = require 'space-pen' _ = require 'underscore' diff --git a/spec/language-mode-spec.coffee b/spec/language-mode-spec.coffee index 492969398..5638e0afa 100644 --- a/spec/language-mode-spec.coffee +++ b/spec/language-mode-spec.coffee @@ -1,7 +1,3 @@ -Project = require 'project' -Buffer = require 'text-buffer' -EditSession = require 'edit-session' - describe "LanguageMode", -> [editSession, buffer, languageMode] = [] diff --git a/spec/root-view-spec.coffee b/spec/root-view-spec.coffee index aae9590e8..37c152141 100644 --- a/spec/root-view-spec.coffee +++ b/spec/root-view-spec.coffee @@ -1,10 +1,7 @@ $ = require 'jquery' fsUtils = require 'fs-utils' path = require 'path' -Project = require 'project' RootView = require 'root-view' -Buffer = require 'text-buffer' -Editor = require 'editor' Pane = require 'pane' {View, $$} = require 'space-pen' diff --git a/spec/text-buffer-spec.coffee b/spec/text-buffer-spec.coffee index 02fc2e2b6..21f9ca34e 100644 --- a/spec/text-buffer-spec.coffee +++ b/spec/text-buffer-spec.coffee @@ -1,5 +1,3 @@ -Project = require 'project' -Buffer = require 'text-buffer' fsUtils = require 'fs-utils' path = require 'path' _ = require 'underscore' diff --git a/spec/text-mate-grammar-spec.coffee b/spec/text-mate-grammar-spec.coffee index 1c5ebed0f..dda003f0d 100644 --- a/spec/text-mate-grammar-spec.coffee +++ b/spec/text-mate-grammar-spec.coffee @@ -1,6 +1,5 @@ TextMateGrammar = require 'text-mate-grammar' TextMatePackage = require 'text-mate-package' -plist = require 'plist' fsUtils = require 'fs-utils' _ = require 'underscore' diff --git a/spec/tokenized-buffer-spec.coffee b/spec/tokenized-buffer-spec.coffee index 7be317455..2ff1e474e 100644 --- a/spec/tokenized-buffer-spec.coffee +++ b/spec/tokenized-buffer-spec.coffee @@ -1,5 +1,4 @@ TokenizedBuffer = require 'tokenized-buffer' -{Range} = require 'telepath' _ = require 'underscore' describe "TokenizedBuffer", -> diff --git a/spec/window-spec.coffee b/spec/window-spec.coffee index 504565058..bc82be26f 100644 --- a/spec/window-spec.coffee +++ b/spec/window-spec.coffee @@ -2,7 +2,6 @@ $ = require 'jquery' {$$} = require 'space-pen' fsUtils = require 'fs-utils' path = require 'path' -{less} = require 'less' WindowEventHandler = require 'window-event-handler' describe "Window", -> From 864ebf5c361a56f2ea7c231964d58f7dc9f99501 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 14:19:03 -0700 Subject: [PATCH 15/89] Remove vendor/ from NODE_PATH Add jQuery temporarily to exports to not break packages --- exports/jquery.coffee | 1 + src/atom-window.coffee | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 exports/jquery.coffee diff --git a/exports/jquery.coffee b/exports/jquery.coffee new file mode 100644 index 000000000..309ce5fae --- /dev/null +++ b/exports/jquery.coffee @@ -0,0 +1 @@ +module.exports = require('./atom-api').$ diff --git a/src/atom-window.coffee b/src/atom-window.coffee index 750a3de9e..7e74105d8 100644 --- a/src/atom-window.coffee +++ b/src/atom-window.coffee @@ -47,7 +47,6 @@ class AtomWindow paths = [ 'exports' 'src' - 'vendor' 'node_modules' ] paths.push('spec') if @isSpec From 6ccc8fe79388c36e537cf8f7fdc8464d8fe07b0b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 14:25:38 -0700 Subject: [PATCH 16/89] Keep RootView unrenamed for now --- exports/atom-api.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index 7b05fe72c..77e8c8e90 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -8,4 +8,4 @@ module.exports = File: require '../src/file' fs: require '../src/fs-utils' View: View - WorkspaceView: require '../src/root-view' + RootView: require '../src/root-view' From 9915ba73b88283ed35c6bf063c14632f57fecb6b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 14:33:55 -0700 Subject: [PATCH 17/89] Remove spec/ from NODE_PATH --- src/atom-window.coffee | 1 - 1 file changed, 1 deletion(-) diff --git a/src/atom-window.coffee b/src/atom-window.coffee index 7e74105d8..3aced770f 100644 --- a/src/atom-window.coffee +++ b/src/atom-window.coffee @@ -49,7 +49,6 @@ class AtomWindow 'src' 'node_modules' ] - paths.push('spec') if @isSpec paths = paths.map (relativePath) -> path.resolve(resourcePath, relativePath) paths.push(resourcePath) From 7ad85ee71fab88523bdc4699163c948a4eb06764 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 14:44:35 -0700 Subject: [PATCH 18/89] Export jQuery directly from vendor/ --- exports/jquery.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exports/jquery.coffee b/exports/jquery.coffee index 309ce5fae..d8f06cadf 100644 --- a/exports/jquery.coffee +++ b/exports/jquery.coffee @@ -1 +1 @@ -module.exports = require('./atom-api').$ +module.exports = require '../vendor/jquery' From c7a0a4bcd980c1fe8b6623a220445fd590758f7a Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 14:54:33 -0700 Subject: [PATCH 19/89] Use relative require paths in specs --- benchmark/benchmark-bootstrap.coffee | 2 +- spec/edit-session-replication-spec.coffee | 2 +- spec/editor-replication-spec.coffee | 2 +- spec/jasmine-helper.coffee | 4 ++-- spec/pane-container-replication-spec.coffee | 2 +- spec/spec-bootstrap.coffee | 4 ++-- spec/spec-helper.coffee | 6 +++--- spec/spec-suite.coffee | 2 +- src/atom-application.coffee | 2 +- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/benchmark/benchmark-bootstrap.coffee b/benchmark/benchmark-bootstrap.coffee index d8d8e78ae..5a8c3d15a 100644 --- a/benchmark/benchmark-bootstrap.coffee +++ b/benchmark/benchmark-bootstrap.coffee @@ -1,5 +1,5 @@ require 'atom' -{runSpecSuite} = require 'jasmine-helper' +{runSpecSuite} = require '../spec/jasmine-helper' atom.openDevTools() diff --git a/spec/edit-session-replication-spec.coffee b/spec/edit-session-replication-spec.coffee index 450936325..225fb51eb 100644 --- a/spec/edit-session-replication-spec.coffee +++ b/spec/edit-session-replication-spec.coffee @@ -1,5 +1,5 @@ {Site} = require 'telepath' -Environment = require 'environment' +Environment = require './environment' describe "EditSession replication", -> [env1, env2, editSession1, editSession2] = [] diff --git a/spec/editor-replication-spec.coffee b/spec/editor-replication-spec.coffee index fbc339cdf..cae23fa30 100644 --- a/spec/editor-replication-spec.coffee +++ b/spec/editor-replication-spec.coffee @@ -1,6 +1,6 @@ {Site} = require 'telepath' Editor = require 'editor' -Environment = require 'environment' +Environment = require './environment' describe "Editor replication", -> [env1, env2, editSession1, editSession2, editor1, editor2] = [] diff --git a/spec/jasmine-helper.coffee b/spec/jasmine-helper.coffee index db49c1638..a2437af95 100644 --- a/spec/jasmine-helper.coffee +++ b/spec/jasmine-helper.coffee @@ -5,7 +5,7 @@ module.exports.runSpecSuite = (specSuite, logErrors=true) -> require 'jasmine-focused' $ = require 'jquery' - TimeReporter = require 'time-reporter' + TimeReporter = require './time-reporter' timeReporter = new TimeReporter() if atom.getLoadSettings().exitWhenDone @@ -20,7 +20,7 @@ module.exports.runSpecSuite = (specSuite, logErrors=true) -> timeReporter.logLongestSpecs 10, (line) -> process.stdout.write("#{line}\n") atom.exit(runner.results().failedCount > 0 ? 1 : 0) else - AtomReporter = require 'atom-reporter' + AtomReporter = require './atom-reporter' reporter = new AtomReporter() require specSuite diff --git a/spec/pane-container-replication-spec.coffee b/spec/pane-container-replication-spec.coffee index cf4a58b9a..58b85faa1 100644 --- a/spec/pane-container-replication-spec.coffee +++ b/spec/pane-container-replication-spec.coffee @@ -2,7 +2,7 @@ {View} = require 'space-pen' PaneContainer = require 'pane-container' Pane = require 'pane' -Environment = require 'environment' +Environment = require './environment' describe "PaneContainer replication", -> [env1, env2, envConnection, container1, container2, pane1a, pane1b, pane1c] = [] diff --git a/spec/spec-bootstrap.coffee b/spec/spec-bootstrap.coffee index 8370c19d7..8427bea1a 100644 --- a/spec/spec-bootstrap.coffee +++ b/spec/spec-bootstrap.coffee @@ -1,10 +1,10 @@ try require 'atom' atom.show() - {runSpecSuite} = require 'jasmine-helper' + {runSpecSuite} = require './jasmine-helper' document.title = "Spec Suite" - runSpecSuite "spec-suite" + runSpecSuite './spec-suite' catch e console.error(e.stack ? e) atom.exit(1) if atom.getLoadSettings().exitWhenDone diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee index a6d43e1f0..d8db8c6de 100644 --- a/spec/spec-helper.coffee +++ b/spec/spec-helper.coffee @@ -22,7 +22,7 @@ clipboard = require 'clipboard' atom.loadBaseStylesheets() requireStylesheet '../static/jasmine' -fixturePackagesPath = fsUtils.resolveOnLoadPath('fixtures/packages') +fixturePackagesPath = path.resolve(__dirname, './fixtures/packages') config.packageDirPaths.unshift(fixturePackagesPath) keymap.loadBundledKeymaps() [bindingSetsToRestore, bindingSetsByFirstKeystrokeToRestore] = [] @@ -39,7 +39,7 @@ jasmine.getEnv().defaultTimeoutInterval = 5000 beforeEach -> jQuery.fx.off = true - specDirectory = atom.getLoadSettings().specDirectory ? fsUtils.resolveOnLoadPath("spec") + specDirectory = atom.getLoadSettings().specDirectory ? __dirname window.project = new Project(path.join(specDirectory, 'fixtures')) window.resetTimeouts() @@ -247,5 +247,5 @@ $.fn.textInput = (data) -> event = jQuery.event.fix(event) $(this).trigger(event) -unless fsUtils.md5ForPath(require.resolve('fixtures/sample.js')) == "dd38087d0d7e3e4802a6d3f9b9745f2b" +unless fsUtils.md5ForPath(require.resolve('./fixtures/sample.js')) == "dd38087d0d7e3e4802a6d3f9b9745f2b" throw new Error("Sample.js is modified") diff --git a/spec/spec-suite.coffee b/spec/spec-suite.coffee index 3dc209438..769c6aab6 100644 --- a/spec/spec-suite.coffee +++ b/spec/spec-suite.coffee @@ -6,7 +6,7 @@ measure 'spec suite require time', -> path = require 'path' _ = require 'underscore' Git = require 'git' - require 'spec-helper' + require './spec-helper' requireSpecs = (specDirectory, specType) -> for specFilePath in fsUtils.listTreeSync(specDirectory) when /-spec\.coffee$/.test specFilePath diff --git a/src/atom-application.coffee b/src/atom-application.coffee index 507baccfc..569aa6b08 100644 --- a/src/atom-application.coffee +++ b/src/atom-application.coffee @@ -276,7 +276,7 @@ class AtomApplication if resourcePath isnt @resourcePath and not fs.existsSync(resourcePath) resourcePath = @resourcePath - bootstrapScript = 'spec-bootstrap' + bootstrapScript = require.resolve('../spec/spec-bootstrap') isSpec = true devMode = true new AtomWindow({bootstrapScript, resourcePath, exitWhenDone, isSpec, devMode, specDirectory}) From e9db2cfe17da5aafa2b58fe4896418a90f9cd1a0 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 15:25:32 -0700 Subject: [PATCH 20/89] Remove vendor prefix from bootstrap path --- src/atom.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/atom.coffee b/src/atom.coffee index 20ac5dd7a..0dc42ebe9 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -141,7 +141,7 @@ window.atom = null loadBaseStylesheets: -> - requireStylesheet('../vendor/bootstrap/less/bootstrap') + requireStylesheet('bootstrap/less/bootstrap') @reloadBaseStylesheets() reloadBaseStylesheets: -> From d6383f2bead2416a379fcb47097801c42cb5e92b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 15:28:00 -0700 Subject: [PATCH 21/89] Add temporary stringscore shim to exports --- exports/stringscore.coffee | 1 + 1 file changed, 1 insertion(+) create mode 100644 exports/stringscore.coffee diff --git a/exports/stringscore.coffee b/exports/stringscore.coffee new file mode 100644 index 000000000..fdf47692f --- /dev/null +++ b/exports/stringscore.coffee @@ -0,0 +1 @@ +module.exports = require '../vendor/stringscore' From 96302e1e0de18e8980c85962eac911f595461108 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 15:29:02 -0700 Subject: [PATCH 22/89] Add vendor prefix for jasmine path --- spec/atom-reporter.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/atom-reporter.coffee b/spec/atom-reporter.coffee index 4ff742482..7c2203c51 100644 --- a/spec/atom-reporter.coffee +++ b/spec/atom-reporter.coffee @@ -7,7 +7,7 @@ sourceMaps = {} formatStackTrace = (stackTrace) -> return stackTrace unless stackTrace - jasminePath = require.resolve('jasmine') + jasminePath = require.resolve('../vendor/jasmine') jasminePattern = new RegExp("\\(#{_.escapeRegExp(jasminePath)}:\\d+:\\d+\\)\\s*$") convertedLines = [] for line in stackTrace.split('\n') From 521a2b86360eaac0908577f531287da2afa97b59 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 15:58:08 -0700 Subject: [PATCH 23/89] Use relative paths for resolving fixture paths --- spec/atom-spec.coffee | 18 ++++++------ spec/directory-spec.coffee | 14 +++++----- spec/environment.coffee | 3 +- spec/file-spec.coffee | 2 +- spec/fs-utils-spec.coffee | 19 +++++-------- spec/git-spec.coffee | 42 ++++++++++++++-------------- spec/project-replication-spec.coffee | 9 ++++-- spec/text-buffer-spec.coffee | 10 +++---- 8 files changed, 58 insertions(+), 59 deletions(-) diff --git a/spec/atom-spec.coffee b/spec/atom-spec.coffee index 2139cccfb..210a8d329 100644 --- a/spec/atom-spec.coffee +++ b/spec/atom-spec.coffee @@ -71,7 +71,7 @@ describe "the `atom` global", -> describe "when the package has a main module", -> describe "when the metadata specifies a main module path˜", -> it "requires the module at the specified path", -> - mainModule = require('fixtures/packages/package-with-main/main-module') + mainModule = require('./fixtures/packages/package-with-main/main-module') spyOn(mainModule, 'activate') pack = atom.activatePackage('package-with-main') expect(mainModule.activate).toHaveBeenCalled() @@ -79,7 +79,7 @@ describe "the `atom` global", -> describe "when the metadata does not specify a main module", -> it "requires index.coffee", -> - indexModule = require('fixtures/packages/package-with-index/index') + indexModule = require('./fixtures/packages/package-with-index/index') spyOn(indexModule, 'activate') pack = atom.activatePackage('package-with-index') expect(indexModule.activate).toHaveBeenCalled() @@ -95,7 +95,7 @@ describe "the `atom` global", -> [mainModule, pack] = [] beforeEach -> - mainModule = require 'fixtures/packages/package-with-activation-events/index' + mainModule = require './fixtures/packages/package-with-activation-events/index' spyOn(mainModule, 'activate').andCallThrough() AtomPackage = require 'atom-package' spyOn(AtomPackage.prototype, 'requireMainModule').andCallThrough() @@ -177,9 +177,9 @@ describe "the `atom` global", -> describe "stylesheet loading", -> describe "when the metadata contains a 'stylesheets' manifest", -> it "loads stylesheets from the stylesheets directory as specified by the manifest", -> - one = fsUtils.resolveOnLoadPath("fixtures/packages/package-with-stylesheets-manifest/stylesheets/1.css") - two = fsUtils.resolveOnLoadPath("fixtures/packages/package-with-stylesheets-manifest/stylesheets/2.less") - three = fsUtils.resolveOnLoadPath("fixtures/packages/package-with-stylesheets-manifest/stylesheets/3.css") + one = require.resolve("./fixtures/packages/package-with-stylesheets-manifest/stylesheets/1.css") + two = require.resolve("./fixtures/packages/package-with-stylesheets-manifest/stylesheets/2.less") + three = require.resolve("./fixtures/packages/package-with-stylesheets-manifest/stylesheets/3.css") expect(stylesheetElementForId(one)).not.toExist() expect(stylesheetElementForId(two)).not.toExist() expect(stylesheetElementForId(three)).not.toExist() @@ -193,9 +193,9 @@ describe "the `atom` global", -> describe "when the metadata does not contain a 'stylesheets' manifest", -> it "loads all stylesheets from the stylesheets directory", -> - one = fsUtils.resolveOnLoadPath("fixtures/packages/package-with-stylesheets/stylesheets/1.css") - two = fsUtils.resolveOnLoadPath("fixtures/packages/package-with-stylesheets/stylesheets/2.less") - three = fsUtils.resolveOnLoadPath("fixtures/packages/package-with-stylesheets/stylesheets/3.css") + one = require.resolve("./fixtures/packages/package-with-stylesheets/stylesheets/1.css") + two = require.resolve("./fixtures/packages/package-with-stylesheets/stylesheets/2.less") + three = require.resolve("./fixtures/packages/package-with-stylesheets/stylesheets/3.css") expect(stylesheetElementForId(one)).not.toExist() expect(stylesheetElementForId(two)).not.toExist() expect(stylesheetElementForId(three)).not.toExist() diff --git a/spec/directory-spec.coffee b/spec/directory-spec.coffee index 94a29d3b5..a85687dfe 100644 --- a/spec/directory-spec.coffee +++ b/spec/directory-spec.coffee @@ -6,7 +6,7 @@ describe "Directory", -> directory = null beforeEach -> - directory = new Directory(fsUtils.resolveOnLoadPath('fixtures')) + directory = new Directory(path.join(__dirname, 'fixtures')) afterEach -> directory.off() @@ -15,7 +15,7 @@ describe "Directory", -> temporaryFilePath = null beforeEach -> - temporaryFilePath = path.join(fsUtils.resolveOnLoadPath('fixtures'), 'temporary') + temporaryFilePath = path.join(__dirname, 'fixtures', 'temporary') fsUtils.remove(temporaryFilePath) if fsUtils.exists(temporaryFilePath) afterEach -> @@ -84,9 +84,9 @@ describe "Directory", -> expect(directory.relativize(path.join(absolutePath, "file.coffee"))).toBe "file.coffee" it "returns a relative path based on the directory's symlinked source path", -> - symlinkPath = path.join(fsUtils.resolveOnLoadPath('fixtures'), 'symlink-to-dir') + symlinkPath = path.join(__dirname, 'fixtures', 'symlink-to-dir') symlinkDirectory = new Directory(symlinkPath) - realFilePath = fsUtils.resolveOnLoadPath('fixtures/dir/a') + realFilePath = require.resolve('./fixtures/dir/a') expect(symlinkDirectory.relativize(symlinkPath)).toBe '' expect(symlinkDirectory.relativize(realFilePath)).toBe 'a' @@ -97,13 +97,13 @@ describe "Directory", -> it "returns true if the path is a child of the directory's path", -> absolutePath = directory.getPath() expect(directory.contains(path.join(absolutePath, "b"))).toBe true - expect(directory.contains(path.join(absolutePath, "b/file.coffee"))).toBe true + expect(directory.contains(path.join(absolutePath, "b", "file.coffee"))).toBe true expect(directory.contains(path.join(absolutePath, "file.coffee"))).toBe true it "returns true if the path is a child of the directory's symlinked source path", -> - symlinkPath = path.join(fsUtils.resolveOnLoadPath('fixtures'), 'symlink-to-dir') + symlinkPath = path.join(__dirname, 'fixtures', 'symlink-to-dir') symlinkDirectory = new Directory(symlinkPath) - realFilePath = fsUtils.resolveOnLoadPath('fixtures/dir/a') + realFilePath = require.resolve('./fixtures/dir/a') expect(symlinkDirectory.contains(realFilePath)).toBe true it "returns false if the directory's path is not a prefix of the path", -> diff --git a/spec/environment.coffee b/spec/environment.coffee index 1e78d4074..9fddf9a02 100644 --- a/spec/environment.coffee +++ b/spec/environment.coffee @@ -1,3 +1,4 @@ +path = require 'path' {Site} = require 'telepath' fsUtils = require 'fs-utils' Project = require 'project' @@ -10,7 +11,7 @@ class Environment @run => @project = deserialize(@state.get('project')) else @state = @site.createDocument({}) - @project = new Project(projectPath ? fsUtils.resolveOnLoadPath('fixtures')) + @project = new Project(projectPath ? path.join(__dirname, 'fixtures')) @state.set(project: @project.getState()) clone: (params) -> diff --git a/spec/file-spec.coffee b/spec/file-spec.coffee index 4dd30c982..f2d89800a 100644 --- a/spec/file-spec.coffee +++ b/spec/file-spec.coffee @@ -6,7 +6,7 @@ describe 'File', -> [filePath, file] = [] beforeEach -> - filePath = path.join(fsUtils.resolveOnLoadPath('fixtures'), "atom-file-test.txt") # Don't put in /tmp because /tmp symlinks to /private/tmp and screws up the rename test + filePath = path.join(__dirname, 'fixtures', 'atom-file-test.txt') # Don't put in /tmp because /tmp symlinks to /private/tmp and screws up the rename test fsUtils.remove(filePath) if fsUtils.exists(filePath) fsUtils.writeSync(filePath, "this is old!") file = new File(filePath) diff --git a/spec/fs-utils-spec.coffee b/spec/fs-utils-spec.coffee index 3fd48d17d..82a399206 100644 --- a/spec/fs-utils-spec.coffee +++ b/spec/fs-utils-spec.coffee @@ -4,16 +4,16 @@ path = require 'path' temp = require 'temp' describe "fsUtils", -> + fixturesDir = path.join(__dirname, 'fixtures') + describe ".read(path)", -> it "return contents of file", -> - expect(fsUtils.read(require.resolve("fixtures/sample.txt"))).toBe "Some text.\n" + expect(fsUtils.read(require.resolve("./fixtures/sample.txt"))).toBe "Some text.\n" it "does not through an exception when the path is a binary file", -> - expect(-> fsUtils.read(require.resolve("fixtures/binary-file.png"))).not.toThrow() + expect(-> fsUtils.read(require.resolve("./fixtures/binary-file.png"))).not.toThrow() describe ".isFileSync(path)", -> - fixturesDir = fsUtils.resolveOnLoadPath('fixtures') - it "returns true with a file path", -> expect(fsUtils.isFileSync(path.join(fixturesDir, 'sample.js'))).toBe true @@ -26,10 +26,10 @@ describe "fsUtils", -> describe ".exists(path)", -> it "returns true when path exsits", -> - expect(fsUtils.exists(fsUtils.resolveOnLoadPath('fixtures'))).toBe true + expect(fsUtils.exists(fixturesDir)).toBe true it "returns false when path doesn't exsit", -> - expect(fsUtils.exists(fsUtils.resolveOnLoadPath("fixtures") + "/-nope-does-not-exist")).toBe false + expect(fsUtils.exists(path.join(fixturesDir, "-nope-does-not-exist"))).toBe false expect(fsUtils.exists("")).toBe false expect(fsUtils.exists(null)).toBe false @@ -42,11 +42,6 @@ describe "fsUtils", -> expect(fsUtils.exists("/tmp/a/b/c")).toBeTruthy() describe ".traverseTreeSync(path, onFile, onDirectory)", -> - fixturesDir = null - - beforeEach -> - fixturesDir = fsUtils.resolveOnLoadPath('fixtures') - it "calls fn for every path in the tree at the given path", -> paths = [] onPath = (childPath) -> @@ -93,7 +88,7 @@ describe "fsUtils", -> describe ".md5ForPath(path)", -> it "returns the MD5 hash of the file at the given path", -> - expect(fsUtils.md5ForPath(require.resolve('fixtures/sample.js'))).toBe 'dd38087d0d7e3e4802a6d3f9b9745f2b' + expect(fsUtils.md5ForPath(require.resolve('./fixtures/sample.js'))).toBe 'dd38087d0d7e3e4802a6d3f9b9745f2b' describe ".list(path, extensions)", -> it "returns the absolute paths of entries within the given directory", -> diff --git a/spec/git-spec.coffee b/spec/git-spec.coffee index 77efcc50f..b40bfbb94 100644 --- a/spec/git-spec.coffee +++ b/spec/git-spec.coffee @@ -22,29 +22,29 @@ describe "Git", -> describe ".getPath()", -> it "returns the repository path for a .git directory path", -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/master.git/HEAD')) - expect(repo.getPath()).toBe fsUtils.resolveOnLoadPath('fixtures/git/master.git') + repo = new Git(path.join(__dirname, 'fixtures', 'git', 'master.git', 'HEAD')) + expect(repo.getPath()).toBe path.join(__dirname, 'fixtures', 'git', 'master.git') it "returns the repository path for a repository path", -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/master.git')) - expect(repo.getPath()).toBe fsUtils.resolveOnLoadPath('fixtures/git/master.git') + repo = new Git(path.join(__dirname, 'fixtures', 'git', 'master.git')) + expect(repo.getPath()).toBe path.join(__dirname, 'fixtures', 'git', 'master.git') describe ".isPathIgnored(path)", -> it "returns true for an ignored path", -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/ignore.git')) + repo = new Git(path.join(__dirname, 'fixtures', 'git', 'ignore.git')) expect(repo.isPathIgnored('a.txt')).toBeTruthy() it "returns false for a non-ignored path", -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/ignore.git')) + repo = new Git(path.join(__dirname, 'fixtures', 'git', 'ignore.git')) expect(repo.isPathIgnored('b.txt')).toBeFalsy() describe ".isPathModified(path)", -> [repo, filePath, newPath, originalPathText] = [] beforeEach -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/working-dir')) - filePath = fsUtils.resolveOnLoadPath('fixtures/git/working-dir/file.txt') - newPath = path.join(fsUtils.resolveOnLoadPath('fixtures/git/working-dir'), 'new-path.txt') + repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) + filePath = require.resolve('./fixtures/git/working-dir/file.txt') + newPath = path.join(__dirname, 'fixtures', 'git', 'working-dir', 'new-path.txt') originalPathText = fsUtils.read(filePath) afterEach -> @@ -70,9 +70,9 @@ describe "Git", -> [filePath, newPath] = [] beforeEach -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/working-dir')) - filePath = fsUtils.resolveOnLoadPath('fixtures/git/working-dir/file.txt') - newPath = path.join(fsUtils.resolveOnLoadPath('fixtures/git/working-dir'), 'new-path.txt') + repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) + filePath = require.resolve('./fixtures/git/working-dir/file.txt') + newPath = path.join(__dirname, 'fixtures', 'git', 'working-dir', 'new-path.txt') fsUtils.writeSync(newPath, "i'm new here") afterEach -> @@ -89,10 +89,10 @@ describe "Git", -> [path1, path2, originalPath1Text, originalPath2Text] = [] beforeEach -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/working-dir')) - path1 = fsUtils.resolveOnLoadPath('fixtures/git/working-dir/file.txt') + repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) + path1 = require.resolve('./fixtures/git/working-dir/file.txt') originalPath1Text = fsUtils.read(path1) - path2 = fsUtils.resolveOnLoadPath('fixtures/git/working-dir/other.txt') + path2 = require.resolve('./fixtures/git/working-dir/other.txt') originalPath2Text = fsUtils.read(path2) afterEach -> @@ -132,7 +132,7 @@ describe "Git", -> describe ".destroy()", -> it "throws an exception when any method is called after it is called", -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/master.git/HEAD')) + repo = new Git(require.resolve('./fixtures/git/master.git/HEAD')) repo.destroy() expect(-> repo.getShortHead()).toThrow() @@ -140,8 +140,8 @@ describe "Git", -> [filePath, originalPathText] = [] beforeEach -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/working-dir')) - filePath = fsUtils.resolveOnLoadPath('fixtures/git/working-dir/file.txt') + repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) + filePath = require.resolve('./fixtures/git/working-dir/file.txt') originalPathText = fsUtils.read(filePath) afterEach -> @@ -156,8 +156,8 @@ describe "Git", -> [filePath, originalPathText] = [] beforeEach -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/working-dir')) - filePath = fsUtils.resolveOnLoadPath('fixtures/git/working-dir/file.txt') + repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) + filePath = require.resolve('./fixtures/git/working-dir/file.txt') originalPathText = fsUtils.read(filePath) afterEach -> @@ -179,7 +179,7 @@ describe "Git", -> [newPath, modifiedPath, cleanPath, originalModifiedPathText] = [] beforeEach -> - repo = new Git(fsUtils.resolveOnLoadPath('fixtures/git/working-dir')) + repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) modifiedPath = project.resolve('git/working-dir/file.txt') originalModifiedPathText = fsUtils.read(modifiedPath) newPath = project.resolve('git/working-dir/untracked.txt') diff --git a/spec/project-replication-spec.coffee b/spec/project-replication-spec.coffee index 193b1ba7d..89746412a 100644 --- a/spec/project-replication-spec.coffee +++ b/spec/project-replication-spec.coffee @@ -1,3 +1,4 @@ +path = require 'path' {Site} = require 'telepath' fsUtils = require 'fs-utils' Project = require 'project' @@ -12,8 +13,10 @@ describe "Project replication", -> getOriginUrl: -> 'git://server/project.git' destroy: -> - config.set('core.projectHome', fsUtils.resolveOnLoadPath('fixtures/replication/home-1')) - project1 = new Project(fsUtils.resolveOnLoadPath('fixtures/replication/home-1/project')) + projectHome1 = path.join(__dirname, 'fixtures', 'replication', 'home-1') + projectHome2 = path.join(__dirname, 'fixtures', 'replication', 'home-2') + config.set('core.projectHome', projectHome1) + project1 = new Project(path.join(projectHome1, 'project')) project1.bufferForPath('file-1.txt') project1.bufferForPath('file-1.txt') expect(project1.getBuffers().length).toBe 1 @@ -23,7 +26,7 @@ describe "Project replication", -> connection = doc1.connect(doc2) # pretend we're bootstrapping a joining window - config.set('core.projectHome', fsUtils.resolveOnLoadPath('fixtures/replication/home-2')) + config.set('core.projectHome', projectHome2) project2 = deserialize(doc2) afterEach -> diff --git a/spec/text-buffer-spec.coffee b/spec/text-buffer-spec.coffee index 21f9ca34e..6ee806952 100644 --- a/spec/text-buffer-spec.coffee +++ b/spec/text-buffer-spec.coffee @@ -7,7 +7,7 @@ describe 'TextBuffer', -> [filePath, fileContents, buffer] = [] beforeEach -> - filePath = require.resolve('fixtures/sample.js') + filePath = require.resolve('./fixtures/sample.js') fileContents = fsUtils.read(filePath) buffer = project.bufferForPath(filePath) @@ -22,12 +22,12 @@ describe 'TextBuffer', -> describe "when given a path", -> describe "when a file exists for the path", -> it "loads the contents of that file", -> - filePath = require.resolve 'fixtures/sample.txt' + filePath = require.resolve './fixtures/sample.txt' buffer = project.bufferForPath(filePath) expect(buffer.getText()).toBe fsUtils.read(filePath) it "does not allow the initial state of the buffer to be undone", -> - filePath = require.resolve 'fixtures/sample.txt' + filePath = require.resolve './fixtures/sample.txt' buffer = project.bufferForPath(filePath) buffer.undo() expect(buffer.getText()).toBe fsUtils.read(filePath) @@ -49,7 +49,7 @@ describe 'TextBuffer', -> [filePath, newPath, bufferToChange, eventHandler] = [] beforeEach -> - filePath = path.join(fsUtils.resolveOnLoadPath("fixtures"), "atom-manipulate-me") + filePath = path.join(__dirname, "fixtures", "atom-manipulate-me") newPath = "#{filePath}-i-moved" fsUtils.writeSync(filePath, "") bufferToChange = project.bufferForPath(filePath) @@ -545,7 +545,7 @@ describe 'TextBuffer', -> [filePath, newPath, bufferToChange, eventHandler] = [] beforeEach -> - filePath = path.join(fsUtils.resolveOnLoadPath("fixtures"), "atom-manipulate-me") + filePath = path.join(__dirname, "fixtures", "atom-manipulate-me") newPath = "#{filePath}-i-moved" fsUtils.writeSync(filePath, "") bufferToChange = project.bufferForPath(filePath) From 671c2750ef5cce847b65a97a4109649d304d2378 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 16:09:32 -0700 Subject: [PATCH 24/89] Don't resolve fixtures directories using load path --- spec/project-spec.coffee | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/spec/project-spec.coffee b/spec/project-spec.coffee index 14bcffb03..c82ed5492 100644 --- a/spec/project-spec.coffee +++ b/spec/project-spec.coffee @@ -63,7 +63,7 @@ describe "Project", -> describe ".open(path)", -> [fooOpener, barOpener, absolutePath, newBufferHandler, newEditSessionHandler] = [] beforeEach -> - absolutePath = fsUtils.resolveOnLoadPath('fixtures/dir/a') + absolutePath = require.resolve('./fixtures/dir/a') newBufferHandler = jasmine.createSpy('newBufferHandler') project.on 'buffer-created', newBufferHandler newEditSessionHandler = jasmine.createSpy('newEditSessionHandler') @@ -132,7 +132,7 @@ describe "Project", -> describe ".resolve(uri)", -> describe "when passed an absolute or relative path", -> it "returns an absolute path based on the project's root", -> - absolutePath = fsUtils.resolveOnLoadPath('fixtures/dir/a') + absolutePath = require.resolve('./fixtures/dir/a') expect(project.resolve('a')).toBe absolutePath expect(project.resolve(absolutePath + '/../a')).toBe absolutePath expect(project.resolve('a/../a')).toBe absolutePath @@ -144,15 +144,16 @@ describe "Project", -> describe ".setPath(path)", -> describe "when path is a file", -> it "sets its path to the files parent directory and updates the root directory", -> - project.setPath(fsUtils.resolveOnLoadPath('fixtures/dir/a')) - expect(project.getPath()).toEqual fsUtils.resolveOnLoadPath('fixtures/dir') - expect(project.getRootDirectory().path).toEqual fsUtils.resolveOnLoadPath('fixtures/dir') + project.setPath(require.resolve('./fixtures/dir/a')) + expect(project.getPath()).toEqual path.dirname(require.resolve('./fixtures/dir/a')) + expect(project.getRootDirectory().path).toEqual path.dirname(require.resolve('./fixtures/dir/a')) describe "when path is a directory", -> it "sets its path to the directory and updates the root directory", -> - project.setPath(fsUtils.resolveOnLoadPath('fixtures/dir/a-dir')) - expect(project.getPath()).toEqual fsUtils.resolveOnLoadPath('fixtures/dir/a-dir') - expect(project.getRootDirectory().path).toEqual fsUtils.resolveOnLoadPath('fixtures/dir/a-dir') + directory = fsUtils.absolute(path.join(__dirname, 'fixtures', 'dir', 'a-dir')) + project.setPath(directory) + expect(project.getPath()).toEqual directory + expect(project.getRootDirectory().path).toEqual directory describe "when path is null", -> it "sets its path and root directory to null", -> @@ -183,7 +184,7 @@ describe "Project", -> describe "when config.core.hideGitIgnoredFiles is true", -> it "ignores files that are present in .gitignore if the project is a git repo", -> config.set "core.hideGitIgnoredFiles", true - project.setPath(fsUtils.resolveOnLoadPath('fixtures/git/working-dir')) + project.setPath(path.join(__dirname, 'fixtures', 'git', 'working-dir')) paths = null waitsForPromise -> project.getFilePaths().done (foundPaths) -> paths = foundPaths @@ -195,7 +196,7 @@ describe "Project", -> ignoredFile = null beforeEach -> - ignoredFile = path.join(fsUtils.resolveOnLoadPath('fixtures/dir'), 'ignored.txt') + ignoredFile = path.join(__dirname, 'fixtures', 'dir', 'ignored.txt') fsUtils.writeSync(ignoredFile, "") afterEach -> @@ -214,7 +215,7 @@ describe "Project", -> ignoredFile = null beforeEach -> - ignoredFile = path.join(fsUtils.resolveOnLoadPath('fixtures/dir'), 'ignored/ignored.txt') + ignoredFile = path.join(__dirname, 'fixtures', 'dir', 'ignored', 'ignored.txt') fsUtils.writeSync(ignoredFile, "") afterEach -> @@ -262,7 +263,7 @@ describe "Project", -> range: [[2, 6], [2, 11]] it "works on evil filenames", -> - project.setPath(fsUtils.resolveOnLoadPath('fixtures/evil-files')) + project.setPath(path.join(__dirname, 'fixtures', 'evil-files')) paths = [] matches = [] waitsForPromise -> @@ -294,7 +295,7 @@ describe "Project", -> project.scan /a+/, iterator stdout = BufferedProcess.prototype.bufferStream.argsForCall[0][1] - stdout ":#{fsUtils.resolveOnLoadPath('fixtures/dir/a')}\n" + stdout ":#{path.join(__dirname, 'fixtures', 'dir', 'a')}\n" stdout "1;0 3:aaa bbb\n2;3 2:cc aa cc\n" expect(iterator.argsForCall[0][0]).toEqual @@ -311,7 +312,7 @@ describe "Project", -> [projectPath, ignoredPath] = [] beforeEach -> - projectPath = fsUtils.resolveOnLoadPath('fixtures/git/working-dir') + projectPath = path.join(__dirname, 'fixtures', 'git', 'working-dir') ignoredPath = path.join(projectPath, 'ignored.txt') fsUtils.writeSync(ignoredPath, 'this match should not be included') From 95673b390db4bf594219fbfabb434d4f15c696e3 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 16:15:53 -0700 Subject: [PATCH 25/89] Use relative paths when resolving --- spec/root-view-spec.coffee | 4 ++-- spec/syntax-spec.coffee | 4 ++-- spec/task-spec.coffee | 4 ++-- spec/text-mate-grammar-spec.coffee | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/spec/root-view-spec.coffee b/spec/root-view-spec.coffee index 37c152141..5793b7deb 100644 --- a/spec/root-view-spec.coffee +++ b/spec/root-view-spec.coffee @@ -219,7 +219,7 @@ describe "RootView", -> it "creates an edit session for the given path as an item on a new pane, and focuses the pane", -> editSession = rootView.open('b') expect(rootView.getActivePane().activeItem).toBe editSession - expect(editSession.getPath()).toBe fsUtils.resolveOnLoadPath('fixtures/dir/b') + expect(editSession.getPath()).toBe require.resolve('./fixtures/dir/b') expect(rootView.getActivePane().focus).toHaveBeenCalled() describe "when the changeFocus option is false", -> @@ -359,6 +359,6 @@ describe "RootView", -> rootView.eachBuffer(callback) count = 0 callbackBuffer = null - rootView.open(require.resolve('fixtures/sample.txt')) + rootView.open(require.resolve('./fixtures/sample.txt')) expect(count).toBe 1 expect(callbackBuffer).toBe rootView.getActiveView().getBuffer() diff --git a/spec/syntax-spec.coffee b/spec/syntax-spec.coffee index 0cca30ed1..ef360e032 100644 --- a/spec/syntax-spec.coffee +++ b/spec/syntax-spec.coffee @@ -28,7 +28,7 @@ describe "the `syntax` global", -> expect(syntax.selectGrammar("/hu.git/config").name).toBe "Null Grammar" it "uses the filePath's shebang line if the grammar cannot be determined by the extension or basename", -> - filePath = require.resolve("fixtures/shebang") + filePath = require.resolve("./fixtures/shebang") expect(syntax.selectGrammar(filePath).name).toBe "Ruby" it "uses the number of newlines in the first line regex to determine the number of lines to test against", -> @@ -44,7 +44,7 @@ describe "the `syntax` global", -> expect(syntax.selectGrammar("grammar.tmLanguage", fileContent).name).toBe "Property List (XML)" it "doesn't read the file when the file contents are specified", -> - filePath = require.resolve("fixtures/shebang") + filePath = require.resolve("./fixtures/shebang") filePathContents = fsUtils.read(filePath) spyOn(fsUtils, 'read').andCallThrough() expect(syntax.selectGrammar(filePath, filePathContents).name).toBe "Ruby" diff --git a/spec/task-spec.coffee b/spec/task-spec.coffee index bb7aa031a..4f841f96c 100644 --- a/spec/task-spec.coffee +++ b/spec/task-spec.coffee @@ -8,7 +8,7 @@ describe "Task", -> spyOn(console, 'error') spyOn(console, 'warn') - jqueryTask = new Task('fixtures/jquery-task-handler') + jqueryTask = new Task(require.resolve('./fixtures/jquery-task-handler')) jqueryLoaded = false jqueryTask.start (loaded) -> jqueryLoaded = loaded @@ -24,7 +24,7 @@ describe "Task", -> describe "@once(taskPath, args..., callback)", -> it "terminates the process after it completes", -> handlerResult = null - task = Task.once 'fixtures/task-spec-handler', (result) -> + task = Task.once require.resolve('./fixtures/task-spec-handler'), (result) -> handlerResult = result processClosed = false diff --git a/spec/text-mate-grammar-spec.coffee b/spec/text-mate-grammar-spec.coffee index dda003f0d..d927e804d 100644 --- a/spec/text-mate-grammar-spec.coffee +++ b/spec/text-mate-grammar-spec.coffee @@ -18,7 +18,7 @@ describe "TextMateGrammar", -> describe "@loadSync(path)", -> it "loads grammars from plists", -> - grammar = TextMateGrammar.loadSync(fsUtils.resolveOnLoadPath('fixtures/sample.plist')) + grammar = TextMateGrammar.loadSync(require.resolve('./fixtures/sample.plist')) expect(grammar.scopeName).toBe "text.plain" {tokens} = grammar.tokenizeLine("this text is so plain. i love it.") expect(tokens[0]).toEqual value: "this text is so plain. i love it.", scopes: ["text.plain", "meta.paragraph.text"] From fd85acd3eb0e8938150b657792c5eadb157a2760 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 18:40:20 -0700 Subject: [PATCH 26/89] Remove unused require --- spec/display-buffer-spec.coffee | 1 - spec/space-pen-extensions-spec.coffee | 1 - spec/spec-helper.coffee | 1 - 3 files changed, 3 deletions(-) diff --git a/spec/display-buffer-spec.coffee b/spec/display-buffer-spec.coffee index 13f179b8c..3d11ecae5 100644 --- a/spec/display-buffer-spec.coffee +++ b/spec/display-buffer-spec.coffee @@ -1,5 +1,4 @@ DisplayBuffer = require 'display-buffer' -Buffer = require 'text-buffer' _ = require 'underscore' describe "DisplayBuffer", -> diff --git a/spec/space-pen-extensions-spec.coffee b/spec/space-pen-extensions-spec.coffee index 298c12abe..edf45f425 100644 --- a/spec/space-pen-extensions-spec.coffee +++ b/spec/space-pen-extensions-spec.coffee @@ -1,5 +1,4 @@ {View, $$} = require 'space-pen' -EventEmitter = require 'event-emitter' describe "SpacePen extensions", -> class TestView extends View diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee index d8db8c6de..d1dbe0b2a 100644 --- a/spec/spec-helper.coffee +++ b/spec/spec-helper.coffee @@ -10,7 +10,6 @@ Keymap = require 'keymap' Config = require 'config' {Point} = require 'telepath' Project = require 'project' -Directory = require 'directory' File = require 'file' Editor = require 'editor' TokenizedBuffer = require 'tokenized-buffer' From 3c94ca4b9edbc085b9a1beaab7f796919bdf59f4 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 18:58:41 -0700 Subject: [PATCH 27/89] Use relative paths in spec requires --- spec/atom-package-spec.coffee | 4 +- spec/atom-protocol-handler-spec.coffee | 2 +- spec/atom-spec.coffee | 11 ++- spec/command-installer-spec.coffee | 19 +++-- spec/directory-spec.coffee | 20 +++--- spec/display-buffer-spec.coffee | 4 +- spec/editor-replication-spec.coffee | 2 +- spec/editor-spec.coffee | 38 +++++----- spec/environment.coffee | 4 +- spec/event-emitter-spec.coffee | 4 +- spec/file-spec.coffee | 34 ++++----- spec/fs-utils-spec.coffee | 63 ++++++++-------- spec/git-spec.coffee | 74 +++++++++---------- spec/jasmine-helper.coffee | 3 +- spec/jquery-extensions-spec.coffee | 4 +- spec/keymap-spec.coffee | 6 +- spec/pane-container-replication-spec.coffee | 6 +- spec/pane-container-spec.coffee | 8 +-- spec/pane-replication-spec.coffee | 4 +- spec/pane-spec.coffee | 7 +- spec/project-spec.coffee | 27 ++++--- spec/root-view-spec.coffee | 7 +- spec/row-map-spec.coffee | 2 +- spec/select-list-spec.coffee | 5 +- spec/selection-spec.coffee | 2 +- spec/space-pen-extensions-spec.coffee | 2 +- spec/spec-bootstrap.coffee | 3 +- spec/spec-helper.coffee | 26 +++---- spec/spec-suite.coffee | 12 ++-- spec/subscriber-spec.coffee | 7 +- spec/syntax-spec.coffee | 10 +-- spec/task-spec.coffee | 2 +- spec/text-buffer-spec.coffee | 79 ++++++++++----------- spec/text-mate-grammar-spec.coffee | 9 ++- spec/text-utils-spec.coffee | 2 +- spec/theme-manager-spec.coffee | 6 +- spec/time-reporter.coffee | 2 +- spec/tokenized-buffer-spec.coffee | 4 +- spec/underscore-extensions-spec.coffee | 2 +- spec/window-spec.coffee | 8 +-- 40 files changed, 250 insertions(+), 284 deletions(-) diff --git a/spec/atom-package-spec.coffee b/spec/atom-package-spec.coffee index 74692d8c8..311164016 100644 --- a/spec/atom-package-spec.coffee +++ b/spec/atom-package-spec.coffee @@ -1,6 +1,6 @@ -$ = require 'jquery' +{$} = require 'atom-api' path = require 'path' -Package = require 'package' +Package = require '../src/package' describe "AtomPackage", -> describe "theme", -> diff --git a/spec/atom-protocol-handler-spec.coffee b/spec/atom-protocol-handler-spec.coffee index 218cfb810..028777c64 100644 --- a/spec/atom-protocol-handler-spec.coffee +++ b/spec/atom-protocol-handler-spec.coffee @@ -1,4 +1,4 @@ -$ = require 'jquery' +{$} = require 'atom-api' describe '"atom" protocol URL', -> it 'sends the file relative in the package as response', -> diff --git a/spec/atom-spec.coffee b/spec/atom-spec.coffee index 210a8d329..49342b520 100644 --- a/spec/atom-spec.coffee +++ b/spec/atom-spec.coffee @@ -1,7 +1,4 @@ -$ = require 'jquery' -RootView = require 'root-view' -{$$} = require 'space-pen' -fsUtils = require 'fs-utils' +{$, $$, fs, RootView} = require 'atom-api' Exec = require('child_process').exec path = require 'path' @@ -292,9 +289,9 @@ describe "the `atom` global", -> it "removes the package's stylesheets", -> atom.activatePackage('package-with-stylesheets') atom.deactivatePackage('package-with-stylesheets') - one = fsUtils.resolveOnLoadPath("package-with-stylesheets/stylesheets/1.css") - two = fsUtils.resolveOnLoadPath("package-with-stylesheets/stylesheets/2.less") - three = fsUtils.resolveOnLoadPath("package-with-stylesheets/stylesheets/3.css") + one = fs.resolveOnLoadPath("package-with-stylesheets/stylesheets/1.css") + two = fs.resolveOnLoadPath("package-with-stylesheets/stylesheets/2.less") + three = fs.resolveOnLoadPath("package-with-stylesheets/stylesheets/3.css") expect(stylesheetElementForId(one)).not.toExist() expect(stylesheetElementForId(two)).not.toExist() expect(stylesheetElementForId(three)).not.toExist() diff --git a/spec/command-installer-spec.coffee b/spec/command-installer-spec.coffee index c55b79705..b5e0beedb 100644 --- a/spec/command-installer-spec.coffee +++ b/spec/command-installer-spec.coffee @@ -1,6 +1,5 @@ -fs = require 'fs' -fsUtils = require 'fs-utils' -installer = require 'command-installer' +{fs} = require 'atom-api' +installer = require '../src/command-installer' describe "install(commandPath, callback)", -> directory = '/tmp/install-atom-command/atom' @@ -11,13 +10,13 @@ describe "install(commandPath, callback)", -> spyOn(installer, 'findInstallDirectory').andCallFake (callback) -> callback(directory) - fsUtils.remove(directory) if fsUtils.exists(directory) + fs.remove(directory) if fs.exists(directory) it "symlinks the command and makes it executable", -> - fsUtils.writeSync(commandPath, 'test') - expect(fsUtils.isFileSync(commandPath)).toBeTruthy() - expect(fsUtils.isExecutableSync(commandPath)).toBeFalsy() - expect(fsUtils.isFileSync(destinationPath)).toBeFalsy() + fs.writeSync(commandPath, 'test') + expect(fs.isFileSync(commandPath)).toBeTruthy() + expect(fs.isExecutableSync(commandPath)).toBeFalsy() + expect(fs.isFileSync(destinationPath)).toBeFalsy() installDone = false installError = null @@ -29,6 +28,6 @@ describe "install(commandPath, callback)", -> runs -> expect(installError).toBeNull() - expect(fsUtils.isFileSync(destinationPath)).toBeTruthy() + expect(fs.isFileSync(destinationPath)).toBeTruthy() expect(fs.realpathSync(destinationPath)).toBe fs.realpathSync(commandPath) - expect(fsUtils.isExecutableSync(destinationPath)).toBeTruthy() + expect(fs.isExecutableSync(destinationPath)).toBeTruthy() diff --git a/spec/directory-spec.coffee b/spec/directory-spec.coffee index a85687dfe..dba7088b6 100644 --- a/spec/directory-spec.coffee +++ b/spec/directory-spec.coffee @@ -1,5 +1,5 @@ -Directory = require 'directory' -fsUtils = require 'fs-utils' +Directory = require '../src/directory' +{fs} = require 'atom-api' path = require 'path' describe "Directory", -> @@ -16,10 +16,10 @@ describe "Directory", -> beforeEach -> temporaryFilePath = path.join(__dirname, 'fixtures', 'temporary') - fsUtils.remove(temporaryFilePath) if fsUtils.exists(temporaryFilePath) + fs.remove(temporaryFilePath) if fs.exists(temporaryFilePath) afterEach -> - fsUtils.remove(temporaryFilePath) if fsUtils.exists(temporaryFilePath) + fs.remove(temporaryFilePath) if fs.exists(temporaryFilePath) it "triggers 'contents-changed' event handlers", -> changeHandler = null @@ -27,13 +27,13 @@ describe "Directory", -> runs -> changeHandler = jasmine.createSpy('changeHandler') directory.on 'contents-changed', changeHandler - fsUtils.writeSync(temporaryFilePath, '') + fs.writeSync(temporaryFilePath, '') waitsFor "first change", -> changeHandler.callCount > 0 runs -> changeHandler.reset() - fsUtils.remove(temporaryFilePath) + fs.remove(temporaryFilePath) waitsFor "second change", -> changeHandler.callCount > 0 @@ -42,10 +42,10 @@ describe "Directory", -> beforeEach -> temporaryFilePath = path.join(directory.path, 'temporary') - fsUtils.remove(temporaryFilePath) if fsUtils.exists(temporaryFilePath) + fs.remove(temporaryFilePath) if fs.exists(temporaryFilePath) afterEach -> - fsUtils.remove(temporaryFilePath) if fsUtils.exists(temporaryFilePath) + fs.remove(temporaryFilePath) if fs.exists(temporaryFilePath) it "no longer triggers events", -> changeHandler = null @@ -53,7 +53,7 @@ describe "Directory", -> runs -> changeHandler = jasmine.createSpy('changeHandler') directory.on 'contents-changed', changeHandler - fsUtils.writeSync(temporaryFilePath, '') + fs.writeSync(temporaryFilePath, '') waitsFor "change event", -> changeHandler.callCount > 0 @@ -62,7 +62,7 @@ describe "Directory", -> directory.off() waits 20 - runs -> fsUtils.remove(temporaryFilePath) + runs -> fs.remove(temporaryFilePath) waits 20 runs -> expect(changeHandler.callCount).toBe 0 diff --git a/spec/display-buffer-spec.coffee b/spec/display-buffer-spec.coffee index 3d11ecae5..911907c56 100644 --- a/spec/display-buffer-spec.coffee +++ b/spec/display-buffer-spec.coffee @@ -1,5 +1,5 @@ -DisplayBuffer = require 'display-buffer' -_ = require 'underscore' +DisplayBuffer = require '../src/display-buffer' +{_} = require 'atom-api' describe "DisplayBuffer", -> [displayBuffer, buffer, changeHandler, tabLength] = [] diff --git a/spec/editor-replication-spec.coffee b/spec/editor-replication-spec.coffee index cae23fa30..fb7a12508 100644 --- a/spec/editor-replication-spec.coffee +++ b/spec/editor-replication-spec.coffee @@ -1,5 +1,5 @@ {Site} = require 'telepath' -Editor = require 'editor' +Editor = require '../src/editor' Environment = require './environment' describe "Editor replication", -> diff --git a/spec/editor-spec.coffee b/spec/editor-spec.coffee index e7f1e4a28..728625ef7 100644 --- a/spec/editor-spec.coffee +++ b/spec/editor-spec.coffee @@ -1,10 +1,6 @@ -RootView = require 'root-view' -Editor = require 'editor' +{_, $, $$, fs, RootView} = require 'atom-api' +Editor = require '../src/editor' {Range} = require 'telepath' -$ = require 'jquery' -{$$} = require 'space-pen' -_ = require 'underscore' -fsUtils = require 'fs-utils' path = require 'path' describe "Editor", -> @@ -82,7 +78,7 @@ describe "Editor", -> describe "when the activeEditSession's file is modified on disk", -> it "triggers an alert", -> filePath = "/tmp/atom-changed-file.txt" - fsUtils.writeSync(filePath, "") + fs.writeSync(filePath, "") editSession = project.open(filePath) editor.edit(editSession) editor.insertText("now the buffer is modified") @@ -92,7 +88,7 @@ describe "Editor", -> spyOn(atom, "confirm") - fsUtils.writeSync(filePath, "a file change") + fs.writeSync(filePath, "a file change") waitsFor "file to trigger contents-changed event", -> fileChangeHandler.callCount > 0 @@ -147,7 +143,7 @@ describe "Editor", -> it "triggers alert if edit session's buffer goes into conflict with changes on disk", -> filePath = "/tmp/atom-changed-file.txt" - fsUtils.writeSync(filePath, "") + fs.writeSync(filePath, "") tempEditSession = project.open(filePath) editor.edit(tempEditSession) tempEditSession.insertText("a buffer change") @@ -156,7 +152,7 @@ describe "Editor", -> contentsConflictedHandler = jasmine.createSpy("contentsConflictedHandler") tempEditSession.on 'contents-conflicted', contentsConflictedHandler - fsUtils.writeSync(filePath, "a file change") + fs.writeSync(filePath, "a file change") waitsFor -> contentsConflictedHandler.callCount > 0 @@ -243,10 +239,10 @@ describe "Editor", -> beforeEach -> filePath = "/tmp/something.txt" - fsUtils.writeSync(filePath, filePath) + fs.writeSync(filePath, filePath) afterEach -> - fsUtils.remove(filePath) if fsUtils.exists(filePath) + fs.remove(filePath) if fs.exists(filePath) it "emits event when buffer's path is changed", -> eventHandler = jasmine.createSpy('eventHandler') @@ -2105,11 +2101,11 @@ describe "Editor", -> beforeEach -> filePath = project.resolve('git/working-dir/file.txt') - originalPathText = fsUtils.read(filePath) + originalPathText = fs.read(filePath) editor.edit(project.open(filePath)) afterEach -> - fsUtils.writeSync(filePath, originalPathText) + fs.writeSync(filePath, originalPathText) it "restores the contents of the editor to the HEAD revision", -> editor.setText('') @@ -2220,11 +2216,11 @@ describe "Editor", -> [filePath] = [] beforeEach -> - filePath = path.join(fsUtils.absolute("/tmp"), "grammar-change.txt") - fsUtils.writeSync(filePath, "var i;") + filePath = path.join(fs.absolute("/tmp"), "grammar-change.txt") + fs.writeSync(filePath, "var i;") afterEach -> - fsUtils.remove(filePath) if fsUtils.exists(filePath) + fs.remove(filePath) if fs.exists(filePath) it "updates all the rendered lines when the grammar changes", -> editor.edit(project.open(filePath)) @@ -2568,15 +2564,15 @@ describe "Editor", -> it "saves the state of the rendered lines, the display buffer, and the buffer to a file of the user's choosing", -> saveDialogCallback = null spyOn(atom, 'showSaveDialog').andCallFake (callback) -> saveDialogCallback = callback - spyOn(fsUtils, 'writeSync') + spyOn(fs, 'writeSync') editor.trigger 'editor:save-debug-snapshot' expect(atom.showSaveDialog).toHaveBeenCalled() saveDialogCallback('/tmp/state') - expect(fsUtils.writeSync).toHaveBeenCalled() - expect(fsUtils.writeSync.argsForCall[0][0]).toBe '/tmp/state' - expect(typeof fsUtils.writeSync.argsForCall[0][1]).toBe 'string' + expect(fs.writeSync).toHaveBeenCalled() + expect(fs.writeSync.argsForCall[0][0]).toBe '/tmp/state' + expect(typeof fs.writeSync.argsForCall[0][1]).toBe 'string' describe "when the escape key is pressed on the editor", -> it "clears multiple selections if there are any, and otherwise allows other bindings to be handled", -> diff --git a/spec/environment.coffee b/spec/environment.coffee index 9fddf9a02..2505c8942 100644 --- a/spec/environment.coffee +++ b/spec/environment.coffee @@ -1,7 +1,7 @@ path = require 'path' {Site} = require 'telepath' -fsUtils = require 'fs-utils' -Project = require 'project' +{fs} = require 'atom-api' +Project = require '../src/project' module.exports = class Environment diff --git a/spec/event-emitter-spec.coffee b/spec/event-emitter-spec.coffee index 436937518..660013ca7 100644 --- a/spec/event-emitter-spec.coffee +++ b/spec/event-emitter-spec.coffee @@ -1,5 +1,5 @@ -_ = require 'underscore' -EventEmitter = require 'event-emitter' +{_} = require 'atom-api' +EventEmitter = require '../src/event-emitter' describe "EventEmitter mixin", -> [object, fooHandler1, fooHandler2, barHandler] = [] diff --git a/spec/file-spec.coffee b/spec/file-spec.coffee index f2d89800a..add6c9fc7 100644 --- a/spec/file-spec.coffee +++ b/spec/file-spec.coffee @@ -1,5 +1,5 @@ -File = require 'file' -fsUtils = require 'fs-utils' +File = require '../src/file' +{fs} = require 'atom-api' path = require 'path' describe 'File', -> @@ -7,19 +7,19 @@ describe 'File', -> beforeEach -> filePath = path.join(__dirname, 'fixtures', 'atom-file-test.txt') # Don't put in /tmp because /tmp symlinks to /private/tmp and screws up the rename test - fsUtils.remove(filePath) if fsUtils.exists(filePath) - fsUtils.writeSync(filePath, "this is old!") + fs.remove(filePath) if fs.exists(filePath) + fs.writeSync(filePath, "this is old!") file = new File(filePath) afterEach -> file.off() - fsUtils.remove(filePath) if fsUtils.exists(filePath) + fs.remove(filePath) if fs.exists(filePath) describe "when the file has not been read", -> describe "when the contents of the file change", -> it "triggers 'contents-changed' event handlers", -> file.on 'contents-changed', changeHandler = jasmine.createSpy('changeHandler') - fsUtils.writeSync(file.getPath(), "this is new!") + fs.writeSync(file.getPath(), "this is new!") waitsFor "change event", -> changeHandler.callCount > 0 @@ -33,14 +33,14 @@ describe 'File', -> changeHandler = null changeHandler = jasmine.createSpy('changeHandler') file.on 'contents-changed', changeHandler - fsUtils.writeSync(file.getPath(), "this is new!") + fs.writeSync(file.getPath(), "this is new!") waitsFor "change event", -> changeHandler.callCount > 0 runs -> changeHandler.reset() - fsUtils.writeSync(file.getPath(), "this is newer!") + fs.writeSync(file.getPath(), "this is newer!") waitsFor "second change event", -> changeHandler.callCount > 0 @@ -50,7 +50,7 @@ describe 'File', -> removeHandler = null removeHandler = jasmine.createSpy('removeHandler') file.on 'removed', removeHandler - fsUtils.remove(file.getPath()) + fs.remove(file.getPath()) waitsFor "remove event", -> removeHandler.callCount > 0 @@ -62,8 +62,8 @@ describe 'File', -> newPath = path.join(path.dirname(filePath), "atom-file-was-moved-test.txt") afterEach -> - if fsUtils.exists(newPath) - fsUtils.remove(newPath) + if fs.exists(newPath) + fs.remove(newPath) waitsFor "remove event", (done) -> file.on 'removed', done it "it updates its path", -> @@ -72,7 +72,7 @@ describe 'File', -> moveHandler = jasmine.createSpy('moveHandler') file.on 'moved', moveHandler - fsUtils.move(filePath, newPath) + fs.move(filePath, newPath) waitsFor "move event", -> moveHandler.callCount > 0 @@ -89,14 +89,14 @@ describe 'File', -> changeHandler = jasmine.createSpy('changeHandler') file.on 'contents-changed', changeHandler - fsUtils.move(filePath, newPath) + fs.move(filePath, newPath) waitsFor "move event", -> moveHandler.callCount > 0 runs -> expect(changeHandler).not.toHaveBeenCalled() - fsUtils.writeSync(file.getPath(), "this is new!") + fs.writeSync(file.getPath(), "this is new!") waitsFor "change event", -> changeHandler.callCount > 0 @@ -113,12 +113,12 @@ describe 'File', -> expect(changeHandler).not.toHaveBeenCalled() - fsUtils.remove(filePath) + fs.remove(filePath) expect(changeHandler).not.toHaveBeenCalled() waits 20 runs -> - fsUtils.writeSync(filePath, "HE HAS RISEN!") + fs.writeSync(filePath, "HE HAS RISEN!") expect(changeHandler).not.toHaveBeenCalled() waitsFor "resurrection change event", -> @@ -126,7 +126,7 @@ describe 'File', -> runs -> expect(removeHandler).not.toHaveBeenCalled() - fsUtils.writeSync(filePath, "Hallelujah!") + fs.writeSync(filePath, "Hallelujah!") changeHandler.reset() waitsFor "post-resurrection change event", -> diff --git a/spec/fs-utils-spec.coffee b/spec/fs-utils-spec.coffee index 82a399206..03f274a2d 100644 --- a/spec/fs-utils-spec.coffee +++ b/spec/fs-utils-spec.coffee @@ -1,45 +1,44 @@ -fsUtils = require 'fs-utils' -fs = require 'fs' +{fs} = require 'atom-api' path = require 'path' temp = require 'temp' -describe "fsUtils", -> +describe "fs", -> fixturesDir = path.join(__dirname, 'fixtures') describe ".read(path)", -> it "return contents of file", -> - expect(fsUtils.read(require.resolve("./fixtures/sample.txt"))).toBe "Some text.\n" + expect(fs.read(require.resolve("./fixtures/sample.txt"))).toBe "Some text.\n" it "does not through an exception when the path is a binary file", -> - expect(-> fsUtils.read(require.resolve("./fixtures/binary-file.png"))).not.toThrow() + expect(-> fs.read(require.resolve("./fixtures/binary-file.png"))).not.toThrow() describe ".isFileSync(path)", -> it "returns true with a file path", -> - expect(fsUtils.isFileSync(path.join(fixturesDir, 'sample.js'))).toBe true + expect(fs.isFileSync(path.join(fixturesDir, 'sample.js'))).toBe true it "returns false with a directory path", -> - expect(fsUtils.isFileSync(fixturesDir)).toBe false + expect(fs.isFileSync(fixturesDir)).toBe false it "returns false with a non-existent path", -> - expect(fsUtils.isFileSync(path.join(fixturesDir, 'non-existent'))).toBe false - expect(fsUtils.isFileSync(null)).toBe false + expect(fs.isFileSync(path.join(fixturesDir, 'non-existent'))).toBe false + expect(fs.isFileSync(null)).toBe false describe ".exists(path)", -> it "returns true when path exsits", -> - expect(fsUtils.exists(fixturesDir)).toBe true + expect(fs.exists(fixturesDir)).toBe true it "returns false when path doesn't exsit", -> - expect(fsUtils.exists(path.join(fixturesDir, "-nope-does-not-exist"))).toBe false - expect(fsUtils.exists("")).toBe false - expect(fsUtils.exists(null)).toBe false + expect(fs.exists(path.join(fixturesDir, "-nope-does-not-exist"))).toBe false + expect(fs.exists("")).toBe false + expect(fs.exists(null)).toBe false describe ".makeTree(path)", -> beforeEach -> - fsUtils.remove("/tmp/a") if fsUtils.exists("/tmp/a") + fs.remove("/tmp/a") if fs.exists("/tmp/a") it "creates all directories in path including any missing parent directories", -> - fsUtils.makeTree("/tmp/a/b/c") - expect(fsUtils.exists("/tmp/a/b/c")).toBeTruthy() + fs.makeTree("/tmp/a/b/c") + expect(fs.exists("/tmp/a/b/c")).toBeTruthy() describe ".traverseTreeSync(path, onFile, onDirectory)", -> it "calls fn for every path in the tree at the given path", -> @@ -47,8 +46,8 @@ describe "fsUtils", -> onPath = (childPath) -> paths.push(childPath) true - fsUtils.traverseTreeSync fixturesDir, onPath, onPath - expect(paths).toEqual fsUtils.listTreeSync(fixturesDir) + fs.traverseTreeSync fixturesDir, onPath, onPath + expect(paths).toEqual fs.listTreeSync(fixturesDir) it "does not recurse into a directory if it is pruned", -> paths = [] @@ -58,7 +57,7 @@ describe "fsUtils", -> else paths.push(childPath) true - fsUtils.traverseTreeSync fixturesDir, onPath, onPath + fs.traverseTreeSync fixturesDir, onPath, onPath expect(paths.length).toBeGreaterThan 0 for filePath in paths @@ -73,8 +72,8 @@ describe "fsUtils", -> paths = [] onPath = (path) -> paths.push(path.substring(regularPath.length + 1)) - fsUtils.traverseTreeSync(symlinkPath, onSymlinkPath, onSymlinkPath) - fsUtils.traverseTreeSync(regularPath, onPath, onPath) + fs.traverseTreeSync(symlinkPath, onSymlinkPath, onSymlinkPath) + fs.traverseTreeSync(regularPath, onPath, onPath) expect(symlinkPaths).toEqual(paths) @@ -83,26 +82,26 @@ describe "fsUtils", -> paths = [] onPath = (childPath) -> paths.push(childPath) fs.symlinkSync(path.join(directory, 'source'), path.join(directory, 'destination')) - fsUtils.traverseTreeSync(directory, onPath) + fs.traverseTreeSync(directory, onPath) expect(paths.length).toBe 0 describe ".md5ForPath(path)", -> it "returns the MD5 hash of the file at the given path", -> - expect(fsUtils.md5ForPath(require.resolve('./fixtures/sample.js'))).toBe 'dd38087d0d7e3e4802a6d3f9b9745f2b' + expect(fs.md5ForPath(require.resolve('./fixtures/sample.js'))).toBe 'dd38087d0d7e3e4802a6d3f9b9745f2b' describe ".list(path, extensions)", -> it "returns the absolute paths of entries within the given directory", -> - paths = fsUtils.listSync(project.getPath()) + paths = fs.listSync(project.getPath()) expect(paths).toContain project.resolve('css.css') expect(paths).toContain project.resolve('coffee.coffee') expect(paths).toContain project.resolve('two-hundred.txt') it "returns an empty array for paths that aren't directories or don't exist", -> - expect(fsUtils.listSync(project.resolve('sample.js'))).toEqual [] - expect(fsUtils.listSync('/non/existent/directory')).toEqual [] + expect(fs.listSync(project.resolve('sample.js'))).toEqual [] + expect(fs.listSync('/non/existent/directory')).toEqual [] it "can filter the paths by an optional array of file extensions", -> - paths = fsUtils.listSync(project.getPath(), ['.css', 'coffee']) + paths = fs.listSync(project.getPath(), ['.css', 'coffee']) expect(paths).toContain project.resolve('css.css') expect(paths).toContain project.resolve('coffee.coffee') expect(listedPath).toMatch /(css|coffee)$/ for listedPath in paths @@ -112,7 +111,7 @@ describe "fsUtils", -> it "calls the callback with the absolute paths of entries within the given directory", -> waitsFor (done) -> - fsUtils.list project.getPath(), (err, result) -> + fs.list project.getPath(), (err, result) -> paths = result done() runs -> @@ -122,7 +121,7 @@ describe "fsUtils", -> it "can filter the paths by an optional array of file extensions", -> waitsFor (done) -> - fsUtils.list project.getPath(), ['css', '.coffee'], (err, result) -> + fs.list project.getPath(), ['css', '.coffee'], (err, result) -> paths = result done() runs -> @@ -132,6 +131,6 @@ describe "fsUtils", -> describe ".absolute(relativePath)", -> it "converts a leading ~ segment to the HOME directory", -> - expect(fsUtils.absolute('~')).toBe fs.realpathSync(process.env.HOME) - expect(fsUtils.absolute(path.join('~', 'does', 'not', 'exist'))).toBe path.join(process.env.HOME, 'does', 'not', 'exist') - expect(fsUtils.absolute('~test')).toBe '~test' + expect(fs.absolute('~')).toBe fs.realpathSync(process.env.HOME) + expect(fs.absolute(path.join('~', 'does', 'not', 'exist'))).toBe path.join(process.env.HOME, 'does', 'not', 'exist') + expect(fs.absolute('~test')).toBe '~test' diff --git a/spec/git-spec.coffee b/spec/git-spec.coffee index b40bfbb94..3486f849f 100644 --- a/spec/git-spec.coffee +++ b/spec/git-spec.coffee @@ -1,13 +1,13 @@ -Git = require 'git' -fsUtils = require 'fs-utils' +Git = require '../src/git' +{fs} = require 'atom-api' path = require 'path' -Task = require 'task' +Task = require '../src/task' describe "Git", -> repo = null beforeEach -> - fsUtils.remove('/tmp/.git') if fsUtils.isDirectorySync('/tmp/.git') + fs.remove('/tmp/.git') if fs.isDirectorySync('/tmp/.git') afterEach -> repo.destroy() if repo?.repo? @@ -45,22 +45,22 @@ describe "Git", -> repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) filePath = require.resolve('./fixtures/git/working-dir/file.txt') newPath = path.join(__dirname, 'fixtures', 'git', 'working-dir', 'new-path.txt') - originalPathText = fsUtils.read(filePath) + originalPathText = fs.read(filePath) afterEach -> - fsUtils.writeSync(filePath, originalPathText) - fsUtils.remove(newPath) if fsUtils.exists(newPath) + fs.writeSync(filePath, originalPathText) + fs.remove(newPath) if fs.exists(newPath) describe "when the path is unstaged", -> it "returns false if the path has not been modified", -> expect(repo.isPathModified(filePath)).toBeFalsy() it "returns true if the path is modified", -> - fsUtils.writeSync(filePath, "change") + fs.writeSync(filePath, "change") expect(repo.isPathModified(filePath)).toBeTruthy() it "returns true if the path is deleted", -> - fsUtils.remove(filePath) + fs.remove(filePath) expect(repo.isPathModified(filePath)).toBeTruthy() it "returns false if the path is new", -> @@ -73,10 +73,10 @@ describe "Git", -> repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) filePath = require.resolve('./fixtures/git/working-dir/file.txt') newPath = path.join(__dirname, 'fixtures', 'git', 'working-dir', 'new-path.txt') - fsUtils.writeSync(newPath, "i'm new here") + fs.writeSync(newPath, "i'm new here") afterEach -> - fsUtils.remove(newPath) if fsUtils.exists(newPath) + fs.remove(newPath) if fs.exists(newPath) describe "when the path is unstaged", -> it "returns true if the path is new", -> @@ -91,35 +91,35 @@ describe "Git", -> beforeEach -> repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) path1 = require.resolve('./fixtures/git/working-dir/file.txt') - originalPath1Text = fsUtils.read(path1) + originalPath1Text = fs.read(path1) path2 = require.resolve('./fixtures/git/working-dir/other.txt') - originalPath2Text = fsUtils.read(path2) + originalPath2Text = fs.read(path2) afterEach -> - fsUtils.writeSync(path1, originalPath1Text) - fsUtils.writeSync(path2, originalPath2Text) + fs.writeSync(path1, originalPath1Text) + fs.writeSync(path2, originalPath2Text) it "no longer reports a path as modified after checkout", -> expect(repo.isPathModified(path1)).toBeFalsy() - fsUtils.writeSync(path1, '') + fs.writeSync(path1, '') expect(repo.isPathModified(path1)).toBeTruthy() expect(repo.checkoutHead(path1)).toBeTruthy() expect(repo.isPathModified(path1)).toBeFalsy() it "restores the contents of the path to the original text", -> - fsUtils.writeSync(path1, '') + fs.writeSync(path1, '') expect(repo.checkoutHead(path1)).toBeTruthy() - expect(fsUtils.read(path1)).toBe(originalPath1Text) + expect(fs.read(path1)).toBe(originalPath1Text) it "only restores the path specified", -> - fsUtils.writeSync(path2, 'path 2 is edited') + fs.writeSync(path2, 'path 2 is edited') expect(repo.isPathModified(path2)).toBeTruthy() expect(repo.checkoutHead(path1)).toBeTruthy() - expect(fsUtils.read(path2)).toBe('path 2 is edited') + expect(fs.read(path2)).toBe('path 2 is edited') expect(repo.isPathModified(path2)).toBeTruthy() it "fires a status-changed event if the checkout completes successfully", -> - fsUtils.writeSync(path1, '') + fs.writeSync(path1, '') repo.getPathStatus(path1) statusHandler = jasmine.createSpy('statusHandler') repo.on 'status-changed', statusHandler @@ -142,14 +142,14 @@ describe "Git", -> beforeEach -> repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) filePath = require.resolve('./fixtures/git/working-dir/file.txt') - originalPathText = fsUtils.read(filePath) + originalPathText = fs.read(filePath) afterEach -> - fsUtils.writeSync(filePath, originalPathText) + fs.writeSync(filePath, originalPathText) it "returns the number of lines added and deleted", -> expect(repo.getDiffStats(filePath)).toEqual {added: 0, deleted: 0} - fsUtils.writeSync(filePath, "#{originalPathText} edited line") + fs.writeSync(filePath, "#{originalPathText} edited line") expect(repo.getDiffStats(filePath)).toEqual {added: 1, deleted: 1} describe ".getPathStatus(path)", -> @@ -158,20 +158,20 @@ describe "Git", -> beforeEach -> repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) filePath = require.resolve('./fixtures/git/working-dir/file.txt') - originalPathText = fsUtils.read(filePath) + originalPathText = fs.read(filePath) afterEach -> - fsUtils.writeSync(filePath, originalPathText) + fs.writeSync(filePath, originalPathText) it "trigger a status-changed event when the new status differs from the last cached one", -> statusHandler = jasmine.createSpy("statusHandler") repo.on 'status-changed', statusHandler - fsUtils.writeSync(filePath, '') + fs.writeSync(filePath, '') status = repo.getPathStatus(filePath) expect(statusHandler.callCount).toBe 1 expect(statusHandler.argsForCall[0][0..1]).toEqual [filePath, status] - fsUtils.writeSync(filePath, 'abc') + fs.writeSync(filePath, 'abc') status = repo.getPathStatus(filePath) expect(statusHandler.callCount).toBe 1 @@ -181,17 +181,17 @@ describe "Git", -> beforeEach -> repo = new Git(path.join(__dirname, 'fixtures', 'git', 'working-dir')) modifiedPath = project.resolve('git/working-dir/file.txt') - originalModifiedPathText = fsUtils.read(modifiedPath) + originalModifiedPathText = fs.read(modifiedPath) newPath = project.resolve('git/working-dir/untracked.txt') cleanPath = project.resolve('git/working-dir/other.txt') - fsUtils.writeSync(newPath, '') + fs.writeSync(newPath, '') afterEach -> - fsUtils.writeSync(modifiedPath, originalModifiedPathText) - fsUtils.remove(newPath) if fsUtils.exists(newPath) + fs.writeSync(modifiedPath, originalModifiedPathText) + fs.remove(newPath) if fs.exists(newPath) it "returns status information for all new and modified files", -> - fsUtils.writeSync(modifiedPath, 'making this path modified') + fs.writeSync(modifiedPath, 'making this path modified') statusHandler = jasmine.createSpy('statusHandler') repo.on 'statuses-changed', statusHandler repo.refreshStatus() @@ -209,7 +209,7 @@ describe "Git", -> [originalContent, editSession] = [] afterEach -> - fsUtils.writeSync(editSession.getPath(), originalContent) + fs.writeSync(editSession.getPath(), originalContent) it "emits a status-changed event", -> editSession = project.open('sample.js') @@ -226,12 +226,12 @@ describe "Git", -> [originalContent, editSession] = [] afterEach -> - fsUtils.writeSync(editSession.getPath(), originalContent) + fs.writeSync(editSession.getPath(), originalContent) it "emits a status-changed event", -> editSession = project.open('sample.js') originalContent = editSession.getText() - fsUtils.writeSync(editSession.getPath(), 'changed') + fs.writeSync(editSession.getPath(), 'changed') statusHandler = jasmine.createSpy('statusHandler') project.getRepo().on 'status-changed', statusHandler @@ -245,7 +245,7 @@ describe "Git", -> [originalContent, buffer, project2] = [] afterEach -> - fsUtils.writeSync(buffer.getPath(), originalContent) + fs.writeSync(buffer.getPath(), originalContent) project2?.destroy() it "subscribes to all the serialized buffers in the project", -> diff --git a/spec/jasmine-helper.coffee b/spec/jasmine-helper.coffee index a2437af95..334658ec5 100644 --- a/spec/jasmine-helper.coffee +++ b/spec/jasmine-helper.coffee @@ -1,10 +1,9 @@ module.exports.runSpecSuite = (specSuite, logErrors=true) -> - {$$} = require 'space-pen' + {$, $$} = require 'atom-api' window[key] = value for key, value of require '../vendor/jasmine' require 'jasmine-focused' - $ = require 'jquery' TimeReporter = require './time-reporter' timeReporter = new TimeReporter() diff --git a/spec/jquery-extensions-spec.coffee b/spec/jquery-extensions-spec.coffee index b803de4f1..59587e6cf 100644 --- a/spec/jquery-extensions-spec.coffee +++ b/spec/jquery-extensions-spec.coffee @@ -1,6 +1,4 @@ -$ = require 'jquery' -_ = require 'underscore' -{View, $$} = require 'space-pen' +{_, $, $$, View} = require 'atom-api' describe 'jQuery extensions', -> describe '$.fn.preempt(eventName, handler)', -> diff --git a/spec/keymap-spec.coffee b/spec/keymap-spec.coffee index 88822de5d..6579128ab 100644 --- a/spec/keymap-spec.coffee +++ b/spec/keymap-spec.coffee @@ -1,7 +1,5 @@ -Keymap = require 'keymap' -$ = require 'jquery' -{$$} = require 'space-pen' -RootView = require 'root-view' +Keymap = require '../src/keymap' +{$, $$, RootView} = require 'atom-api' describe "Keymap", -> fragment = null diff --git a/spec/pane-container-replication-spec.coffee b/spec/pane-container-replication-spec.coffee index 58b85faa1..fc36b9114 100644 --- a/spec/pane-container-replication-spec.coffee +++ b/spec/pane-container-replication-spec.coffee @@ -1,7 +1,7 @@ {Site} = require 'telepath' -{View} = require 'space-pen' -PaneContainer = require 'pane-container' -Pane = require 'pane' +{View} = require 'atom-api' +PaneContainer = require '../src/pane-container' +Pane = require '../src/pane' Environment = require './environment' describe "PaneContainer replication", -> diff --git a/spec/pane-container-spec.coffee b/spec/pane-container-spec.coffee index 8c0d23858..1f8515601 100644 --- a/spec/pane-container-spec.coffee +++ b/spec/pane-container-spec.coffee @@ -1,8 +1,6 @@ -PaneContainer = require 'pane-container' -Pane = require 'pane' -{View, $$} = require 'space-pen' -_ = require 'underscore' -$ = require 'jquery' +PaneContainer = require '../src/pane-container' +Pane = require '../src/pane' +{_, $, View, $$} = require 'atom-api' describe "PaneContainer", -> [TestView, container, pane1, pane2, pane3] = [] diff --git a/spec/pane-replication-spec.coffee b/spec/pane-replication-spec.coffee index cac028fe6..e42b5fa10 100644 --- a/spec/pane-replication-spec.coffee +++ b/spec/pane-replication-spec.coffee @@ -1,5 +1,5 @@ -PaneContainer = require 'pane-container' -Pane = require 'pane' +PaneContainer = require '../src/pane-container' +Pane = require '../src/pane' {Site} = require 'telepath' describe "Pane replication", -> diff --git a/spec/pane-spec.coffee b/spec/pane-spec.coffee index c434a38a4..b705d2f9a 100644 --- a/spec/pane-spec.coffee +++ b/spec/pane-spec.coffee @@ -1,7 +1,6 @@ -PaneContainer = require 'pane-container' -Pane = require 'pane' -{View} = require 'space-pen' -$ = require 'jquery' +PaneContainer = require '../src/pane-container' +Pane = require '../src/pane' +{$, View} = require 'atom-api' {dirname} = require 'path' describe "Pane", -> diff --git a/spec/project-spec.coffee b/spec/project-spec.coffee index c82ed5492..52a46e53e 100644 --- a/spec/project-spec.coffee +++ b/spec/project-spec.coffee @@ -1,8 +1,7 @@ -Project = require 'project' -fsUtils = require 'fs-utils' +Project = require '../src/project' +{_, fs} = require 'atom-api' path = require 'path' -_ = require 'underscore' -BufferedProcess = require 'buffered-process' +BufferedProcess = require '../src/buffered-process' describe "Project", -> beforeEach -> @@ -42,7 +41,7 @@ describe "Project", -> editSession = project.open() editSession.saveAs('/tmp/atom-test-save-sets-project-path') expect(project.getPath()).toBe '/tmp' - fsUtils.remove('/tmp/atom-test-save-sets-project-path') + fs.remove('/tmp/atom-test-save-sets-project-path') describe "when an edit session is deserialized", -> it "emits an 'edit-session-created' event and stores the edit session", -> @@ -150,7 +149,7 @@ describe "Project", -> describe "when path is a directory", -> it "sets its path to the directory and updates the root directory", -> - directory = fsUtils.absolute(path.join(__dirname, 'fixtures', 'dir', 'a-dir')) + directory = fs.absolute(path.join(__dirname, 'fixtures', 'dir', 'a-dir')) project.setPath(directory) expect(project.getPath()).toEqual directory expect(project.getRootDirectory().path).toEqual directory @@ -197,10 +196,10 @@ describe "Project", -> beforeEach -> ignoredFile = path.join(__dirname, 'fixtures', 'dir', 'ignored.txt') - fsUtils.writeSync(ignoredFile, "") + fs.writeSync(ignoredFile, "") afterEach -> - fsUtils.remove(ignoredFile) + fs.remove(ignoredFile) it "ignores ignored.txt file", -> paths = null @@ -216,10 +215,10 @@ describe "Project", -> beforeEach -> ignoredFile = path.join(__dirname, 'fixtures', 'dir', 'ignored', 'ignored.txt') - fsUtils.writeSync(ignoredFile, "") + fs.writeSync(ignoredFile, "") afterEach -> - fsUtils.remove(ignoredFile) + fs.remove(ignoredFile) it "ignores ignored folder", -> paths = null @@ -314,10 +313,10 @@ describe "Project", -> beforeEach -> projectPath = path.join(__dirname, 'fixtures', 'git', 'working-dir') ignoredPath = path.join(projectPath, 'ignored.txt') - fsUtils.writeSync(ignoredPath, 'this match should not be included') + fs.writeSync(ignoredPath, 'this match should not be included') afterEach -> - fsUtils.remove(ignoredPath) if fsUtils.exists(ignoredPath) + fs.remove(ignoredPath) if fs.exists(ignoredPath) it "excludes ignored files", -> project.setPath(projectPath) @@ -336,7 +335,7 @@ describe "Project", -> it "includes files and folders that begin with a '.'", -> projectPath = '/tmp/atom-tests/folder-with-dot-file' filePath = path.join(projectPath, '.text') - fsUtils.writeSync(filePath, 'match this') + fs.writeSync(filePath, 'match this') project.setPath(projectPath) paths = [] matches = [] @@ -353,7 +352,7 @@ describe "Project", -> it "excludes values in core.ignoredNames", -> projectPath = '/tmp/atom-tests/folder-with-dot-git/.git' filePath = path.join(projectPath, 'test.txt') - fsUtils.writeSync(filePath, 'match this') + fs.writeSync(filePath, 'match this') project.setPath(projectPath) paths = [] matches = [] diff --git a/spec/root-view-spec.coffee b/spec/root-view-spec.coffee index 5793b7deb..5990e0f90 100644 --- a/spec/root-view-spec.coffee +++ b/spec/root-view-spec.coffee @@ -1,9 +1,6 @@ -$ = require 'jquery' -fsUtils = require 'fs-utils' +{$, $$, fs, RootView, View} = require 'atom-api' path = require 'path' -RootView = require 'root-view' -Pane = require 'pane' -{View, $$} = require 'space-pen' +Pane = require '../src/pane' describe "RootView", -> pathToOpen = null diff --git a/spec/row-map-spec.coffee b/spec/row-map-spec.coffee index 279ffc698..7d8d8da65 100644 --- a/spec/row-map-spec.coffee +++ b/spec/row-map-spec.coffee @@ -1,4 +1,4 @@ -RowMap = require 'row-map' +RowMap = require '../src/row-map' describe "RowMap", -> map = null diff --git a/spec/select-list-spec.coffee b/spec/select-list-spec.coffee index b5ca98fda..89745181d 100644 --- a/spec/select-list-spec.coffee +++ b/spec/select-list-spec.coffee @@ -1,6 +1,5 @@ -SelectList = require 'select-list' -{$$} = require 'space-pen' -$ = require 'jquery' +SelectList = require '../src/select-list' +{$, $$} = require 'atom-api' describe "SelectList", -> [selectList, array, list, miniEditor] = [] diff --git a/spec/selection-spec.coffee b/spec/selection-spec.coffee index 0cc070eaa..0af2595c9 100644 --- a/spec/selection-spec.coffee +++ b/spec/selection-spec.coffee @@ -1,4 +1,4 @@ -EditSession = require 'edit-session' +EditSession = require '../src/edit-session' describe "Selection", -> [buffer, editSession, selection] = [] diff --git a/spec/space-pen-extensions-spec.coffee b/spec/space-pen-extensions-spec.coffee index edf45f425..2260a55df 100644 --- a/spec/space-pen-extensions-spec.coffee +++ b/spec/space-pen-extensions-spec.coffee @@ -1,4 +1,4 @@ -{View, $$} = require 'space-pen' +{View, $$} = require 'atom-api' describe "SpacePen extensions", -> class TestView extends View diff --git a/spec/spec-bootstrap.coffee b/spec/spec-bootstrap.coffee index 8427bea1a..97a4d8471 100644 --- a/spec/spec-bootstrap.coffee +++ b/spec/spec-bootstrap.coffee @@ -1,5 +1,6 @@ try - require 'atom' + require '../src/atom' + require '../src/window' atom.show() {runSpecSuite} = require './jasmine-helper' diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee index d1dbe0b2a..e3d8a401b 100644 --- a/spec/spec-helper.coffee +++ b/spec/spec-helper.coffee @@ -1,21 +1,17 @@ -require 'window' +require '../src/window' window.setUpEnvironment('spec') window.restoreDimensions() require '../vendor/jasmine-jquery' path = require 'path' -$ = jQuery = require 'jquery' -_ = require 'underscore' -Keymap = require 'keymap' -Config = require 'config' +{_, $, File, RootView, fs} = require 'atom-api' +Keymap = require '../src/keymap' +Config = require '../src/config' {Point} = require 'telepath' -Project = require 'project' -File = require 'file' -Editor = require 'editor' -TokenizedBuffer = require 'tokenized-buffer' -fsUtils = require 'fs-utils' +Project = require '../src/project' +Editor = require '../src/editor' +TokenizedBuffer = require '../src/tokenized-buffer' pathwatcher = require 'pathwatcher' -RootView = require 'root-view' clipboard = require 'clipboard' atom.loadBaseStylesheets() @@ -36,7 +32,7 @@ jasmine.getEnv().addEqualityTester(_.isEqual) # Use underscore's definition of e jasmine.getEnv().defaultTimeoutInterval = 5000 beforeEach -> - jQuery.fx.off = true + $.fx.off = true specDirectory = atom.getLoadSettings().specDirectory ? __dirname window.project = new Project(path.join(specDirectory, 'fixtures')) @@ -131,7 +127,7 @@ addCustomMatchers = (spec) -> toExistOnDisk: (expected) -> notText = this.isNot and " not" or "" @message = -> return "Expected path '" + @actual + "'" + notText + " to exist." - fsUtils.exists(@actual) + fs.exists(@actual) window.keyIdentifierForKey = (key) -> if key.length > 1 # named key @@ -243,8 +239,8 @@ $.fn.textInput = (data) -> this.each -> event = document.createEvent('TextEvent') event.initTextEvent('textInput', true, true, window, data) - event = jQuery.event.fix(event) + event = $.event.fix(event) $(this).trigger(event) -unless fsUtils.md5ForPath(require.resolve('./fixtures/sample.js')) == "dd38087d0d7e3e4802a6d3f9b9745f2b" +unless fs.md5ForPath(require.resolve('./fixtures/sample.js')) == "dd38087d0d7e3e4802a6d3f9b9745f2b" throw new Error("Sample.js is modified") diff --git a/spec/spec-suite.coffee b/spec/spec-suite.coffee index 769c6aab6..d56b95879 100644 --- a/spec/spec-suite.coffee +++ b/spec/spec-suite.coffee @@ -1,15 +1,11 @@ -require 'window' - measure 'spec suite require time', -> - fs = require 'fs' - fsUtils = require 'fs-utils' + {_, fs} = require 'atom-api' path = require 'path' - _ = require 'underscore' - Git = require 'git' + Git = require '../src/git' require './spec-helper' requireSpecs = (specDirectory, specType) -> - for specFilePath in fsUtils.listTreeSync(specDirectory) when /-spec\.coffee$/.test specFilePath + for specFilePath in fs.listTreeSync(specDirectory) when /-spec\.coffee$/.test specFilePath require specFilePath setSpecType = (specType) -> @@ -22,7 +18,7 @@ measure 'spec suite require time', -> requireSpecs(path.join(window.resourcePath, 'spec')) setSpecType('core') - fixturesPackagesPath = fsUtils.resolveOnLoadPath('fixtures/packages') + fixturesPackagesPath = fs.resolveOnLoadPath('fixtures/packages') packagePaths = atom.getAvailablePackageNames().map (packageName) -> atom.resolvePackagePath(packageName) packagePaths = _.groupBy packagePaths, (packagePath) -> if packagePath.indexOf("#{fixturesPackagesPath}#{path.sep}") is 0 diff --git a/spec/subscriber-spec.coffee b/spec/subscriber-spec.coffee index 714d14145..2e2a70ea6 100644 --- a/spec/subscriber-spec.coffee +++ b/spec/subscriber-spec.coffee @@ -1,7 +1,6 @@ -Subscriber = require 'subscriber' -EventEmitter = require 'event-emitter' -_ = require 'underscore' -{$$} = require 'space-pen' +Subscriber = require '../src/subscriber' +EventEmitter = require '../src/event-emitter' +{_, $$} = require 'atom-api' describe "Subscriber", -> [emitter1, emitter2, emitter3, event1Handler, event2Handler, event3Handler, subscriber] = [] diff --git a/spec/syntax-spec.coffee b/spec/syntax-spec.coffee index ef360e032..38688b862 100644 --- a/spec/syntax-spec.coffee +++ b/spec/syntax-spec.coffee @@ -1,5 +1,5 @@ -fsUtils = require 'fs-utils' -TextMateGrammar = require 'text-mate-grammar' +{fs} = require 'atom-api' +TextMateGrammar = require '../src/text-mate-grammar' describe "the `syntax` global", -> beforeEach -> @@ -45,10 +45,10 @@ describe "the `syntax` global", -> it "doesn't read the file when the file contents are specified", -> filePath = require.resolve("./fixtures/shebang") - filePathContents = fsUtils.read(filePath) - spyOn(fsUtils, 'read').andCallThrough() + filePathContents = fs.read(filePath) + spyOn(fs, 'read').andCallThrough() expect(syntax.selectGrammar(filePath, filePathContents).name).toBe "Ruby" - expect(fsUtils.read).not.toHaveBeenCalled() + expect(fs.read).not.toHaveBeenCalled() it "allows the default grammar to be overridden for a path", -> path = '/foo/bar/file.js' diff --git a/spec/task-spec.coffee b/spec/task-spec.coffee index 4f841f96c..1cc10a8d6 100644 --- a/spec/task-spec.coffee +++ b/spec/task-spec.coffee @@ -1,4 +1,4 @@ -Task = require 'task' +Task = require '../src/task' describe "Task", -> describe "populating the window with fake properties", -> diff --git a/spec/text-buffer-spec.coffee b/spec/text-buffer-spec.coffee index 6ee806952..833c438f2 100644 --- a/spec/text-buffer-spec.coffee +++ b/spec/text-buffer-spec.coffee @@ -1,6 +1,5 @@ -fsUtils = require 'fs-utils' +{_, fs} = require 'atom-api' path = require 'path' -_ = require 'underscore' {Site} = require 'telepath' describe 'TextBuffer', -> @@ -8,7 +7,7 @@ describe 'TextBuffer', -> beforeEach -> filePath = require.resolve('./fixtures/sample.js') - fileContents = fsUtils.read(filePath) + fileContents = fs.read(filePath) buffer = project.bufferForPath(filePath) afterEach -> @@ -24,18 +23,18 @@ describe 'TextBuffer', -> it "loads the contents of that file", -> filePath = require.resolve './fixtures/sample.txt' buffer = project.bufferForPath(filePath) - expect(buffer.getText()).toBe fsUtils.read(filePath) + expect(buffer.getText()).toBe fs.read(filePath) it "does not allow the initial state of the buffer to be undone", -> filePath = require.resolve './fixtures/sample.txt' buffer = project.bufferForPath(filePath) buffer.undo() - expect(buffer.getText()).toBe fsUtils.read(filePath) + expect(buffer.getText()).toBe fs.read(filePath) describe "when no file exists for the path", -> it "is modified and is initially empty", -> filePath = "does-not-exist.txt" - expect(fsUtils.exists(filePath)).toBeFalsy() + expect(fs.exists(filePath)).toBeFalsy() buffer = project.bufferForPath(filePath) expect(buffer.isModified()).toBeTruthy() expect(buffer.getText()).toBe '' @@ -51,15 +50,15 @@ describe 'TextBuffer', -> beforeEach -> filePath = path.join(__dirname, "fixtures", "atom-manipulate-me") newPath = "#{filePath}-i-moved" - fsUtils.writeSync(filePath, "") + fs.writeSync(filePath, "") bufferToChange = project.bufferForPath(filePath) eventHandler = jasmine.createSpy('eventHandler') bufferToChange.on 'path-changed', eventHandler afterEach -> bufferToChange.destroy() - fsUtils.remove(filePath) if fsUtils.exists(filePath) - fsUtils.remove(newPath) if fsUtils.exists(newPath) + fs.remove(filePath) if fs.exists(filePath) + fs.remove(newPath) if fs.exists(newPath) it "triggers a `path-changed` event when path is changed", -> bufferToChange.saveAs(newPath) @@ -68,8 +67,8 @@ describe 'TextBuffer', -> it "triggers a `path-changed` event when the file is moved", -> jasmine.unspy(window, "setTimeout") - fsUtils.remove(newPath) if fsUtils.exists(newPath) - fsUtils.move(filePath, newPath) + fs.remove(newPath) if fs.exists(newPath) + fs.move(filePath, newPath) waitsFor "buffer path change", -> eventHandler.callCount > 0 @@ -82,14 +81,14 @@ describe 'TextBuffer', -> beforeEach -> filePath = "/tmp/tmp.txt" - fsUtils.writeSync(filePath, "first") + fs.writeSync(filePath, "first") buffer.release() buffer = project.bufferForPath(filePath).retain() afterEach -> buffer.release() buffer = null - fsUtils.remove(filePath) if fsUtils.exists(filePath) + fs.remove(filePath) if fs.exists(filePath) it "does not trigger a change event when Atom modifies the file", -> buffer.insert([0,0], "HELLO!") @@ -105,7 +104,7 @@ describe 'TextBuffer', -> it "changes the memory contents of the buffer to match the new disk contents and triggers a 'changed' event", -> changeHandler = jasmine.createSpy('changeHandler') buffer.on 'changed', changeHandler - fsUtils.writeSync(filePath, "second") + fs.writeSync(filePath, "second") expect(changeHandler.callCount).toBe 0 waitsFor "file to trigger change event", -> @@ -125,7 +124,7 @@ describe 'TextBuffer', -> buffer.file.on 'contents-changed', fileChangeHandler buffer.insert([0, 0], "a change") - fsUtils.writeSync(filePath, "second") + fs.writeSync(filePath, "second") expect(fileChangeHandler.callCount).toBe 0 waitsFor "file to trigger 'contents-changed' event", -> @@ -140,7 +139,7 @@ describe 'TextBuffer', -> buffer.insert([0, 0], "a second change") handler = jasmine.createSpy('fileChange') - fsUtils.writeSync(filePath, "second") + fs.writeSync(filePath, "second") buffer.on 'contents-conflicted', handler expect(handler.callCount).toBe 0 @@ -155,7 +154,7 @@ describe 'TextBuffer', -> beforeEach -> filePath = "/tmp/atom-file-to-delete.txt" - fsUtils.writeSync(filePath, 'delete me') + fs.writeSync(filePath, 'delete me') bufferToDelete = project.bufferForPath(filePath) filePath = bufferToDelete.getPath() # symlinks may have been converted @@ -164,7 +163,7 @@ describe 'TextBuffer', -> removeHandler = jasmine.createSpy('removeHandler') bufferToDelete.file.on 'removed', removeHandler - fsUtils.remove(filePath) + fs.remove(filePath) waitsFor "file to be removed", -> removeHandler.callCount > 0 @@ -180,7 +179,7 @@ describe 'TextBuffer', -> expect(bufferToDelete.fileExists()).toBeTruthy() expect(bufferToDelete.isInConflict()).toBeFalsy() - fsUtils.writeSync(filePath, 'moo') + fs.writeSync(filePath, 'moo') changeHandler = jasmine.createSpy('changeHandler') bufferToDelete.on 'changed', changeHandler @@ -213,19 +212,19 @@ describe 'TextBuffer', -> it "reports the modified status changing to true after the underlying file is deleted", -> buffer.release() filePath = "/tmp/atom-tmp-file" - fsUtils.writeSync(filePath, 'delete me') + fs.writeSync(filePath, 'delete me') buffer = project.bufferForPath(filePath) modifiedHandler = jasmine.createSpy("modifiedHandler") buffer.on 'modified-status-changed', modifiedHandler - fsUtils.remove(filePath) + fs.remove(filePath) waitsFor "modified status to change", -> modifiedHandler.callCount runs -> expect(buffer.isModified()).toBe true it "reports the modified status changing to false after a modified buffer is saved", -> filePath = "/tmp/atom-tmp-file" - fsUtils.writeSync(filePath, '') + fs.writeSync(filePath, '') buffer.release() buffer = project.bufferForPath(filePath) modifiedHandler = jasmine.createSpy("modifiedHandler") @@ -249,7 +248,7 @@ describe 'TextBuffer', -> it "reports the modified status changing to false after a modified buffer is reloaded", -> filePath = "/tmp/atom-tmp-file" - fsUtils.writeSync(filePath, '') + fs.writeSync(filePath, '') buffer.release() buffer = project.bufferForPath(filePath) modifiedHandler = jasmine.createSpy("modifiedHandler") @@ -272,8 +271,8 @@ describe 'TextBuffer', -> it "reports the modified status changing to false after a buffer to a non-existent file is saved", -> filePath = "/tmp/atom-tmp-file" - fsUtils.remove(filePath) if fsUtils.exists(filePath) - expect(fsUtils.exists(filePath)).toBeFalsy() + fs.remove(filePath) if fs.exists(filePath) + expect(fs.exists(filePath)).toBeFalsy() buffer.release() buffer = project.bufferForPath(filePath) modifiedHandler = jasmine.createSpy("modifiedHandler") @@ -285,7 +284,7 @@ describe 'TextBuffer', -> modifiedHandler.reset() buffer.save() - expect(fsUtils.exists(filePath)).toBeTruthy() + expect(fs.exists(filePath)).toBeTruthy() expect(modifiedHandler).toHaveBeenCalledWith(false) expect(buffer.isModified()).toBe false @@ -452,16 +451,16 @@ describe 'TextBuffer', -> beforeEach -> filePath = '/tmp/temp.txt' - fsUtils.writeSync(filePath, "") + fs.writeSync(filePath, "") saveBuffer = project.bufferForPath(filePath) saveBuffer.setText("blah") it "saves the contents of the buffer to the path", -> saveBuffer.setText 'Buffer contents!' saveBuffer.save() - expect(fsUtils.read(filePath)).toEqual 'Buffer contents!' + expect(fs.read(filePath)).toEqual 'Buffer contents!' - it "fires will-be-saved and saved events around the call to fsUtils.writeSync", -> + it "fires will-be-saved and saved events around the call to fs.writeSync", -> events = [] beforeSave1 = -> events.push('beforeSave1') beforeSave2 = -> events.push('beforeSave2') @@ -470,12 +469,12 @@ describe 'TextBuffer', -> saveBuffer.on 'will-be-saved', beforeSave1 saveBuffer.on 'will-be-saved', beforeSave2 - spyOn(fsUtils, 'writeSync').andCallFake -> events.push 'fsUtils.writeSync' + spyOn(fs, 'writeSync').andCallFake -> events.push 'fs.writeSync' saveBuffer.on 'saved', afterSave1 saveBuffer.on 'saved', afterSave2 saveBuffer.save() - expect(events).toEqual ['beforeSave1', 'beforeSave2', 'fsUtils.writeSync', 'afterSave1', 'afterSave2'] + expect(events).toEqual ['beforeSave1', 'beforeSave2', 'fs.writeSync', 'afterSave1', 'afterSave2'] it "fires will-reload and reloaded events when reloaded", -> events = [] @@ -509,7 +508,7 @@ describe 'TextBuffer', -> it "saves the contents of the buffer to the path", -> filePath = '/tmp/temp.txt' - fsUtils.remove filePath if fsUtils.exists(filePath) + fs.remove filePath if fs.exists(filePath) saveAsBuffer = project.bufferForPath(null).retain() eventHandler = jasmine.createSpy('eventHandler') @@ -517,14 +516,14 @@ describe 'TextBuffer', -> saveAsBuffer.setText 'Buffer contents!' saveAsBuffer.saveAs(filePath) - expect(fsUtils.read(filePath)).toEqual 'Buffer contents!' + expect(fs.read(filePath)).toEqual 'Buffer contents!' expect(eventHandler).toHaveBeenCalledWith(saveAsBuffer) it "stops listening to events on previous path and begins listening to events on new path", -> originalPath = "/tmp/original.txt" newPath = "/tmp/new.txt" - fsUtils.writeSync(originalPath, "") + fs.writeSync(originalPath, "") saveAsBuffer = project.bufferForPath(originalPath).retain() changeHandler = jasmine.createSpy('changeHandler') @@ -532,11 +531,11 @@ describe 'TextBuffer', -> saveAsBuffer.saveAs(newPath) expect(changeHandler).not.toHaveBeenCalled() - fsUtils.writeSync(originalPath, "should not trigger buffer event") + fs.writeSync(originalPath, "should not trigger buffer event") waits 20 runs -> expect(changeHandler).not.toHaveBeenCalled() - fsUtils.writeSync(newPath, "should trigger buffer event") + fs.writeSync(newPath, "should trigger buffer event") waitsFor -> changeHandler.callCount > 0 @@ -547,22 +546,22 @@ describe 'TextBuffer', -> beforeEach -> filePath = path.join(__dirname, "fixtures", "atom-manipulate-me") newPath = "#{filePath}-i-moved" - fsUtils.writeSync(filePath, "") + fs.writeSync(filePath, "") bufferToChange = project.bufferForPath(filePath) eventHandler = jasmine.createSpy('eventHandler') bufferToChange.on 'path-changed', eventHandler afterEach -> bufferToChange.destroy() - fsUtils.remove(filePath) if fsUtils.exists(filePath) - fsUtils.remove(newPath) if fsUtils.exists(newPath) + fs.remove(filePath) if fs.exists(filePath) + fs.remove(newPath) if fs.exists(newPath) it "updates when the text buffer's file is moved", -> expect(bufferToChange.getRelativePath()).toBe('atom-manipulate-me') jasmine.unspy(window, "setTimeout") eventHandler.reset() - fsUtils.move(filePath, newPath) + fs.move(filePath, newPath) waitsFor "buffer path change", -> eventHandler.callCount > 0 diff --git a/spec/text-mate-grammar-spec.coffee b/spec/text-mate-grammar-spec.coffee index d927e804d..927eea4f8 100644 --- a/spec/text-mate-grammar-spec.coffee +++ b/spec/text-mate-grammar-spec.coffee @@ -1,7 +1,6 @@ -TextMateGrammar = require 'text-mate-grammar' -TextMatePackage = require 'text-mate-package' -fsUtils = require 'fs-utils' -_ = require 'underscore' +TextMateGrammar = require '../src/text-mate-grammar' +TextMatePackage = require '../src/text-mate-package' +{_, fs} = require 'atom-api' describe "TextMateGrammar", -> grammar = null @@ -24,7 +23,7 @@ describe "TextMateGrammar", -> expect(tokens[0]).toEqual value: "this text is so plain. i love it.", scopes: ["text.plain", "meta.paragraph.text"] it "loads grammars from cson files", -> - grammar = TextMateGrammar.loadSync(fsUtils.resolveOnLoadPath('spec/fixtures/packages/package-with-grammars/grammars/alot.cson')) + grammar = TextMateGrammar.loadSync(fs.resolveOnLoadPath('spec/fixtures/packages/package-with-grammars/grammars/alot.cson')) expect(grammar.scopeName).toBe "source.alot" {tokens} = grammar.tokenizeLine("this is alot of code") expect(tokens[1]).toEqual value: "alot", scopes: ["source.alot", "keyword.alot"] diff --git a/spec/text-utils-spec.coffee b/spec/text-utils-spec.coffee index f1edb223f..36ac0b356 100644 --- a/spec/text-utils-spec.coffee +++ b/spec/text-utils-spec.coffee @@ -1,4 +1,4 @@ -textUtils = require 'text-utils' +textUtils = require '../src/text-utils' describe 'text utilities', -> describe '.getCharacterCount(string)', -> diff --git a/spec/theme-manager-spec.coffee b/spec/theme-manager-spec.coffee index e4823c204..4c39c28e9 100644 --- a/spec/theme-manager-spec.coffee +++ b/spec/theme-manager-spec.coffee @@ -1,7 +1,7 @@ -$ = require 'jquery' +{$} = require 'atom-api' -ThemeManager = require 'theme-manager' -AtomPackage = require 'atom-package' +ThemeManager = require '../src/theme-manager' +AtomPackage = require '../src/atom-package' describe "ThemeManager", -> themeManager = null diff --git a/spec/time-reporter.coffee b/spec/time-reporter.coffee index 5cbc8a716..67d367b02 100644 --- a/spec/time-reporter.coffee +++ b/spec/time-reporter.coffee @@ -1,4 +1,4 @@ -_ = require 'underscore' +{_} = require 'atom-api' module.exports = class TimeReporter extends jasmine.Reporter diff --git a/spec/tokenized-buffer-spec.coffee b/spec/tokenized-buffer-spec.coffee index 2ff1e474e..5b16fdf07 100644 --- a/spec/tokenized-buffer-spec.coffee +++ b/spec/tokenized-buffer-spec.coffee @@ -1,5 +1,5 @@ -TokenizedBuffer = require 'tokenized-buffer' -_ = require 'underscore' +TokenizedBuffer = require '../src/tokenized-buffer' +{_} = require 'atom-api' describe "TokenizedBuffer", -> [tokenizedBuffer, buffer, changeHandler] = [] diff --git a/spec/underscore-extensions-spec.coffee b/spec/underscore-extensions-spec.coffee index f75a720d8..dc674de33 100644 --- a/spec/underscore-extensions-spec.coffee +++ b/spec/underscore-extensions-spec.coffee @@ -1,4 +1,4 @@ -_ = require 'underscore' +{_} = require 'atom-api' describe "underscore extensions", -> describe "_.adviseBefore", -> diff --git a/spec/window-spec.coffee b/spec/window-spec.coffee index bc82be26f..9509a16d3 100644 --- a/spec/window-spec.coffee +++ b/spec/window-spec.coffee @@ -1,8 +1,6 @@ -$ = require 'jquery' -{$$} = require 'space-pen' -fsUtils = require 'fs-utils' +{$, $$, fs} = require 'atom-api' path = require 'path' -WindowEventHandler = require 'window-event-handler' +WindowEventHandler = require '../src/window-event-handler' describe "Window", -> [projectPath, windowEventHandler] = [] @@ -87,7 +85,7 @@ describe "Window", -> element = $('head style[id*="css.css"]') expect(element.attr('id')).toBe cssPath - expect(element.text()).toBe fsUtils.read(cssPath) + expect(element.text()).toBe fs.read(cssPath) # doesn't append twice requireStylesheet(cssPath) From 200e91175a2f00662c7602ddc74e12425ca1e7e5 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 19:00:26 -0700 Subject: [PATCH 28/89] Use require.resolve to lookup stylesheet path --- spec/atom-spec.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/atom-spec.coffee b/spec/atom-spec.coffee index 49342b520..a866f6f65 100644 --- a/spec/atom-spec.coffee +++ b/spec/atom-spec.coffee @@ -289,9 +289,9 @@ describe "the `atom` global", -> it "removes the package's stylesheets", -> atom.activatePackage('package-with-stylesheets') atom.deactivatePackage('package-with-stylesheets') - one = fs.resolveOnLoadPath("package-with-stylesheets/stylesheets/1.css") - two = fs.resolveOnLoadPath("package-with-stylesheets/stylesheets/2.less") - three = fs.resolveOnLoadPath("package-with-stylesheets/stylesheets/3.css") + one = require.resolve("./fixtures/packages/package-with-stylesheets-manifest/stylesheets/1.css") + two = require.resolve("./fixtures/packages/package-with-stylesheets-manifest/stylesheets/2.less") + three = require.resolve("./fixtures/packages/package-with-stylesheets-manifest/stylesheets/3.css") expect(stylesheetElementForId(one)).not.toExist() expect(stylesheetElementForId(two)).not.toExist() expect(stylesheetElementForId(three)).not.toExist() From 3120ca7bec1b60af03daa70a88cfb1a9099d2a34 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 19:05:07 -0700 Subject: [PATCH 29/89] Require File from atom-api --- spec/file-spec.coffee | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spec/file-spec.coffee b/spec/file-spec.coffee index add6c9fc7..82f4fed46 100644 --- a/spec/file-spec.coffee +++ b/spec/file-spec.coffee @@ -1,5 +1,4 @@ -File = require '../src/file' -{fs} = require 'atom-api' +{File, fs} = require 'atom-api' path = require 'path' describe 'File', -> From 38f0e2448559459ef821c9dd11b9cb5e0b54311b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 17 Sep 2013 19:08:35 -0700 Subject: [PATCH 30/89] Pass absolute paths to requireStylesheet --- spec/window-spec.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/window-spec.coffee b/spec/window-spec.coffee index 9509a16d3..aa86b2975 100644 --- a/spec/window-spec.coffee +++ b/spec/window-spec.coffee @@ -117,9 +117,9 @@ describe "Window", -> $('head style[id*="sample.less"]').remove() it "supports requiring css and less stylesheets without an explicit extension", -> - requireStylesheet 'fixtures/css' + requireStylesheet path.join(__dirname, 'fixtures', 'css') expect($('head style[id*="css.css"]').attr('id')).toBe project.resolve('css.css') - requireStylesheet 'fixtures/sample' + requireStylesheet path.join(__dirname, 'fixtures', 'sample') expect($('head style[id*="sample.less"]').attr('id')).toBe project.resolve('sample.less') $('head style[id*="css.css"]').remove() @@ -127,7 +127,7 @@ describe "Window", -> describe ".removeStylesheet(path)", -> it "removes styling applied by given stylesheet path", -> - cssPath = require.resolve(path.join("fixtures", "css.css")) + cssPath = require.resolve('./fixtures/css.css') expect($(document.body).css('font-weight')).not.toBe("bold") requireStylesheet(cssPath) From ad0c105630bbd27ca5df6c2f23ef54dd83f2e26c Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 08:33:13 -0700 Subject: [PATCH 31/89] Upgrade to jasmine-focused@0.14.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cefbee440..80c127348 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "first-mate": "0.1.0", "git-utils": "0.24.0", "guid": "0.0.10", - "jasmine-focused": "~0.12.0", + "jasmine-focused": "~0.14.0", "mkdirp": "0.3.5", "less": "git://github.com/nathansobo/less.js.git", "less-cache": "0.8.0", From 41fc4f7fe62ffd05d206f97d6e714a0114302fb8 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:01:13 -0700 Subject: [PATCH 32/89] Use relative require paths in src/ files --- src/atom-package.coffee | 12 ++++++------ src/atom.coffee | 8 ++++---- src/binding-set.coffee | 6 +++--- src/buffered-node-process.coffee | 2 +- src/buffered-process.coffee | 2 +- src/command-installer.coffee | 4 ++-- src/config.coffee | 6 +++--- src/cursor-view.coffee | 4 ++-- src/cursor.coffee | 4 ++-- src/directory.coffee | 8 ++++---- src/display-buffer-marker.coffee | 6 +++--- src/display-buffer.coffee | 18 +++++++++--------- src/edit-session.coffee | 17 ++++++++--------- src/editor.coffee | 18 +++++++++--------- src/event-emitter.coffee | 2 +- src/file.coffee | 6 +++--- src/fs-utils.coffee | 2 +- src/git.coffee | 10 +++++----- src/gutter.coffee | 6 +++--- src/jquery-extensions.coffee | 4 ++-- src/keymap.coffee | 8 ++++---- src/language-mode.coffee | 7 +++---- src/less-compile-cache.coffee | 2 +- src/null-grammar.coffee | 6 +++--- src/package.coffee | 4 ++-- src/pane-axis.coffee | 4 ++-- src/pane-column.coffee | 6 +++--- src/pane-container.coffee | 6 +++--- src/pane-row.coffee | 6 +++--- src/pane.coffee | 10 +++++----- src/project.coffee | 18 +++++++++--------- src/root-view.coffee | 23 ++++++++++------------- src/scroll-view.coffee | 2 +- src/select-list.coffee | 8 ++++---- src/selection-view.coffee | 2 +- src/selection.coffee | 4 ++-- src/space-pen-extensions.coffee | 8 ++++---- src/subscriber.coffee | 2 +- src/syntax.coffee | 12 ++++++------ src/task.coffee | 4 ++-- src/text-buffer.coffee | 10 +++++----- src/text-mate-grammar.coffee | 8 ++++---- src/text-mate-package.coffee | 8 ++++---- src/theme-manager.coffee | 10 +++++----- src/token.coffee | 4 ++-- src/tokenized-buffer.coffee | 10 +++++----- src/tokenized-line.coffee | 2 +- src/window-bootstrap.coffee | 4 ++-- src/window-event-handler.coffee | 8 ++++---- src/window.coffee | 11 ++++------- 50 files changed, 177 insertions(+), 185 deletions(-) diff --git a/src/atom-package.coffee b/src/atom-package.coffee index 338a4b623..8b8289b13 100644 --- a/src/atom-package.coffee +++ b/src/atom-package.coffee @@ -1,11 +1,11 @@ -TextMateGrammar = require 'text-mate-grammar' -Package = require 'package' -fsUtils = require 'fs-utils' +TextMateGrammar = require './text-mate-grammar' +Package = require './package' +fsUtils = require './fs-utils' path = require 'path' -_ = require 'underscore' -$ = require 'jquery' +_ = require './underscore-extensions' +$ = require './jquery-extensions' CSON = require 'season' -EventEmitter = require 'event-emitter' +EventEmitter = require './event-emitter' ### Internal: Loads and resolves packages. ### diff --git a/src/atom.coffee b/src/atom.coffee index 0dc42ebe9..87a9d1ea8 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -1,6 +1,6 @@ -fsUtils = require 'fs-utils' -$ = require 'jquery' -_ = require 'underscore' +fsUtils = require './fs-utils' +$ = require './jquery-extensions' +_ = require './underscore-extensions' Package = require 'package' ipc = require 'ipc' remote = require 'remote' @@ -9,7 +9,7 @@ path = require 'path' dialog = remote.require 'dialog' app = remote.require 'app' telepath = require 'telepath' -ThemeManager = require 'theme-manager' +ThemeManager = require './theme-manager' window.atom = loadedPackages: {} diff --git a/src/binding-set.coffee b/src/binding-set.coffee index 29ba0b97c..3ce361b2e 100644 --- a/src/binding-set.coffee +++ b/src/binding-set.coffee @@ -1,6 +1,6 @@ -$ = require 'jquery' -_ = require 'underscore' -fsUtils = require 'fs-utils' +$ = require './jquery-extensions' +_ = require './underscore-extensions' +fsUtils = require './fs-utils' Specificity = require '../vendor/specificity' PEG = require 'pegjs' diff --git a/src/buffered-node-process.coffee b/src/buffered-node-process.coffee index 6c84869fb..409a215ee 100644 --- a/src/buffered-node-process.coffee +++ b/src/buffered-node-process.coffee @@ -1,4 +1,4 @@ -BufferedProcess = require 'buffered-process' +BufferedProcess = require './buffered-process' path = require 'path' # Private: Like BufferedProcess, but accepts a node script instead of an diff --git a/src/buffered-process.coffee b/src/buffered-process.coffee index 3c96e4729..3c5099c65 100644 --- a/src/buffered-process.coffee +++ b/src/buffered-process.coffee @@ -1,6 +1,6 @@ ChildProcess = require 'child_process' path = require 'path' -_ = require 'underscore' +_ = require './underscore-extensions' # Private: A wrapper which provides buffering for ChildProcess. module.exports = diff --git a/src/command-installer.coffee b/src/command-installer.coffee index 3ceb0751b..0e1433484 100644 --- a/src/command-installer.coffee +++ b/src/command-installer.coffee @@ -1,9 +1,9 @@ path = require 'path' fs = require 'fs' -_ = require 'underscore' +_ = require './underscore-extensions' async = require 'async' mkdirp = require 'mkdirp' -fsUtils = require 'fs-utils' +fsUtils = require './fs-utils' symlinkCommand = (sourcePath, destinationPath, callback) -> mkdirp path.dirname(destinationPath), (error) -> diff --git a/src/config.coffee b/src/config.coffee index b06628583..5dae93605 100644 --- a/src/config.coffee +++ b/src/config.coffee @@ -1,6 +1,6 @@ -fsUtils = require 'fs-utils' -_ = require 'underscore' -EventEmitter = require 'event-emitter' +fsUtils = require './fs-utils' +_ = require './underscore-extensions' +EventEmitter = require './event-emitter' CSON = require 'season' fs = require 'fs' path = require 'path' diff --git a/src/cursor-view.coffee b/src/cursor-view.coffee index ca6e5037d..3c15c235d 100644 --- a/src/cursor-view.coffee +++ b/src/cursor-view.coffee @@ -1,6 +1,6 @@ -{View} = require 'space-pen' +{View} = require './space-pen-extensions' {Point, Range} = require 'telepath' -_ = require 'underscore' +_ = require './underscore-extensions' ### Internal ### module.exports = diff --git a/src/cursor.coffee b/src/cursor.coffee index ee148cb82..01a0b0b61 100644 --- a/src/cursor.coffee +++ b/src/cursor.coffee @@ -1,6 +1,6 @@ {Point, Range} = require 'telepath' -EventEmitter = require 'event-emitter' -_ = require 'underscore' +EventEmitter = require './event-emitter' +_ = require './underscore-extensions' # Public: The `Cursor` class represents the little blinking line identifying # where text can be inserted. diff --git a/src/directory.coffee b/src/directory.coffee index d63478893..0d96f05fe 100644 --- a/src/directory.coffee +++ b/src/directory.coffee @@ -1,10 +1,10 @@ -_ = require 'underscore' +_ = require './underscore-extensions' fs = require 'fs' path = require 'path' -fsUtils = require 'fs-utils' +fsUtils = require './fs-utils' pathWatcher = require 'pathwatcher' -File = require 'file' -EventEmitter = require 'event-emitter' +File = require './file' +EventEmitter = require './event-emitter' # Public: Represents a directory using {File}s module.exports = diff --git a/src/display-buffer-marker.coffee b/src/display-buffer-marker.coffee index 611802dde..a1eb17a6c 100644 --- a/src/display-buffer-marker.coffee +++ b/src/display-buffer-marker.coffee @@ -1,7 +1,7 @@ {Range} = require 'telepath' -_ = require 'underscore' -EventEmitter = require 'event-emitter' -Subscriber = require 'subscriber' +_ = require './underscore-extensions' +EventEmitter = require './event-emitter' +Subscriber = require './subscriber' # Private: module.exports = diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index 255ea6113..79b379175 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -1,15 +1,15 @@ -_ = require 'underscore' +_ = require './underscore-extensions' guid = require 'guid' telepath = require 'telepath' {Point, Range} = telepath -TokenizedBuffer = require 'tokenized-buffer' -RowMap = require 'row-map' -EventEmitter = require 'event-emitter' -Fold = require 'fold' -Token = require 'token' -DisplayBufferMarker = require 'display-buffer-marker' -Subscriber = require 'subscriber' -ConfigObserver = require 'config-observer' +TokenizedBuffer = require './tokenized-buffer' +RowMap = require './row-map' +EventEmitter = require './event-emitter' +Fold = require './fold' +Token = require './token' +DisplayBufferMarker = require './display-buffer-marker' +Subscriber = require './subscriber' +ConfigObserver = require './config-observer' # Private: module.exports = diff --git a/src/edit-session.coffee b/src/edit-session.coffee index 09382501a..97943d673 100644 --- a/src/edit-session.coffee +++ b/src/edit-session.coffee @@ -1,16 +1,15 @@ -_ = require 'underscore' -fsUtils = require 'fs-utils' +_ = require './underscore-extensions' +fsUtils = require './fs-utils' path = require 'path' telepath = require 'telepath' guid = require 'guid' {Point, Range} = telepath -Buffer = require 'text-buffer' -LanguageMode = require 'language-mode' -DisplayBuffer = require 'display-buffer' -Cursor = require 'cursor' -Selection = require 'selection' -EventEmitter = require 'event-emitter' -Subscriber = require 'subscriber' +LanguageMode = require './language-mode' +DisplayBuffer = require './display-buffer' +Cursor = require './cursor' +Selection = require './selection' +EventEmitter = require './event-emitter' +Subscriber = require './subscriber' TextMateScopeSelector = require('first-mate').ScopeSelector # Public: The core model of Atom. diff --git a/src/editor.coffee b/src/editor.coffee index 446ef5708..3f475b785 100644 --- a/src/editor.coffee +++ b/src/editor.coffee @@ -1,13 +1,13 @@ -{View, $$} = require 'space-pen' -TextBuffer = require 'text-buffer' -Gutter = require 'gutter' +{View, $$} = require './space-pen-extensions' +TextBuffer = require './text-buffer' +Gutter = require './gutter' {Point, Range} = require 'telepath' -EditSession = require 'edit-session' -CursorView = require 'cursor-view' -SelectionView = require 'selection-view' -fsUtils = require 'fs-utils' -$ = require 'jquery' -_ = require 'underscore' +EditSession = require './edit-session' +CursorView = require './cursor-view' +SelectionView = require './selection-view' +fsUtils = require './fs-utils' +$ = require './jquery-extensions' +_ = require './underscore-extensions' # Private: Represents the entire visual pane in Atom. # diff --git a/src/event-emitter.coffee b/src/event-emitter.coffee index 8e23e892a..83eb6da95 100644 --- a/src/event-emitter.coffee +++ b/src/event-emitter.coffee @@ -1,4 +1,4 @@ -_ = require 'underscore' +_ = require './underscore-extensions' # Public: Provides a list of functions that can be used in Atom for event management. # diff --git a/src/file.coffee b/src/file.coffee index 30d7b6b0b..f908e5cba 100644 --- a/src/file.coffee +++ b/src/file.coffee @@ -1,9 +1,9 @@ -EventEmitter = require 'event-emitter' +EventEmitter = require './event-emitter' fs = require 'fs' path = require 'path' -fsUtils = require 'fs-utils' +fsUtils = require './fs-utils' pathWatcher = require 'pathwatcher' -_ = require 'underscore' +_ = require './underscore-extensions' # Public: Represents an individual file in the editor. # diff --git a/src/fs-utils.coffee b/src/fs-utils.coffee index 8285bbe13..0a3763156 100644 --- a/src/fs-utils.coffee +++ b/src/fs-utils.coffee @@ -1,4 +1,4 @@ -_ = require 'underscore' +_ = require './underscore-extensions' fs = require 'fs' mkdirp = require 'mkdirp' Module = require 'module' diff --git a/src/git.coffee b/src/git.coffee index 9b2e4e433..0018651ce 100644 --- a/src/git.coffee +++ b/src/git.coffee @@ -1,8 +1,8 @@ -_ = require 'underscore' -fsUtils = require 'fs-utils' -Subscriber = require 'subscriber' -EventEmitter = require 'event-emitter' -Task = require 'task' +_ = require './underscore-extensions' +fsUtils = require './fs-utils' +Subscriber = require './subscriber' +EventEmitter = require './event-emitter' +Task = require './task' GitUtils = require 'git-utils' # Public: Represents the underlying git operations performed by Atom. diff --git a/src/gutter.coffee b/src/gutter.coffee index 47e97abd1..d1c3ac8b1 100644 --- a/src/gutter.coffee +++ b/src/gutter.coffee @@ -1,7 +1,7 @@ -{View, $$, $$$} = require 'space-pen' +{View, $$, $$$} = require './space-pen-extensions' {Range} = require 'telepath' -$ = require 'jquery' -_ = require 'underscore' +$ = require './jquery-extensions' +_ = require './underscore-extensions' # Private: Represents the portion of the {Editor} containing row numbers. # diff --git a/src/jquery-extensions.coffee b/src/jquery-extensions.coffee index dd6375144..1b6e7f4fd 100644 --- a/src/jquery-extensions.coffee +++ b/src/jquery-extensions.coffee @@ -1,5 +1,5 @@ -$ = require 'jquery' -_ = require 'underscore' +$ = require '../vendor/jquery' +_ = require './underscore-extensions' $.fn.scrollBottom = (newValue) -> if newValue? diff --git a/src/keymap.coffee b/src/keymap.coffee index 55843bc9d..726460403 100644 --- a/src/keymap.coffee +++ b/src/keymap.coffee @@ -1,9 +1,9 @@ -$ = require 'jquery' -_ = require 'underscore' -fsUtils = require 'fs-utils' +$ = require './jquery-extensions' +_ = require './underscore-extensions' +fsUtils = require './fs-utils' path = require 'path' CSON = require 'season' -BindingSet = require 'binding-set' +BindingSet = require './binding-set' # Internal: Associates keymaps with actions. # diff --git a/src/language-mode.coffee b/src/language-mode.coffee index cee5b409c..f6d1e4341 100644 --- a/src/language-mode.coffee +++ b/src/language-mode.coffee @@ -1,9 +1,8 @@ {Range} = require 'telepath' -_ = require 'underscore' -require 'underscore-extensions' +_ = require './underscore-extensions' {OnigRegExp} = require 'oniguruma' -EventEmitter = require 'event-emitter' -Subscriber = require 'subscriber' +EventEmitter = require './event-emitter' +Subscriber = require './subscriber' ### Internal ### diff --git a/src/less-compile-cache.coffee b/src/less-compile-cache.coffee index 245f4279d..9bfaadf6f 100644 --- a/src/less-compile-cache.coffee +++ b/src/less-compile-cache.coffee @@ -1,6 +1,6 @@ path = require 'path' -_ = require 'underscore' +_ = require './underscore-extensions' LessCache = require 'less-cache' module.exports = diff --git a/src/null-grammar.coffee b/src/null-grammar.coffee index 6f8d62def..c79ef633a 100644 --- a/src/null-grammar.coffee +++ b/src/null-grammar.coffee @@ -1,6 +1,6 @@ -Token = require 'token' -EventEmitter = require 'event-emitter' -_ = require 'underscore' +Token = require './token' +EventEmitter = require './event-emitter' +_ = require './underscore-extensions' ### Internal ### module.exports = diff --git a/src/package.coffee b/src/package.coffee index 1ada8fbbc..81cc45fed 100644 --- a/src/package.coffee +++ b/src/package.coffee @@ -5,8 +5,8 @@ CSON = require 'season' module.exports = class Package @build: (path) -> - TextMatePackage = require 'text-mate-package' - AtomPackage = require 'atom-package' + TextMatePackage = require './text-mate-package' + AtomPackage = require './atom-package' if TextMatePackage.testName(path) new TextMatePackage(path) diff --git a/src/pane-axis.coffee b/src/pane-axis.coffee index d95cb976c..262b3ad67 100644 --- a/src/pane-axis.coffee +++ b/src/pane-axis.coffee @@ -1,5 +1,5 @@ -$ = require 'jquery' -{View} = require 'space-pen' +$ = require './jquery-extensions' +{View} = require './space-pen-extensions' telepath = require 'telepath' ### Internal ### diff --git a/src/pane-column.coffee b/src/pane-column.coffee index 9df7016a4..8cc5b5644 100644 --- a/src/pane-column.coffee +++ b/src/pane-column.coffee @@ -1,6 +1,6 @@ -$ = require 'jquery' -_ = require 'underscore' -PaneAxis = require 'pane-axis' +$ = require './jquery-extensions' +_ = require './underscore-extensions' +PaneAxis = require './pane-axis' # Internal: module.exports = diff --git a/src/pane-container.coffee b/src/pane-container.coffee index 06ede88de..b540b31c5 100644 --- a/src/pane-container.coffee +++ b/src/pane-container.coffee @@ -1,6 +1,6 @@ -{View} = require 'space-pen' -Pane = require 'pane' -$ = require 'jquery' +{View} = require './space-pen-extensions' +Pane = require './pane' +$ = require './jquery-extensions' telepath = require 'telepath' # Private: Manages the list of panes within a {RootView} diff --git a/src/pane-row.coffee b/src/pane-row.coffee index f13e40570..5d51677d3 100644 --- a/src/pane-row.coffee +++ b/src/pane-row.coffee @@ -1,6 +1,6 @@ -$ = require 'jquery' -_ = require 'underscore' -PaneAxis = require 'pane-axis' +$ = require './jquery-extensions' +_ = require './underscore-extensions' +PaneAxis = require './pane-axis' ### Internal ### diff --git a/src/pane.coffee b/src/pane.coffee index 8668a3783..e1d118cbc 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -1,10 +1,10 @@ {dirname} = require 'path' -{View} = require 'space-pen' -$ = require 'jquery' -_ = require 'underscore' +{View} = require './space-pen-extensions' +$ = require './jquery-extensions' +_ = require './underscore-extensions' telepath = require 'telepath' -PaneRow = require 'pane-row' -PaneColumn = require 'pane-column' +PaneRow = require './pane-row' +PaneColumn = require './pane-column' # Public: A container which can contains multiple items to be switched between. # diff --git a/src/project.coffee b/src/project.coffee index 65319a735..afef4f28a 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -1,17 +1,17 @@ -fsUtils = require 'fs-utils' +fsUtils = require './fs-utils' path = require 'path' url = require 'url' -_ = require 'underscore' -$ = require 'jquery' +_ = require './underscore-extensions' +$ = require './jquery-extensions' telepath = require 'telepath' {Range} = telepath -TextBuffer = require 'text-buffer' -EditSession = require 'edit-session' -EventEmitter = require 'event-emitter' -Directory = require 'directory' -BufferedNodeProcess = require 'buffered-node-process' -Git = require 'git' +TextBuffer = require './text-buffer' +EditSession = require './edit-session' +EventEmitter = require './event-emitter' +Directory = require './directory' +BufferedNodeProcess = require './buffered-node-process' +Git = require './git' # Public: Represents a project that's opened in Atom. # diff --git a/src/root-view.coffee b/src/root-view.coffee index 6530cf02f..694f064b7 100644 --- a/src/root-view.coffee +++ b/src/root-view.coffee @@ -1,19 +1,16 @@ ipc = require 'ipc' path = require 'path' -$ = require 'jquery' -{$$} = require 'space-pen' -fsUtils = require 'fs-utils' -_ = require 'underscore' +$ = require './jquery-extensions' +{$$, View} = require './space-pen-extensions' +fsUtils = require './fs-utils' +_ = require './underscore-extensions' telepath = require 'telepath' -{View} = require 'space-pen' -Buffer = require 'text-buffer' -Editor = require 'editor' -Project = require 'project' -Pane = require 'pane' -PaneColumn = require 'pane-column' -PaneRow = require 'pane-row' -PaneContainer = require 'pane-container' -EditSession = require 'edit-session' +Editor = require './editor' +Pane = require './pane' +PaneColumn = require './pane-column' +PaneRow = require './pane-row' +PaneContainer = require './pane-container' +EditSession = require './edit-session' # Public: The container for the entire Atom application. # diff --git a/src/scroll-view.coffee b/src/scroll-view.coffee index c41cc07ea..380669cfa 100644 --- a/src/scroll-view.coffee +++ b/src/scroll-view.coffee @@ -1,4 +1,4 @@ -{View} = require 'space-pen' +{View} = require './space-pen-extensions' # Public: Represents a view that scrolls. # diff --git a/src/select-list.coffee b/src/select-list.coffee index 074953a5d..6004aa55c 100644 --- a/src/select-list.coffee +++ b/src/select-list.coffee @@ -1,7 +1,7 @@ -$ = require 'jquery' -{ View } = require 'space-pen' -Editor = require 'editor' -fuzzyFilter = require 'fuzzy-filter' +$ = require './jquery-extensions' +{ View } = require './space-pen-extensions' +Editor = require './editor' +fuzzyFilter = require './fuzzy-filter' # Public: Provides a widget for users to make a selection from a list of # choices. diff --git a/src/selection-view.coffee b/src/selection-view.coffee index d93f141cc..e01ea384d 100644 --- a/src/selection-view.coffee +++ b/src/selection-view.coffee @@ -1,5 +1,5 @@ {Point, Range} = require 'telepath' -{View, $$} = require 'space-pen' +{View, $$} = require './space-pen-extensions' # Internal: module.exports = diff --git a/src/selection.coffee b/src/selection.coffee index 0192e2e7b..c48d05cf9 100644 --- a/src/selection.coffee +++ b/src/selection.coffee @@ -1,6 +1,6 @@ {Range} = require 'telepath' -EventEmitter = require 'event-emitter' -_ = require 'underscore' +EventEmitter = require './event-emitter' +_ = require './underscore-extensions' # Public: Represents a selection in the {EditSession}. module.exports = diff --git a/src/space-pen-extensions.coffee b/src/space-pen-extensions.coffee index e899373cb..a4d8f1047 100644 --- a/src/space-pen-extensions.coffee +++ b/src/space-pen-extensions.coffee @@ -1,8 +1,8 @@ -_ = require 'underscore' +_ = require './underscore-extensions' spacePen = require 'space-pen' -jQuery = require 'jquery' -ConfigObserver = require 'config-observer' -Subscriber = require 'subscriber' +jQuery = require './jquery-extensions' +ConfigObserver = require './config-observer' +Subscriber = require './subscriber' _.extend spacePen.View.prototype, ConfigObserver _.extend spacePen.View.prototype, Subscriber diff --git a/src/subscriber.coffee b/src/subscriber.coffee index c2c443ff3..d6335ba72 100644 --- a/src/subscriber.coffee +++ b/src/subscriber.coffee @@ -1,4 +1,4 @@ -_ = require 'underscore' +_ = require './underscore-extensions' module.exports = subscribeWith: (eventEmitter, methodName, args) -> diff --git a/src/syntax.coffee b/src/syntax.coffee index 1c55b6967..563468570 100644 --- a/src/syntax.coffee +++ b/src/syntax.coffee @@ -1,10 +1,10 @@ -_ = require 'underscore' -jQuery = require 'jquery' +_ = require './underscore-extensions' +jQuery = require './jquery-extensions' Specificity = require '../vendor/specificity' -{$$} = require 'space-pen' -fsUtils = require 'fs-utils' -EventEmitter = require 'event-emitter' -NullGrammar = require 'null-grammar' +{$$} = require './space-pen-extensions' +fsUtils = require './fs-utils' +EventEmitter = require './event-emitter' +NullGrammar = require './null-grammar' TextMateScopeSelector = require('first-mate').ScopeSelector ### Internal ### diff --git a/src/task.coffee b/src/task.coffee index d184330d8..588a9b8d4 100644 --- a/src/task.coffee +++ b/src/task.coffee @@ -1,6 +1,6 @@ -_ = require 'underscore' +_ = require './underscore-extensions' child_process = require 'child_process' -EventEmitter = require 'event-emitter' +EventEmitter = require './event-emitter' # Public: Run a node script in a separate process. # diff --git a/src/text-buffer.coffee b/src/text-buffer.coffee index 8b5ac5fdf..3bfb08563 100644 --- a/src/text-buffer.coffee +++ b/src/text-buffer.coffee @@ -1,10 +1,10 @@ -_ = require 'underscore' +_ = require './underscore–extensions' telepath = require 'telepath' {Point, Range} = telepath -fsUtils = require 'fs-utils' -File = require 'file' -EventEmitter = require 'event-emitter' -Subscriber = require 'subscriber' +fsUtils = require './fs-utils' +File = require './file' +EventEmitter = require './event-emitter' +Subscriber = require './subscriber' guid = require 'guid' # Private: Represents the contents of a file. diff --git a/src/text-mate-grammar.coffee b/src/text-mate-grammar.coffee index aecbffbf8..d9d362e68 100644 --- a/src/text-mate-grammar.coffee +++ b/src/text-mate-grammar.coffee @@ -1,10 +1,10 @@ -_ = require 'underscore' -fsUtils = require 'fs-utils' +_ = require './underscore-extensions' +fsUtils = require './fs-utils' plist = require 'plist' -Token = require 'token' +Token = require './token' {OnigRegExp, OnigScanner} = require 'oniguruma' path = require 'path' -EventEmitter = require 'event-emitter' +EventEmitter = require './event-emitter' {ScopeSelector} = require 'first-mate' pathSplitRegex = new RegExp("[#{path.sep}.]") diff --git a/src/text-mate-package.coffee b/src/text-mate-package.coffee index b715e1583..4e895aad6 100644 --- a/src/text-mate-package.coffee +++ b/src/text-mate-package.coffee @@ -1,8 +1,8 @@ -Package = require 'package' -fsUtils = require 'fs-utils' +Package = require './package' +fsUtils = require './fs-utils' path = require 'path' -_ = require 'underscore' -TextMateGrammar = require 'text-mate-grammar' +_ = require './underscore-extensions' +TextMateGrammar = require './text-mate-grammar' async = require 'async' ### Internal ### diff --git a/src/theme-manager.coffee b/src/theme-manager.coffee index 5bc6e0f8f..66ed646c5 100644 --- a/src/theme-manager.coffee +++ b/src/theme-manager.coffee @@ -1,11 +1,11 @@ path = require 'path' -EventEmitter = require 'event-emitter' -Package = require 'package' -AtomPackage = require 'atom-package' +EventEmitter = require './event-emitter' +Package = require './package' +AtomPackage = require './atom-package' -_ = require 'underscore' +_ = require './underscore-extensions' -fsUtils = require 'fs-utils' +fsUtils = require './fs-utils' # Private: Handles discovering and loading available themes. module.exports = diff --git a/src/token.coffee b/src/token.coffee index 66dc0c984..141e6a756 100644 --- a/src/token.coffee +++ b/src/token.coffee @@ -1,5 +1,5 @@ -_ = require 'underscore' -textUtils = require 'text-utils' +_ = require './underscore-extensions' +textUtils = require './text-utils' whitespaceRegexesByTabLength = {} diff --git a/src/tokenized-buffer.coffee b/src/tokenized-buffer.coffee index c4ac782cb..c84091e24 100644 --- a/src/tokenized-buffer.coffee +++ b/src/tokenized-buffer.coffee @@ -1,8 +1,8 @@ -_ = require 'underscore' -TokenizedLine = require 'tokenized-line' -EventEmitter = require 'event-emitter' -Subscriber = require 'subscriber' -Token = require 'token' +_ = require './underscore-extensions' +TokenizedLine = require './tokenized-line' +EventEmitter = require './event-emitter' +Subscriber = require './subscriber' +Token = require './token' telepath = require 'telepath' {Point, Range} = telepath diff --git a/src/tokenized-line.coffee b/src/tokenized-line.coffee index 18bbecbcc..763b4a18c 100644 --- a/src/tokenized-line.coffee +++ b/src/tokenized-line.coffee @@ -1,4 +1,4 @@ -_ = require 'underscore' +_ = require './underscore-extensions' ### Internal ### diff --git a/src/window-bootstrap.coffee b/src/window-bootstrap.coffee index 579d7b79f..cf7cbdaa6 100644 --- a/src/window-bootstrap.coffee +++ b/src/window-bootstrap.coffee @@ -1,7 +1,7 @@ # Like sands through the hourglass, so are the days of our lives. date = new Date().getTime() -require 'atom' -require 'window' +require './atom' +require './window' window.setUpEnvironment('editor') window.startEditorWindow() diff --git a/src/window-event-handler.coffee b/src/window-event-handler.coffee index fd0073035..3a8d301ef 100644 --- a/src/window-event-handler.coffee +++ b/src/window-event-handler.coffee @@ -1,9 +1,9 @@ -$ = require 'jquery' -_ = require 'underscore' +$ = require './jquery-extensions' +_ = require './underscore-extensions' ipc = require 'ipc' remote = require 'remote' -Subscriber = require 'subscriber' -fsUtils = require 'fs-utils' +Subscriber = require './subscriber' +fsUtils = require './fs-utils' # Private: Handles low-level events related to the window. module.exports = diff --git a/src/window.coffee b/src/window.coffee index e238d5115..c7a9cde6a 100644 --- a/src/window.coffee +++ b/src/window.coffee @@ -1,14 +1,11 @@ -fsUtils = require 'fs-utils' +fsUtils = require './fs-utils' path = require 'path' telepath = require 'telepath' -$ = require 'jquery' -_ = require 'underscore' +$ = require './jquery-extensions' +_ = require './underscore-extensions' remote = require 'remote' ipc = require 'ipc' -WindowEventHandler = require 'window-event-handler' -require 'jquery-extensions' -require 'underscore-extensions' -require 'space-pen-extensions' +WindowEventHandler = require './window-event-handler' deserializers = {} deferredDeserializers = {} From 8fec056895b2000e2d988bb1a632f9f6b74846c1 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:02:07 -0700 Subject: [PATCH 33/89] Remove src from NODE_PATH --- src/atom-window.coffee | 1 - 1 file changed, 1 deletion(-) diff --git a/src/atom-window.coffee b/src/atom-window.coffee index 3aced770f..97c879a61 100644 --- a/src/atom-window.coffee +++ b/src/atom-window.coffee @@ -46,7 +46,6 @@ class AtomWindow setupNodePath: (resourcePath) -> paths = [ 'exports' - 'src' 'node_modules' ] From 73fab20d7ecf92462e81b351a1655d85b80e4b33 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:07:33 -0700 Subject: [PATCH 34/89] Use relative require path for coffee-cache --- static/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/index.html b/static/index.html index fee3c6d22..6ec02f899 100644 --- a/static/index.html +++ b/static/index.html @@ -8,7 +8,7 @@ var currentWindow = require('remote').getCurrentWindow(); try { require('coffee-script'); - require('coffee-cache'); + require('../src/coffee-cache'); Object.defineProperty(require.extensions, '.coffee', { writable: false, value: require.extensions['.coffee'] From cc4477185f430042a1889c5a69db76d358c8df95 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:08:36 -0700 Subject: [PATCH 35/89] Resolve bootstrap script to make it absolute --- src/atom-application.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/atom-application.coffee b/src/atom-application.coffee index 569aa6b08..41007a12f 100644 --- a/src/atom-application.coffee +++ b/src/atom-application.coffee @@ -224,7 +224,7 @@ class AtomApplication openedWindow = existingWindow openedWindow.openPath(pathToOpen, initialLine) else - bootstrapScript = 'window-bootstrap' + bootstrapScript = require.resolve('./window-bootstrap') if devMode resourcePath = global.devResourcePath else From 0aa28cbfacdb6cb79a204dd17b3565eeebbad4dc Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:09:56 -0700 Subject: [PATCH 36/89] Pre-resolve paths used in task bootstrap --- src/task.coffee | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/task.coffee b/src/task.coffee index 588a9b8d4..568cb8a68 100644 --- a/src/task.coffee +++ b/src/task.coffee @@ -43,14 +43,17 @@ class Task # The path to the Coffeescript/Javascript file that exports a single # function to execute. constructor: (taskPath) -> + coffeeScriptPath = require.resolve('coffee-script') + coffeeCachePath = require.resolve('./coffee-cache') + taskBootstrapPath = require.resolve('./task-bootstrap') bootstrap = """ - require('coffee-script'); - require('coffee-cache'); + require('#{coffeeScriptPath}'); + require('#{coffeeCachePath}'); Object.defineProperty(require.extensions, '.coffee', { writable: false, value: require.extensions['.coffee'] }); - require('task-bootstrap'); + require('#{taskBootstrapPath}'); """ taskPath = require.resolve(taskPath) From 6f6daf6db016ccd034f313adbc8a4c60416d0123 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:11:31 -0700 Subject: [PATCH 37/89] Use relative paths for requires --- src/config.coffee | 4 ++-- src/window.coffee | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/config.coffee b/src/config.coffee index 5dae93605..ffcd24809 100644 --- a/src/config.coffee +++ b/src/config.coffee @@ -54,8 +54,8 @@ class Config # Private: Created during initialization, available as `global.config` constructor: -> @defaultSettings = - core: _.clone(require('root-view').configDefaults) - editor: _.clone(require('editor').configDefaults) + core: _.clone(require('./root-view').configDefaults) + editor: _.clone(require('./editor').configDefaults) @settings = {} @configFilePath = fsUtils.resolve(configDirPath, 'config', ['json', 'cson']) @configFilePath ?= path.join(configDirPath, 'config.cson') diff --git a/src/window.coffee b/src/window.coffee index c7a9cde6a..c1dcf8142 100644 --- a/src/window.coffee +++ b/src/window.coffee @@ -30,10 +30,10 @@ window.setUpEnvironment = (windowMode) -> atom.windowMode = windowMode window.resourcePath = remote.getCurrentWindow().loadSettings.resourcePath - Config = require 'config' - Syntax = require 'syntax' - Pasteboard = require 'pasteboard' - Keymap = require 'keymap' + Config = require './config' + Syntax = require './syntax' + Pasteboard = require './pasteboard' + Keymap = require './keymap' window.rootViewParentSelector = 'body' window.config = new Config @@ -83,11 +83,11 @@ window.unloadEditorWindow = -> window.installAtomCommand = (callback) -> commandPath = path.join(window.resourcePath, 'atom.sh') - require('command-installer').install(commandPath, callback) + require('./command-installer').install(commandPath, callback) window.installApmCommand = (callback) -> commandPath = path.join(window.resourcePath, 'node_modules', '.bin', 'apm') - require('command-installer').install(commandPath, callback) + require('./command-installer').install(commandPath, callback) window.onDrop = (e) -> e.preventDefault() @@ -96,8 +96,8 @@ window.onDrop = (e) -> atom.open({pathsToOpen}) if pathsToOpen.length > 0 window.deserializeEditorWindow = -> - RootView = require 'root-view' - Project = require 'project' + RootView = require './root-view' + Project = require './project' windowState = atom.getWindowState() @@ -152,7 +152,7 @@ window.loadStylesheet = (stylesheetPath) -> window.loadLessStylesheet = (lessStylesheetPath) -> unless lessCache? - LessCompileCache = require 'less-compile-cache' + LessCompileCache = require './less-compile-cache' lessCache = new LessCompileCache() try From aee8df190959f1bb3b77eca0c3a0bfadb18a67ea Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:13:17 -0700 Subject: [PATCH 38/89] Use correct path underscore-extensions --- src/text-buffer.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/text-buffer.coffee b/src/text-buffer.coffee index 3bfb08563..cfad306c0 100644 --- a/src/text-buffer.coffee +++ b/src/text-buffer.coffee @@ -1,4 +1,4 @@ -_ = require './underscore–extensions' +_ = require './underscore-extensions' telepath = require 'telepath' {Point, Range} = telepath fsUtils = require './fs-utils' From d11742e1787c8fd8b5447edb0c4610e0809a2718 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:14:51 -0700 Subject: [PATCH 39/89] Use relative require path to package class --- src/atom.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/atom.coffee b/src/atom.coffee index 87a9d1ea8..b8794f878 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -1,7 +1,7 @@ fsUtils = require './fs-utils' $ = require './jquery-extensions' _ = require './underscore-extensions' -Package = require 'package' +Package = require './package' ipc = require 'ipc' remote = require 'remote' crypto = require 'crypto' From 8f6be6caca6064c94de98bfe8247fd77468a5f97 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:16:05 -0700 Subject: [PATCH 40/89] Resolve path to handler --- src/git.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/git.coffee b/src/git.coffee index 0018651ce..14e7620fd 100644 --- a/src/git.coffee +++ b/src/git.coffee @@ -247,7 +247,7 @@ class Git # Private: refreshStatus: -> - @statusTask = Task.once 'repository-status-handler', @getPath(), ({statuses, upstream}) => + @statusTask = Task.once require.resolve('./repository-status-handler'), @getPath(), ({statuses, upstream}) => statusesUnchanged = _.isEqual(statuses, @statuses) and _.isEqual(upstream, @upstream) @statuses = statuses @upstream = upstream From c8e9865b397b47868c294e19fade987292087c2c Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:16:40 -0700 Subject: [PATCH 41/89] Use relative path to view class require --- src/edit-session.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/edit-session.coffee b/src/edit-session.coffee index 97943d673..7490f7ca3 100644 --- a/src/edit-session.coffee +++ b/src/edit-session.coffee @@ -131,7 +131,7 @@ class EditSession # Private: getViewClass: -> - require 'editor' + require './editor' # Private: destroy: -> From 99eab6f98e35931d6a1135f86c5dbec4b1ff389c Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:29:45 -0700 Subject: [PATCH 42/89] Inline requires instead of paths --- src/task.coffee | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/task.coffee b/src/task.coffee index 568cb8a68..4da9e38b9 100644 --- a/src/task.coffee +++ b/src/task.coffee @@ -43,17 +43,17 @@ class Task # The path to the Coffeescript/Javascript file that exports a single # function to execute. constructor: (taskPath) -> - coffeeScriptPath = require.resolve('coffee-script') - coffeeCachePath = require.resolve('./coffee-cache') - taskBootstrapPath = require.resolve('./task-bootstrap') + coffeeScriptRequire = "require('#{require.resolve('coffee-script')}');" + coffeeCacheRequire = "require('#{require.resolve('./coffee-cache')}');" + taskBootstrapRequire = "require('#{require.resolve('task-bootstrap')}');" bootstrap = """ - require('#{coffeeScriptPath}'); - require('#{coffeeCachePath}'); + #{coffeeScriptRequire} + #{coffeeCacheRequire} Object.defineProperty(require.extensions, '.coffee', { writable: false, value: require.extensions['.coffee'] }); - require('#{taskBootstrapPath}'); + #{taskBootstrapRequire} """ taskPath = require.resolve(taskPath) From cd12b1df0b48389b8bb5c0e54769adb200a2eaf9 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:30:01 -0700 Subject: [PATCH 43/89] Use relative path to task-bootstrap --- src/task.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/task.coffee b/src/task.coffee index 4da9e38b9..e32fc8355 100644 --- a/src/task.coffee +++ b/src/task.coffee @@ -45,7 +45,7 @@ class Task constructor: (taskPath) -> coffeeScriptRequire = "require('#{require.resolve('coffee-script')}');" coffeeCacheRequire = "require('#{require.resolve('./coffee-cache')}');" - taskBootstrapRequire = "require('#{require.resolve('task-bootstrap')}');" + taskBootstrapRequire = "require('#{require.resolve('./task-bootstrap')}');" bootstrap = """ #{coffeeScriptRequire} #{coffeeCacheRequire} From a52951712cf6c8454c346d2cfc5e9e7ef02ebd1a Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:33:52 -0700 Subject: [PATCH 44/89] Use fs from atom-api --- spec/config-spec.coffee | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/spec/config-spec.coffee b/spec/config-spec.coffee index cf0726384..7d1dd98d4 100644 --- a/spec/config-spec.coffee +++ b/spec/config-spec.coffee @@ -1,5 +1,4 @@ -fs = require 'fs' -fsUtils = require 'fs-utils' +{fs} = require 'atom-api' path = require 'path' CSON = require 'season' @@ -162,10 +161,10 @@ describe "Config", -> describe ".initializeConfigDirectory()", -> beforeEach -> config.configDirPath = '/tmp/dot-atom-dir' - expect(fsUtils.exists(config.configDirPath)).toBeFalsy() + expect(fs.exists(config.configDirPath)).toBeFalsy() afterEach -> - fsUtils.remove('/tmp/dot-atom-dir') if fsUtils.exists('/tmp/dot-atom-dir') + fs.remove('/tmp/dot-atom-dir') if fs.exists('/tmp/dot-atom-dir') describe "when the configDirPath doesn't exist", -> it "copies the contents of dot-atom to ~/.atom", -> @@ -177,24 +176,24 @@ describe "Config", -> waitsFor -> initializationDone runs -> - expect(fsUtils.exists(config.configDirPath)).toBeTruthy() - expect(fsUtils.exists(path.join(config.configDirPath, 'packages'))).toBeTruthy() - expect(fsUtils.exists(path.join(config.configDirPath, 'snippets'))).toBeTruthy() - expect(fsUtils.exists(path.join(config.configDirPath, 'themes'))).toBeTruthy() - expect(fsUtils.isFileSync(path.join(config.configDirPath, 'config.cson'))).toBeTruthy() + expect(fs.exists(config.configDirPath)).toBeTruthy() + expect(fs.exists(path.join(config.configDirPath, 'packages'))).toBeTruthy() + expect(fs.exists(path.join(config.configDirPath, 'snippets'))).toBeTruthy() + expect(fs.exists(path.join(config.configDirPath, 'themes'))).toBeTruthy() + expect(fs.isFileSync(path.join(config.configDirPath, 'config.cson'))).toBeTruthy() describe ".loadUserConfig()", -> beforeEach -> config.configDirPath = '/tmp/dot-atom-dir' config.configFilePath = path.join(config.configDirPath, "config.cson") - expect(fsUtils.exists(config.configDirPath)).toBeFalsy() + expect(fs.exists(config.configDirPath)).toBeFalsy() afterEach -> - fsUtils.remove('/tmp/dot-atom-dir') if fsUtils.exists('/tmp/dot-atom-dir') + fs.remove('/tmp/dot-atom-dir') if fs.exists('/tmp/dot-atom-dir') describe "when the config file contains valid cson", -> beforeEach -> - fsUtils.writeSync(config.configFilePath, "foo: bar: 'baz'") + fs.writeSync(config.configFilePath, "foo: bar: 'baz'") config.loadUserConfig() it "updates the config data based on the file contents", -> @@ -203,7 +202,7 @@ describe "Config", -> describe "when the config file contains invalid cson", -> beforeEach -> spyOn(console, 'error') - fsUtils.writeSync(config.configFilePath, "{{{{{") + fs.writeSync(config.configFilePath, "{{{{{") it "logs an error to the console and does not overwrite the config file on a subsequent save", -> config.loadUserConfig() @@ -213,9 +212,9 @@ describe "Config", -> describe "when the config file does not exist", -> it "creates it with an empty object", -> - fsUtils.makeTree(config.configDirPath) + fs.makeTree(config.configDirPath) config.loadUserConfig() - expect(fsUtils.exists(config.configFilePath)).toBe true + expect(fs.exists(config.configFilePath)).toBe true expect(CSON.readFileSync(config.configFilePath)).toEqual {} describe ".observeUserConfig()", -> @@ -224,8 +223,8 @@ describe "Config", -> beforeEach -> config.configDirPath = '/tmp/dot-atom-dir' config.configFilePath = path.join(config.configDirPath, "config.cson") - expect(fsUtils.exists(config.configDirPath)).toBeFalsy() - fsUtils.writeSync(config.configFilePath, "foo: bar: 'baz'") + expect(fs.exists(config.configDirPath)).toBeFalsy() + fs.writeSync(config.configFilePath, "foo: bar: 'baz'") config.loadUserConfig() config.observeUserConfig() updatedHandler = jasmine.createSpy("updatedHandler") @@ -233,11 +232,11 @@ describe "Config", -> afterEach -> config.unobserveUserConfig() - fsUtils.remove('/tmp/dot-atom-dir') if fsUtils.exists('/tmp/dot-atom-dir') + fs.remove('/tmp/dot-atom-dir') if fs.exists('/tmp/dot-atom-dir') describe "when the config file changes to contain valid cson", -> it "updates the config data", -> - fsUtils.writeSync(config.configFilePath, "foo: { bar: 'quux', baz: 'bar'}") + fs.writeSync(config.configFilePath, "foo: { bar: 'quux', baz: 'bar'}") waitsFor 'update event', -> updatedHandler.callCount > 0 runs -> expect(config.get('foo.bar')).toBe 'quux' @@ -246,7 +245,7 @@ describe "Config", -> describe "when the config file changes to contain invalid cson", -> beforeEach -> spyOn(console, 'error') - fsUtils.writeSync(config.configFilePath, "}}}") + fs.writeSync(config.configFilePath, "}}}") waitsFor "error to be logged", -> console.error.callCount > 0 it "logs a warning and does not update config data", -> @@ -257,7 +256,7 @@ describe "Config", -> describe "when the config file subsequently changes again to contain valid cson", -> beforeEach -> - fsUtils.writeSync(config.configFilePath, "foo: bar: 'baz'") + fs.writeSync(config.configFilePath, "foo: bar: 'baz'") waitsFor 'update event', -> updatedHandler.callCount > 0 it "updates the config data and resumes saving", -> From f95669c4bd664781240a2afba6d4570ef3535682 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:34:32 -0700 Subject: [PATCH 45/89] Use relative require paths to src/ files --- spec/project-replication-spec.coffee | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/spec/project-replication-spec.coffee b/spec/project-replication-spec.coffee index 89746412a..3e6359f45 100644 --- a/spec/project-replication-spec.coffee +++ b/spec/project-replication-spec.coffee @@ -1,8 +1,7 @@ path = require 'path' {Site} = require 'telepath' -fsUtils = require 'fs-utils' -Project = require 'project' -Git = require 'git' +Project = require '../src/project' +Git = require '../src/git' describe "Project replication", -> [doc1, doc2, project1, project2] = [] From 0d88104367851435e3e8f8ca07b3696317b086d7 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:42:29 -0700 Subject: [PATCH 46/89] Store openers on instance instead of on class This allows packages to not have require access to Project just to register a custom opener and allows projects to have different sets of openers. --- spec/project-spec.coffee | 8 ++++---- src/project.coffee | 19 +++++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/spec/project-spec.coffee b/spec/project-spec.coffee index 52a46e53e..68247741e 100644 --- a/spec/project-spec.coffee +++ b/spec/project-spec.coffee @@ -70,12 +70,12 @@ describe "Project", -> fooOpener = (pathToOpen, options) -> { foo: pathToOpen, options } if pathToOpen?.match(/\.foo/) barOpener = (pathToOpen) -> { bar: pathToOpen } if pathToOpen?.match(/^bar:\/\//) - Project.registerOpener(fooOpener) - Project.registerOpener(barOpener) + project.registerOpener(fooOpener) + project.registerOpener(barOpener) afterEach -> - Project.unregisterOpener(fooOpener) - Project.unregisterOpener(barOpener) + project.unregisterOpener(fooOpener) + project.unregisterOpener(barOpener) describe "when passed a path that doesn't match a custom opener", -> describe "when given an absolute path that hasn't been opened previously", -> diff --git a/src/project.coffee b/src/project.coffee index afef4f28a..f474399a9 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -29,16 +29,6 @@ class Project # Private: @deserialize: (state) -> new Project(state) - @openers: [] - - # Public: - @registerOpener: (opener) -> - @openers.push(opener) - - # Public: - @unregisterOpener: (opener) -> - _.remove(@openers, opener) - # Public: @pathForRepositoryUrl: (repoUrl) -> [repoName] = url.parse(repoUrl).path.split('/')[-1..] @@ -48,7 +38,16 @@ class Project rootDirectory: null editSessions: null ignoredPathRegexes: null + openers: null + constructor: -> + @openers = [] + + # Public: + registerOpener: (opener) -> @openers.push(opener) + + # Public: + unregisterOpener: (opener) -> _.remove(@openers, opener) # Private: destroy: -> From 00373cd3863951031999eea694d45419d94ab859 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:45:09 -0700 Subject: [PATCH 47/89] Export ScrollView from core --- exports/atom-api.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index 77e8c8e90..c2294dd0f 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -9,3 +9,4 @@ module.exports = fs: require '../src/fs-utils' View: View RootView: require '../src/root-view' + ScrollView: require '../src/scroll-view' From a06012cf2e05395b9011ca5ae561635272864809 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:47:17 -0700 Subject: [PATCH 48/89] Remove duplicate constructor --- src/project.coffee | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/project.coffee b/src/project.coffee index f474399a9..3c143e7f0 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -40,9 +40,6 @@ class Project ignoredPathRegexes: null openers: null - constructor: -> - @openers = [] - # Public: registerOpener: (opener) -> @openers.push(opener) @@ -65,6 +62,7 @@ class Project # # path - The {String} name of the path constructor: (pathOrState) -> + @openers = [] @editSessions = [] @buffers = [] From 6690dd6942fc72adfa9ad6ffee90cbdd3692064e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 09:57:32 -0700 Subject: [PATCH 49/89] Export Subscriber from core --- exports/atom-api.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index c2294dd0f..ddd4a5b60 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -10,3 +10,4 @@ module.exports = View: View RootView: require '../src/root-view' ScrollView: require '../src/scroll-view' + Subscriber: require '../src/subscriber' From 7737ba93a867877f2fee7da1869249306260c9bc Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 10:01:28 -0700 Subject: [PATCH 50/89] :lipstick: Sort exports --- exports/atom-api.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index ddd4a5b60..b0319b625 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -7,7 +7,7 @@ module.exports = $$$: $$$ File: require '../src/file' fs: require '../src/fs-utils' - View: View RootView: require '../src/root-view' ScrollView: require '../src/scroll-view' Subscriber: require '../src/subscriber' + View: View From 53d9eaf97626919d568b0a845db45701014ef563 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 10:10:07 -0700 Subject: [PATCH 51/89] Export Editor from core --- exports/atom-api.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index b0319b625..323b8aebe 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -5,6 +5,7 @@ module.exports = $: require '../src/jquery-extensions' $$: $$ $$$: $$$ + Editor: require '../src/editor' File: require '../src/file' fs: require '../src/fs-utils' RootView: require '../src/root-view' From 32556b0ce62dfa38f40b81540f92b93f2c5fd705 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 10:10:29 -0700 Subject: [PATCH 52/89] Export BufferedNodeProcess from core --- exports/atom-api.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index 323b8aebe..c1f72c2a7 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -5,6 +5,7 @@ module.exports = $: require '../src/jquery-extensions' $$: $$ $$$: $$$ + BufferedNodeProcess: '../src/buffered-node-process' Editor: require '../src/editor' File: require '../src/file' fs: require '../src/fs-utils' From 49647ffc58c9e82c8b339eebdaa624b2dd31bdd9 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 10:20:46 -0700 Subject: [PATCH 53/89] Provide type from package This prevents packages from needing instance of checks for package class type --- src/atom-package.coffee | 2 ++ src/text-mate-package.coffee | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/atom-package.coffee b/src/atom-package.coffee index 8b8289b13..792ae7a6f 100644 --- a/src/atom-package.coffee +++ b/src/atom-package.coffee @@ -24,6 +24,8 @@ class AtomPackage extends Package resolvedMainModulePath: false mainModule: null + getType: -> 'atom' + load: -> try @metadata = Package.loadMetadata(@path) diff --git a/src/text-mate-package.coffee b/src/text-mate-package.coffee index 4e895aad6..b3cc97843 100644 --- a/src/text-mate-package.coffee +++ b/src/text-mate-package.coffee @@ -26,6 +26,8 @@ class TextMatePackage extends Package @scopedProperties = [] @metadata = {@name} + getType: -> 'textmate' + load: ({sync}={}) -> @metadata = Package.loadMetadata(@path, true) From 6146c0934a4016c12f89db184088aaae8f85f123 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 10:30:29 -0700 Subject: [PATCH 54/89] Export EventEmitter from core --- exports/atom-api.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index c1f72c2a7..cda7cab51 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -7,6 +7,7 @@ module.exports = $$$: $$$ BufferedNodeProcess: '../src/buffered-node-process' Editor: require '../src/editor' + EventEmitter: require '../src/event-emitter' File: require '../src/file' fs: require '../src/fs-utils' RootView: require '../src/root-view' From fe48ec6232c3b6986ec7c9b9d86e8a52c32e8eac Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 10:43:13 -0700 Subject: [PATCH 55/89] Export SelectList from core --- exports/atom-api.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index cda7cab51..fdac759f4 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -12,5 +12,6 @@ module.exports = fs: require '../src/fs-utils' RootView: require '../src/root-view' ScrollView: require '../src/scroll-view' + SelectList: require '../src/select-list' Subscriber: require '../src/subscriber' View: View From 6484667c6ead8d8972fdb57aa15b2f37bd213d43 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 11:23:10 -0700 Subject: [PATCH 56/89] Export Task class from core --- exports/atom-api.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index fdac759f4..2707fe26d 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -14,4 +14,5 @@ module.exports = ScrollView: require '../src/scroll-view' SelectList: require '../src/select-list' Subscriber: require '../src/subscriber' + Task: require '../src/task' View: View From a727fa5a8480b76ae202bf2d1285829f7b2abb9e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 11:29:25 -0700 Subject: [PATCH 57/89] Export Git class from core --- exports/atom-api.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index 2707fe26d..93a6cbfa8 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -10,6 +10,7 @@ module.exports = EventEmitter: require '../src/event-emitter' File: require '../src/file' fs: require '../src/fs-utils' + Git: require '../src/git' RootView: require '../src/root-view' ScrollView: require '../src/scroll-view' SelectList: require '../src/select-list' From 58367170ce8f7319e82ab3e1633ea0430b88c9a9 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 11:34:35 -0700 Subject: [PATCH 58/89] Export Directory class from core --- exports/atom-api.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index 93a6cbfa8..4beb274f0 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -6,6 +6,7 @@ module.exports = $$: $$ $$$: $$$ BufferedNodeProcess: '../src/buffered-node-process' + Directory: require '../src/directory' Editor: require '../src/editor' EventEmitter: require '../src/event-emitter' File: require '../src/file' From 8cadf8252db54a797641a69447ad66fe907d91e3 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 12:00:20 -0700 Subject: [PATCH 59/89] Use openers ivar --- src/project.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/project.coffee b/src/project.coffee index 3c143e7f0..9f6831ce2 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -190,7 +190,7 @@ class Project # Returns an {EditSession}. open: (filePath, options={}) -> filePath = @resolve(filePath) if filePath? - for opener in @constructor.openers + for opener in @openers return resource if resource = opener(filePath, options) @buildEditSessionForBuffer(@bufferForPath(filePath), options) From 47db0a7b3b7579a376193394ea39556a763f812a Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 12:06:56 -0700 Subject: [PATCH 60/89] Export pathForRepositoryUrl from core --- exports/atom-api.coffee | 2 ++ 1 file changed, 2 insertions(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index 4beb274f0..a7d2aaeca 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -1,4 +1,5 @@ {View, $$, $$$} = require '../src/space-pen-extensions' +{pathForRepositoryUrl} = require '../src/project' module.exports = _: require '../src/underscore-extensions' @@ -12,6 +13,7 @@ module.exports = File: require '../src/file' fs: require '../src/fs-utils' Git: require '../src/git' + pathForRepositoryUrl: pathForRepositoryUrl RootView: require '../src/root-view' ScrollView: require '../src/scroll-view' SelectList: require '../src/select-list' From 05505a9871031fe7ddf6da7e2463572869b7b0cc Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 12:13:56 -0700 Subject: [PATCH 61/89] Add missing require --- exports/atom-api.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index a7d2aaeca..cec24b41f 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -6,7 +6,7 @@ module.exports = $: require '../src/jquery-extensions' $$: $$ $$$: $$$ - BufferedNodeProcess: '../src/buffered-node-process' + BufferedNodeProcess: require '../src/buffered-node-process' Directory: require '../src/directory' Editor: require '../src/editor' EventEmitter: require '../src/event-emitter' From f4d8c84a8e76eacb9e9cab7a735c0bcb6c91803e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 12:20:13 -0700 Subject: [PATCH 62/89] Include stack for uncaught exceptions --- src/task-bootstrap.coffee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/task-bootstrap.coffee b/src/task-bootstrap.coffee index 42627c7cd..17bc5fe04 100644 --- a/src/task-bootstrap.coffee +++ b/src/task-bootstrap.coffee @@ -28,7 +28,8 @@ setupGlobals = -> global.window = global handleEvents = -> - process.on 'uncaughtException', (error) -> console.error(error.message) + process.on 'uncaughtException', (error) -> + console.error(error.message, error.stack) process.on 'message', ({args}) -> isAsync = false async = -> From 6791e00562cbbb3df4741130d2ae68f834829af5 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 12:52:19 -0700 Subject: [PATCH 63/89] Don't export classes that are unusable from a task Detect if a task is being run in atom-api and only export classes that are usable from that context. --- exports/atom-api.coffee | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index cec24b41f..c7af2f210 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -1,5 +1,4 @@ {View, $$, $$$} = require '../src/space-pen-extensions' -{pathForRepositoryUrl} = require '../src/project' module.exports = _: require '../src/underscore-extensions' @@ -8,15 +7,19 @@ module.exports = $$$: $$$ BufferedNodeProcess: require '../src/buffered-node-process' Directory: require '../src/directory' - Editor: require '../src/editor' EventEmitter: require '../src/event-emitter' File: require '../src/file' fs: require '../src/fs-utils' Git: require '../src/git' - pathForRepositoryUrl: pathForRepositoryUrl - RootView: require '../src/root-view' ScrollView: require '../src/scroll-view' - SelectList: require '../src/select-list' Subscriber: require '../src/subscriber' - Task: require '../src/task' View: View + +# The following classes can't be used from a Task handler and should therefore +# only be exported when not running as a child node process +unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE + module.exports.Editor = require '../src/editor' + module.exports.pathForRepositoryUrl = require('../src/project').pathForRepositoryUrl + module.exports.RootView = require '../src/root-view' + module.exports.SelectList = require '../src/select-list' + module.exports.Task = require '../src/task' From b6e112ca8dceb18a7301666bd1276d5703523517 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 13:09:58 -0700 Subject: [PATCH 64/89] Export Point and Range from telepath --- exports/atom-api.coffee | 3 +++ 1 file changed, 3 insertions(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index c7af2f210..9a5a03dcd 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -1,4 +1,5 @@ {View, $$, $$$} = require '../src/space-pen-extensions' +{Point, Range} = require 'telepath' module.exports = _: require '../src/underscore-extensions' @@ -11,6 +12,8 @@ module.exports = File: require '../src/file' fs: require '../src/fs-utils' Git: require '../src/git' + Point: Point + Range: Range ScrollView: require '../src/scroll-view' Subscriber: require '../src/subscriber' View: View From e5b2c6cd114ab565ba55493d557584e921f32d91 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 14:06:18 -0700 Subject: [PATCH 65/89] Export stringscore from vendor --- exports/atom-api.coffee | 1 + exports/stringscore.coffee | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 exports/stringscore.coffee diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index 9a5a03dcd..c3e2af9a4 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -15,6 +15,7 @@ module.exports = Point: Point Range: Range ScrollView: require '../src/scroll-view' + stringscore: require '../vendor/stringscore' Subscriber: require '../src/subscriber' View: View diff --git a/exports/stringscore.coffee b/exports/stringscore.coffee deleted file mode 100644 index fdf47692f..000000000 --- a/exports/stringscore.coffee +++ /dev/null @@ -1 +0,0 @@ -module.exports = require '../vendor/stringscore' From 51ecd515dd0b160c5553ff66b5f1f160e299e222 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 14:36:49 -0700 Subject: [PATCH 66/89] Mention why jquery shim is needed --- exports/jquery.coffee | 2 ++ 1 file changed, 2 insertions(+) diff --git a/exports/jquery.coffee b/exports/jquery.coffee index d8f06cadf..a9729eb20 100644 --- a/exports/jquery.coffee +++ b/exports/jquery.coffee @@ -1 +1,3 @@ +# FIXME Make jquery a package.json dependency +# This is needed so that space-pen can be require it as 'jquery' module.exports = require '../vendor/jquery' From 7c31710a5de59f56fb3a2c85499c02369f31b886 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 15:40:03 -0700 Subject: [PATCH 67/89] Export BufferedProcess from core --- exports/atom-api.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index c3e2af9a4..8d9cf9ce7 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -6,6 +6,7 @@ module.exports = $: require '../src/jquery-extensions' $$: $$ $$$: $$$ + BufferedProcess: require '../src/buffered-process' BufferedNodeProcess: require '../src/buffered-node-process' Directory: require '../src/directory' EventEmitter: require '../src/event-emitter' From c2d5cd9b5523dc1eedd8b166b6ce0bcf3c045e44 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 16:01:15 -0700 Subject: [PATCH 68/89] Use relative path for atom-package require --- spec/atom-spec.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/atom-spec.coffee b/spec/atom-spec.coffee index a866f6f65..47707e9f3 100644 --- a/spec/atom-spec.coffee +++ b/spec/atom-spec.coffee @@ -94,7 +94,7 @@ describe "the `atom` global", -> beforeEach -> mainModule = require './fixtures/packages/package-with-activation-events/index' spyOn(mainModule, 'activate').andCallThrough() - AtomPackage = require 'atom-package' + AtomPackage = require '../src/atom-package' spyOn(AtomPackage.prototype, 'requireMainModule').andCallThrough() pack = atom.activatePackage('package-with-activation-events') From 3197273e2107d2efe67be98ca83ea27cfee76329 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 16:08:09 -0700 Subject: [PATCH 69/89] Spy on node's fs --- spec/config-spec.coffee | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/spec/config-spec.coffee b/spec/config-spec.coffee index 7d1dd98d4..e500f9c0d 100644 --- a/spec/config-spec.coffee +++ b/spec/config-spec.coffee @@ -76,8 +76,10 @@ describe "Config", -> expect(config.getPositiveInt('editor.preferredLineLength', 80)).toBe 80 describe ".save()", -> + nodeFs = require 'fs' + beforeEach -> - spyOn(fs, 'writeFileSync') + spyOn(nodeFs, 'writeFileSync') jasmine.unspy config, 'save' describe "when ~/.atom/config.json exists", -> @@ -88,11 +90,11 @@ describe "Config", -> config.set("x.y.z", 3) config.setDefaults("a.b", e: 4, f: 5) - fs.writeFileSync.reset() + nodeFs.writeFileSync.reset() config.save() - expect(fs.writeFileSync.argsForCall[0][0]).toBe(path.join(config.configDirPath, "config.json")) - writtenConfig = JSON.parse(fs.writeFileSync.argsForCall[0][1]) + expect(nodeFs.writeFileSync.argsForCall[0][0]).toBe(path.join(config.configDirPath, "config.json")) + writtenConfig = JSON.parse(nodeFs.writeFileSync.argsForCall[0][1]) expect(writtenConfig).toEqual config.settings describe "when ~/.atom/config.json doesn't exist", -> @@ -103,12 +105,12 @@ describe "Config", -> config.set("x.y.z", 3) config.setDefaults("a.b", e: 4, f: 5) - fs.writeFileSync.reset() + nodeFs.writeFileSync.reset() config.save() - expect(fs.writeFileSync.argsForCall[0][0]).toBe(path.join(config.configDirPath, "config.cson")) + expect(nodeFs.writeFileSync.argsForCall[0][0]).toBe(path.join(config.configDirPath, "config.cson")) CoffeeScript = require 'coffee-script' - writtenConfig = CoffeeScript.eval(fs.writeFileSync.argsForCall[0][1], bare: true) + writtenConfig = CoffeeScript.eval(nodeFs.writeFileSync.argsForCall[0][1], bare: true) expect(writtenConfig).toEqual config.settings describe ".setDefaults(keyPath, defaults)", -> From 27573fe619e8a57791a5908362cc6a5d647d2107 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 16:14:54 -0700 Subject: [PATCH 70/89] Use relative require paths --- src/pane-axis.coffee | 2 +- src/pane.coffee | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pane-axis.coffee b/src/pane-axis.coffee index 262b3ad67..cfb1505f6 100644 --- a/src/pane-axis.coffee +++ b/src/pane-axis.coffee @@ -61,7 +61,7 @@ class PaneAxis extends View primitiveRemove(child) container.adjustPaneDimensions() - Pane = require 'pane' + Pane = require './pane' container.trigger 'pane:removed', [child] if child instanceof Pane detachChild: (child) -> diff --git a/src/pane.coffee b/src/pane.coffee index e1d118cbc..ab644608f 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -402,7 +402,7 @@ class Pane extends View # Private: split: (items, axis, side) -> - PaneContainer = require 'pane-container' + PaneContainer = require './pane-container' parent = @parent().view() unless parent.hasClass(axis) From bbd2f37b4ff74f36921304c4cf31faddf8badabe Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 17:07:36 -0700 Subject: [PATCH 71/89] Switch to atom-api published tags --- package.json | 65 ++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index 80c127348..3564d223e 100644 --- a/package.json +++ b/package.json @@ -46,41 +46,42 @@ "base16-tomorrow-dark-theme": "0.1.0", "solarized-dark-syntax": "0.1.0", - "archive-view": "0.5.0", - "autocomplete": "0.4.0", - "autoflow": "0.1.0", - "bookmarks": "0.2.0", - "bracket-matcher": "0.3.0", - "collaboration": "0.10.0", - "command-logger": "0.2.0", - "command-palette": "0.2.0", - "find-and-replace": "0.3.0", - "fuzzy-finder": "0.4.0", - "editor-stats": "0.1.0", + "archive-view": "atom-api", + "autocomplete": "atom-api", + "autoflow": "atom-api", + "bookmarks": "atom-api", + "bracket-matcher": "atom-api", + "collaboration": "atom-api", + "command-logger": "atom-api", + "command-panel": "0.3.0", + "command-palette": "atom-api", + "find-and-replace": "0.2.0", + "fuzzy-finder": "atom-api", + "editor-stats": "atom-api", "gfm": "0.4.0", - "git-diff": "0.2.0", - "gists": "0.1.0", - "github-sign-in": "0.1.0", - "go-to-line": "0.2.0", - "grammar-selector": "0.3.1", - "image-view": "0.3.0", - "link": "0.1.0", - "markdown-preview": "0.2.0", + "git-diff": "atom-api", + "gists": "atom-api", + "github-sign-in": "atom-api", + "go-to-line": "atom-api", + "grammar-selector": "atom-api", + "image-view": "atom-api", + "link": "atom-api", + "markdown-preview": "atom-api", "metrics": "0.1.1", - "package-generator": "0.6.0", - "settings-view": "0.18.0", - "snippets": "0.3.0", - "spell-check": "0.3.0", - "status-bar": "0.5.0", - "symbols-view": "0.4.0", - "tabs": "0.3.0", - "terminal": "0.7.0", - "to-the-hubs": "0.1.0", + "package-generator": "atom-api", + "settings-view": "atom-api", + "snippets": "atom-api", + "spell-check": "atom-api", + "status-bar": "atom-api", + "symbols-view": "atom-api", + "tabs": "atom-api", + "terminal": "atom-api", + "to-the-hubs": "atom-api", "toml": "0.2.0", - "tree-view": "0.3.0", - "ui-demo": "0.3.1", - "whitespace": "0.3.0", - "wrap-guide": "0.1.0", + "tree-view": "atom-api", + "ui-demo": "atom-api", + "whitespace": "atom-api", + "wrap-guide": "atom-api", "c-tmbundle": "1.0.0", "coffee-script-tmbundle": "6.0.0", From b4f62c8efe70797c57c44a77235307c25fe9103e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 17:15:53 -0700 Subject: [PATCH 72/89] Use atom-api tag of find-and-replace --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 3564d223e..cbcd702a8 100644 --- a/package.json +++ b/package.json @@ -53,9 +53,8 @@ "bracket-matcher": "atom-api", "collaboration": "atom-api", "command-logger": "atom-api", - "command-panel": "0.3.0", "command-palette": "atom-api", - "find-and-replace": "0.2.0", + "find-and-replace": "atom-api", "fuzzy-finder": "atom-api", "editor-stats": "atom-api", "gfm": "0.4.0", From a0fa0c760c39d7ce98771b8a88c812023470d3d2 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 18 Sep 2013 17:49:07 -0700 Subject: [PATCH 73/89] Support sending messages directly to task --- src/task-bootstrap.coffee | 4 +++- src/task.coffee | 9 ++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/task-bootstrap.coffee b/src/task-bootstrap.coffee index 17bc5fe04..4ed618d1a 100644 --- a/src/task-bootstrap.coffee +++ b/src/task-bootstrap.coffee @@ -30,7 +30,9 @@ setupGlobals = -> handleEvents = -> process.on 'uncaughtException', (error) -> console.error(error.message, error.stack) - process.on 'message', ({args}) -> + process.on 'message', ({event, args}={}) -> + return unless event is 'start' + isAsync = false async = -> isAsync = true diff --git a/src/task.coffee b/src/task.coffee index e32fc8355..07b113994 100644 --- a/src/task.coffee +++ b/src/task.coffee @@ -86,7 +86,14 @@ class Task @handleEvents() @callback = args.pop() if _.isFunction(args[args.length - 1]) - @childProcess.send({args}) + @send({event: 'start', args}) + + # Public: Send message to the task + # + # * message: + # The message to send + send: (message) -> + @childProcess.send(message) # Public: Forcefully stop the running task. # From 68f6275b7c3bfb9cec369d32cfd869afabdd6ac4 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 10:07:16 -0700 Subject: [PATCH 74/89] doc: Update event name --- src/task.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/task.coffee b/src/task.coffee index 07b113994..6d549086c 100644 --- a/src/task.coffee +++ b/src/task.coffee @@ -11,7 +11,7 @@ EventEmitter = require './event-emitter' # * task:log - Emitted when console.log is called within the task. # * task:warn - Emitted when console.warn is called within the task. # * task:error - Emitted when console.error is called within the task. -# * task:complete - Emitted when the task has succeeded or failed. +# * task:completed - Emitted when the task has succeeded or failed. module.exports = class Task _.extend @prototype, EventEmitter From a805f9a1f5963edec4c3c3f5891bd200fdb61380 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 10:13:30 -0700 Subject: [PATCH 75/89] Start doc messages with a :memo: --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 79dc31b6c..4e56232bc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,6 +23,7 @@ * Commit messages that improve the format of the code start with :lipstick: * Commit messages that improve the performance start with :racehorse: * Commit messages that remove memory leaks start with :non-potable_water: + * Commit messages that improve documentation start with :memo: * Files end with a newline * Class variables and methods should be in the following order: * Class variables (variables starting with a `@`) From 88ccafa164832aea1cae8f182d9a6f85c97d4dc9 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 10:44:18 -0700 Subject: [PATCH 76/89] Use path.join for fixtures packages path --- spec/spec-suite.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/spec-suite.coffee b/spec/spec-suite.coffee index d56b95879..749124187 100644 --- a/spec/spec-suite.coffee +++ b/spec/spec-suite.coffee @@ -18,7 +18,7 @@ measure 'spec suite require time', -> requireSpecs(path.join(window.resourcePath, 'spec')) setSpecType('core') - fixturesPackagesPath = fs.resolveOnLoadPath('fixtures/packages') + fixturesPackagesPath = path.join(__dirname, 'fixtures', 'packages') packagePaths = atom.getAvailablePackageNames().map (packageName) -> atom.resolvePackagePath(packageName) packagePaths = _.groupBy packagePaths, (packagePath) -> if packagePath.indexOf("#{fixturesPackagesPath}#{path.sep}") is 0 From d754c473fcb7ae43f1d2e6ed72e7c883a9f1c7ec Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 11:23:01 -0700 Subject: [PATCH 77/89] Simply NODE_PATH to only include exports --- src/atom-window.coffee | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/atom-window.coffee b/src/atom-window.coffee index 97c879a61..d1f7efaf1 100644 --- a/src/atom-window.coffee +++ b/src/atom-window.coffee @@ -44,15 +44,7 @@ class AtomWindow @openPath(pathToOpen, initialLine) setupNodePath: (resourcePath) -> - paths = [ - 'exports' - 'node_modules' - ] - - paths = paths.map (relativePath) -> path.resolve(resourcePath, relativePath) - paths.push(resourcePath) - - process.env['NODE_PATH'] = paths.join path.delimiter + process.env['NODE_PATH'] = path.resolve(resourcePath, 'exports') getInitialPath: -> @browserWindow.loadSettings.initialPath From 5c8b1a1f11e0c8b932ad2759f8f8d40f2f8ca385 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 11:30:10 -0700 Subject: [PATCH 78/89] Resolve CSON file using require --- spec/text-mate-grammar-spec.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/text-mate-grammar-spec.coffee b/spec/text-mate-grammar-spec.coffee index 927eea4f8..ce0dee8d8 100644 --- a/spec/text-mate-grammar-spec.coffee +++ b/spec/text-mate-grammar-spec.coffee @@ -23,7 +23,7 @@ describe "TextMateGrammar", -> expect(tokens[0]).toEqual value: "this text is so plain. i love it.", scopes: ["text.plain", "meta.paragraph.text"] it "loads grammars from cson files", -> - grammar = TextMateGrammar.loadSync(fs.resolveOnLoadPath('spec/fixtures/packages/package-with-grammars/grammars/alot.cson')) + grammar = TextMateGrammar.loadSync(require.resolve('./fixtures/packages/package-with-grammars/grammars/alot.cson')) expect(grammar.scopeName).toBe "source.alot" {tokens} = grammar.tokenizeLine("this is alot of code") expect(tokens[1]).toEqual value: "alot", scopes: ["source.alot", "keyword.alot"] From a5191e8169afd2181f67aadce1ade8635f31cbf1 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 11:33:24 -0700 Subject: [PATCH 79/89] :lipstick: Sort exports alphabetically --- exports/atom-api.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exports/atom-api.coffee b/exports/atom-api.coffee index 8d9cf9ce7..ad0750efd 100644 --- a/exports/atom-api.coffee +++ b/exports/atom-api.coffee @@ -6,8 +6,8 @@ module.exports = $: require '../src/jquery-extensions' $$: $$ $$$: $$$ - BufferedProcess: require '../src/buffered-process' BufferedNodeProcess: require '../src/buffered-node-process' + BufferedProcess: require '../src/buffered-process' Directory: require '../src/directory' EventEmitter: require '../src/event-emitter' File: require '../src/file' From 05ce975ab4e0ea6ba4b62afd5430703868ad9945 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 11:41:58 -0700 Subject: [PATCH 80/89] Use relative path to atom require --- benchmark/benchmark-bootstrap.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmark/benchmark-bootstrap.coffee b/benchmark/benchmark-bootstrap.coffee index 5a8c3d15a..18d030e62 100644 --- a/benchmark/benchmark-bootstrap.coffee +++ b/benchmark/benchmark-bootstrap.coffee @@ -1,4 +1,4 @@ -require 'atom' +require '../src/atom' {runSpecSuite} = require '../spec/jasmine-helper' atom.openDevTools() From e02a1187e140f61cd4621934a52e68c5b8a72a7e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 11:53:23 -0700 Subject: [PATCH 81/89] Rename atom-api to atom --- exports/{atom-api.coffee => atom.coffee} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename exports/{atom-api.coffee => atom.coffee} (100%) diff --git a/exports/atom-api.coffee b/exports/atom.coffee similarity index 100% rename from exports/atom-api.coffee rename to exports/atom.coffee From 7c7dc1d58571289285a08e977eac528ae7ea693a Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 12:06:41 -0700 Subject: [PATCH 82/89] Put editor-stats dependency in correct order --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cbcd702a8..2c248a8ad 100644 --- a/package.json +++ b/package.json @@ -54,9 +54,9 @@ "collaboration": "atom-api", "command-logger": "atom-api", "command-palette": "atom-api", + "editor-stats": "atom-api", "find-and-replace": "atom-api", "fuzzy-finder": "atom-api", - "editor-stats": "atom-api", "gfm": "0.4.0", "git-diff": "atom-api", "gists": "atom-api", From ed1dcceb3167ef31334afcda0387688f5d190741 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 13:48:24 -0700 Subject: [PATCH 83/89] Add Public keyword to all exported classes --- src/buffered-node-process.coffee | 2 +- src/buffered-process.coffee | 2 +- src/fs-utils.coffee | 1 + src/project.coffee | 2 +- src/subscriber.coffee | 4 ++++ 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/buffered-node-process.coffee b/src/buffered-node-process.coffee index 409a215ee..6325004de 100644 --- a/src/buffered-node-process.coffee +++ b/src/buffered-node-process.coffee @@ -1,7 +1,7 @@ BufferedProcess = require './buffered-process' path = require 'path' -# Private: Like BufferedProcess, but accepts a node script instead of an +# Public: Like BufferedProcess, but accepts a node script instead of an # executable, on Unix which allows running scripts and executables, this seems # unnecessary, but on Windows we have to separate scripts from executables since # it doesn't support shebang strings. diff --git a/src/buffered-process.coffee b/src/buffered-process.coffee index 3c5099c65..df647491d 100644 --- a/src/buffered-process.coffee +++ b/src/buffered-process.coffee @@ -2,7 +2,7 @@ ChildProcess = require 'child_process' path = require 'path' _ = require './underscore-extensions' -# Private: A wrapper which provides buffering for ChildProcess. +# Public: A wrapper which provides buffering for ChildProcess. module.exports = class BufferedProcess process: null diff --git a/src/fs-utils.coffee b/src/fs-utils.coffee index 0a3763156..96e267c11 100644 --- a/src/fs-utils.coffee +++ b/src/fs-utils.coffee @@ -6,6 +6,7 @@ async = require 'async' rimraf = require 'rimraf' path = require 'path' +# Public: Useful extensions to node's built-in fs module fsExtensions = # Make the given path absolute by resolving it against the # current working directory. diff --git a/src/project.coffee b/src/project.coffee index 9f6831ce2..fe0cc0b8c 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -29,7 +29,7 @@ class Project # Private: @deserialize: (state) -> new Project(state) - # Public: + # Public: Find the local path for the given repository URL. @pathForRepositoryUrl: (repoUrl) -> [repoName] = url.parse(repoUrl).path.split('/')[-1..] repoName = repoName.replace(/\.git$/, '') diff --git a/src/subscriber.coffee b/src/subscriber.coffee index d6335ba72..83b09babd 100644 --- a/src/subscriber.coffee +++ b/src/subscriber.coffee @@ -1,5 +1,9 @@ _ = require './underscore-extensions' +# Public: Mixin for managing subscriptions of event listeners to different objects. +# +# Support unsubscribe from all register event listeners or just the listeners +# registered on a given object. module.exports = subscribeWith: (eventEmitter, methodName, args) -> eventEmitter[methodName](args...) From d46891caf05172ec0aa0ca0121ed71109b29e035 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 13:51:53 -0700 Subject: [PATCH 84/89] Rename atom-api require to atom --- spec/atom-package-spec.coffee | 2 +- spec/atom-protocol-handler-spec.coffee | 2 +- spec/atom-spec.coffee | 2 +- spec/command-installer-spec.coffee | 2 +- spec/config-spec.coffee | 2 +- spec/directory-spec.coffee | 2 +- spec/display-buffer-spec.coffee | 2 +- spec/editor-spec.coffee | 2 +- spec/environment.coffee | 2 +- spec/event-emitter-spec.coffee | 2 +- spec/file-spec.coffee | 2 +- spec/fs-utils-spec.coffee | 2 +- spec/git-spec.coffee | 2 +- spec/jasmine-helper.coffee | 2 +- spec/jquery-extensions-spec.coffee | 2 +- spec/keymap-spec.coffee | 2 +- spec/pane-container-replication-spec.coffee | 2 +- spec/pane-container-spec.coffee | 2 +- spec/pane-spec.coffee | 2 +- spec/project-spec.coffee | 2 +- spec/root-view-spec.coffee | 2 +- spec/select-list-spec.coffee | 2 +- spec/space-pen-extensions-spec.coffee | 2 +- spec/spec-helper.coffee | 2 +- spec/spec-suite.coffee | 3 +-- spec/subscriber-spec.coffee | 2 +- spec/syntax-spec.coffee | 2 +- spec/text-buffer-spec.coffee | 2 +- spec/text-mate-grammar-spec.coffee | 2 +- spec/theme-manager-spec.coffee | 2 +- spec/time-reporter.coffee | 2 +- spec/tokenized-buffer-spec.coffee | 2 +- spec/underscore-extensions-spec.coffee | 2 +- spec/window-spec.coffee | 2 +- 34 files changed, 34 insertions(+), 35 deletions(-) diff --git a/spec/atom-package-spec.coffee b/spec/atom-package-spec.coffee index 311164016..c26d6bf2c 100644 --- a/spec/atom-package-spec.coffee +++ b/spec/atom-package-spec.coffee @@ -1,4 +1,4 @@ -{$} = require 'atom-api' +{$} = require 'atom' path = require 'path' Package = require '../src/package' diff --git a/spec/atom-protocol-handler-spec.coffee b/spec/atom-protocol-handler-spec.coffee index 028777c64..51b215716 100644 --- a/spec/atom-protocol-handler-spec.coffee +++ b/spec/atom-protocol-handler-spec.coffee @@ -1,4 +1,4 @@ -{$} = require 'atom-api' +{$} = require 'atom' describe '"atom" protocol URL', -> it 'sends the file relative in the package as response', -> diff --git a/spec/atom-spec.coffee b/spec/atom-spec.coffee index 47707e9f3..b2b5ca460 100644 --- a/spec/atom-spec.coffee +++ b/spec/atom-spec.coffee @@ -1,4 +1,4 @@ -{$, $$, fs, RootView} = require 'atom-api' +{$, $$, fs, RootView} = require 'atom' Exec = require('child_process').exec path = require 'path' diff --git a/spec/command-installer-spec.coffee b/spec/command-installer-spec.coffee index b5e0beedb..2734fb7f7 100644 --- a/spec/command-installer-spec.coffee +++ b/spec/command-installer-spec.coffee @@ -1,4 +1,4 @@ -{fs} = require 'atom-api' +{fs} = require 'atom' installer = require '../src/command-installer' describe "install(commandPath, callback)", -> diff --git a/spec/config-spec.coffee b/spec/config-spec.coffee index e500f9c0d..7e8129746 100644 --- a/spec/config-spec.coffee +++ b/spec/config-spec.coffee @@ -1,4 +1,4 @@ -{fs} = require 'atom-api' +{fs} = require 'atom' path = require 'path' CSON = require 'season' diff --git a/spec/directory-spec.coffee b/spec/directory-spec.coffee index dba7088b6..14f90ed52 100644 --- a/spec/directory-spec.coffee +++ b/spec/directory-spec.coffee @@ -1,5 +1,5 @@ Directory = require '../src/directory' -{fs} = require 'atom-api' +{fs} = require 'atom' path = require 'path' describe "Directory", -> diff --git a/spec/display-buffer-spec.coffee b/spec/display-buffer-spec.coffee index 911907c56..c5e9a4b31 100644 --- a/spec/display-buffer-spec.coffee +++ b/spec/display-buffer-spec.coffee @@ -1,5 +1,5 @@ DisplayBuffer = require '../src/display-buffer' -{_} = require 'atom-api' +{_} = require 'atom' describe "DisplayBuffer", -> [displayBuffer, buffer, changeHandler, tabLength] = [] diff --git a/spec/editor-spec.coffee b/spec/editor-spec.coffee index 728625ef7..c36811c93 100644 --- a/spec/editor-spec.coffee +++ b/spec/editor-spec.coffee @@ -1,4 +1,4 @@ -{_, $, $$, fs, RootView} = require 'atom-api' +{_, $, $$, fs, RootView} = require 'atom' Editor = require '../src/editor' {Range} = require 'telepath' path = require 'path' diff --git a/spec/environment.coffee b/spec/environment.coffee index 2505c8942..42430ee25 100644 --- a/spec/environment.coffee +++ b/spec/environment.coffee @@ -1,6 +1,6 @@ path = require 'path' {Site} = require 'telepath' -{fs} = require 'atom-api' +{fs} = require 'atom' Project = require '../src/project' module.exports = diff --git a/spec/event-emitter-spec.coffee b/spec/event-emitter-spec.coffee index 660013ca7..4ad427237 100644 --- a/spec/event-emitter-spec.coffee +++ b/spec/event-emitter-spec.coffee @@ -1,4 +1,4 @@ -{_} = require 'atom-api' +{_} = require 'atom' EventEmitter = require '../src/event-emitter' describe "EventEmitter mixin", -> diff --git a/spec/file-spec.coffee b/spec/file-spec.coffee index 82f4fed46..ccb35924a 100644 --- a/spec/file-spec.coffee +++ b/spec/file-spec.coffee @@ -1,4 +1,4 @@ -{File, fs} = require 'atom-api' +{File, fs} = require 'atom' path = require 'path' describe 'File', -> diff --git a/spec/fs-utils-spec.coffee b/spec/fs-utils-spec.coffee index 03f274a2d..755b6bbdf 100644 --- a/spec/fs-utils-spec.coffee +++ b/spec/fs-utils-spec.coffee @@ -1,4 +1,4 @@ -{fs} = require 'atom-api' +{fs} = require 'atom' path = require 'path' temp = require 'temp' diff --git a/spec/git-spec.coffee b/spec/git-spec.coffee index 3486f849f..2a972c4ca 100644 --- a/spec/git-spec.coffee +++ b/spec/git-spec.coffee @@ -1,5 +1,5 @@ Git = require '../src/git' -{fs} = require 'atom-api' +{fs} = require 'atom' path = require 'path' Task = require '../src/task' diff --git a/spec/jasmine-helper.coffee b/spec/jasmine-helper.coffee index 334658ec5..b7e70b607 100644 --- a/spec/jasmine-helper.coffee +++ b/spec/jasmine-helper.coffee @@ -1,5 +1,5 @@ module.exports.runSpecSuite = (specSuite, logErrors=true) -> - {$, $$} = require 'atom-api' + {$, $$} = require 'atom' window[key] = value for key, value of require '../vendor/jasmine' require 'jasmine-focused' diff --git a/spec/jquery-extensions-spec.coffee b/spec/jquery-extensions-spec.coffee index 59587e6cf..71a157e12 100644 --- a/spec/jquery-extensions-spec.coffee +++ b/spec/jquery-extensions-spec.coffee @@ -1,4 +1,4 @@ -{_, $, $$, View} = require 'atom-api' +{_, $, $$, View} = require 'atom' describe 'jQuery extensions', -> describe '$.fn.preempt(eventName, handler)', -> diff --git a/spec/keymap-spec.coffee b/spec/keymap-spec.coffee index 6579128ab..30a9a1f9f 100644 --- a/spec/keymap-spec.coffee +++ b/spec/keymap-spec.coffee @@ -1,5 +1,5 @@ Keymap = require '../src/keymap' -{$, $$, RootView} = require 'atom-api' +{$, $$, RootView} = require 'atom' describe "Keymap", -> fragment = null diff --git a/spec/pane-container-replication-spec.coffee b/spec/pane-container-replication-spec.coffee index fc36b9114..8455608ce 100644 --- a/spec/pane-container-replication-spec.coffee +++ b/spec/pane-container-replication-spec.coffee @@ -1,5 +1,5 @@ {Site} = require 'telepath' -{View} = require 'atom-api' +{View} = require 'atom' PaneContainer = require '../src/pane-container' Pane = require '../src/pane' Environment = require './environment' diff --git a/spec/pane-container-spec.coffee b/spec/pane-container-spec.coffee index 1f8515601..60b00cb75 100644 --- a/spec/pane-container-spec.coffee +++ b/spec/pane-container-spec.coffee @@ -1,6 +1,6 @@ PaneContainer = require '../src/pane-container' Pane = require '../src/pane' -{_, $, View, $$} = require 'atom-api' +{_, $, View, $$} = require 'atom' describe "PaneContainer", -> [TestView, container, pane1, pane2, pane3] = [] diff --git a/spec/pane-spec.coffee b/spec/pane-spec.coffee index b705d2f9a..55fa28ddf 100644 --- a/spec/pane-spec.coffee +++ b/spec/pane-spec.coffee @@ -1,6 +1,6 @@ PaneContainer = require '../src/pane-container' Pane = require '../src/pane' -{$, View} = require 'atom-api' +{$, View} = require 'atom' {dirname} = require 'path' describe "Pane", -> diff --git a/spec/project-spec.coffee b/spec/project-spec.coffee index 68247741e..0918c755f 100644 --- a/spec/project-spec.coffee +++ b/spec/project-spec.coffee @@ -1,5 +1,5 @@ Project = require '../src/project' -{_, fs} = require 'atom-api' +{_, fs} = require 'atom' path = require 'path' BufferedProcess = require '../src/buffered-process' diff --git a/spec/root-view-spec.coffee b/spec/root-view-spec.coffee index 5990e0f90..2e7abe220 100644 --- a/spec/root-view-spec.coffee +++ b/spec/root-view-spec.coffee @@ -1,4 +1,4 @@ -{$, $$, fs, RootView, View} = require 'atom-api' +{$, $$, fs, RootView, View} = require 'atom' path = require 'path' Pane = require '../src/pane' diff --git a/spec/select-list-spec.coffee b/spec/select-list-spec.coffee index 89745181d..04f53a234 100644 --- a/spec/select-list-spec.coffee +++ b/spec/select-list-spec.coffee @@ -1,5 +1,5 @@ SelectList = require '../src/select-list' -{$, $$} = require 'atom-api' +{$, $$} = require 'atom' describe "SelectList", -> [selectList, array, list, miniEditor] = [] diff --git a/spec/space-pen-extensions-spec.coffee b/spec/space-pen-extensions-spec.coffee index 2260a55df..8ae85f814 100644 --- a/spec/space-pen-extensions-spec.coffee +++ b/spec/space-pen-extensions-spec.coffee @@ -1,4 +1,4 @@ -{View, $$} = require 'atom-api' +{View, $$} = require 'atom' describe "SpacePen extensions", -> class TestView extends View diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee index e3d8a401b..1714b459f 100644 --- a/spec/spec-helper.coffee +++ b/spec/spec-helper.coffee @@ -4,7 +4,7 @@ window.restoreDimensions() require '../vendor/jasmine-jquery' path = require 'path' -{_, $, File, RootView, fs} = require 'atom-api' +{_, $, File, RootView, fs} = require 'atom' Keymap = require '../src/keymap' Config = require '../src/config' {Point} = require 'telepath' diff --git a/spec/spec-suite.coffee b/spec/spec-suite.coffee index 749124187..f4482d5ec 100644 --- a/spec/spec-suite.coffee +++ b/spec/spec-suite.coffee @@ -1,7 +1,6 @@ measure 'spec suite require time', -> - {_, fs} = require 'atom-api' + {_, fs, Git} = require 'atom' path = require 'path' - Git = require '../src/git' require './spec-helper' requireSpecs = (specDirectory, specType) -> diff --git a/spec/subscriber-spec.coffee b/spec/subscriber-spec.coffee index 2e2a70ea6..1f00b8b86 100644 --- a/spec/subscriber-spec.coffee +++ b/spec/subscriber-spec.coffee @@ -1,6 +1,6 @@ Subscriber = require '../src/subscriber' EventEmitter = require '../src/event-emitter' -{_, $$} = require 'atom-api' +{_, $$} = require 'atom' describe "Subscriber", -> [emitter1, emitter2, emitter3, event1Handler, event2Handler, event3Handler, subscriber] = [] diff --git a/spec/syntax-spec.coffee b/spec/syntax-spec.coffee index 38688b862..f09087a37 100644 --- a/spec/syntax-spec.coffee +++ b/spec/syntax-spec.coffee @@ -1,4 +1,4 @@ -{fs} = require 'atom-api' +{fs} = require 'atom' TextMateGrammar = require '../src/text-mate-grammar' describe "the `syntax` global", -> diff --git a/spec/text-buffer-spec.coffee b/spec/text-buffer-spec.coffee index 833c438f2..bb715a467 100644 --- a/spec/text-buffer-spec.coffee +++ b/spec/text-buffer-spec.coffee @@ -1,4 +1,4 @@ -{_, fs} = require 'atom-api' +{_, fs} = require 'atom' path = require 'path' {Site} = require 'telepath' diff --git a/spec/text-mate-grammar-spec.coffee b/spec/text-mate-grammar-spec.coffee index ce0dee8d8..d8cf67f23 100644 --- a/spec/text-mate-grammar-spec.coffee +++ b/spec/text-mate-grammar-spec.coffee @@ -1,6 +1,6 @@ TextMateGrammar = require '../src/text-mate-grammar' TextMatePackage = require '../src/text-mate-package' -{_, fs} = require 'atom-api' +{_, fs} = require 'atom' describe "TextMateGrammar", -> grammar = null diff --git a/spec/theme-manager-spec.coffee b/spec/theme-manager-spec.coffee index 4c39c28e9..4db1ff67a 100644 --- a/spec/theme-manager-spec.coffee +++ b/spec/theme-manager-spec.coffee @@ -1,4 +1,4 @@ -{$} = require 'atom-api' +{$} = require 'atom' ThemeManager = require '../src/theme-manager' AtomPackage = require '../src/atom-package' diff --git a/spec/time-reporter.coffee b/spec/time-reporter.coffee index 67d367b02..49ef984c0 100644 --- a/spec/time-reporter.coffee +++ b/spec/time-reporter.coffee @@ -1,4 +1,4 @@ -{_} = require 'atom-api' +{_} = require 'atom' module.exports = class TimeReporter extends jasmine.Reporter diff --git a/spec/tokenized-buffer-spec.coffee b/spec/tokenized-buffer-spec.coffee index 5b16fdf07..bf9d15581 100644 --- a/spec/tokenized-buffer-spec.coffee +++ b/spec/tokenized-buffer-spec.coffee @@ -1,5 +1,5 @@ TokenizedBuffer = require '../src/tokenized-buffer' -{_} = require 'atom-api' +{_} = require 'atom' describe "TokenizedBuffer", -> [tokenizedBuffer, buffer, changeHandler] = [] diff --git a/spec/underscore-extensions-spec.coffee b/spec/underscore-extensions-spec.coffee index dc674de33..d108474aa 100644 --- a/spec/underscore-extensions-spec.coffee +++ b/spec/underscore-extensions-spec.coffee @@ -1,4 +1,4 @@ -{_} = require 'atom-api' +{_} = require 'atom' describe "underscore extensions", -> describe "_.adviseBefore", -> diff --git a/spec/window-spec.coffee b/spec/window-spec.coffee index aa86b2975..1522d6ec4 100644 --- a/spec/window-spec.coffee +++ b/spec/window-spec.coffee @@ -1,4 +1,4 @@ -{$, $$, fs} = require 'atom-api' +{$, $$, fs} = require 'atom' path = require 'path' WindowEventHandler = require '../src/window-event-handler' From 21a3df202c27a71906064ed0c54d046195e944d4 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 14:30:39 -0700 Subject: [PATCH 85/89] Compile and lint exports folder --- Gruntfile.coffee | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Gruntfile.coffee b/Gruntfile.coffee index ede7470c1..b8d215040 100644 --- a/Gruntfile.coffee +++ b/Gruntfile.coffee @@ -22,6 +22,7 @@ module.exports = (grunt) -> expand: true src: [ 'src/**/*.coffee' + 'exports/**/*.coffee' 'static/**/*.coffee' ] dest: appDir @@ -89,6 +90,7 @@ module.exports = (grunt) -> level: 'ignore' src: [ 'dot-atom/**/*.coffee' + 'exports/**/*.coffee' 'src/**/*.coffee' 'tasks/**/*.coffee' 'Gruntfile.coffee' From 6a0fcc93309993f3d8be6137f371ee73c06e7371 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 19 Sep 2013 16:57:48 -0700 Subject: [PATCH 86/89] Verify style.theme instead of style.userTheme This caused specs to fail locally but not on CI since CI has not user theme --- spec/theme-manager-spec.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/theme-manager-spec.coffee b/spec/theme-manager-spec.coffee index 4db1ff67a..039db6910 100644 --- a/spec/theme-manager-spec.coffee +++ b/spec/theme-manager-spec.coffee @@ -30,7 +30,7 @@ describe "ThemeManager", -> themeManager.load() config.set('core.themes', []) - expect($('style.userTheme').length).toBe 0 + expect($('style.theme').length).toBe 0 expect(reloadHandler).toHaveBeenCalled() config.set('core.themes', ['atom-dark-syntax']) From 571bf5f9ea5888719980e2cd6361e4d61f692b34 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 20 Sep 2013 11:04:52 -0700 Subject: [PATCH 87/89] Resolve bootstrap scripts against dev resource path --- src/atom-application.coffee | 12 ++++++++++-- src/main.coffee | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/atom-application.coffee b/src/atom-application.coffee index 41007a12f..f22756889 100644 --- a/src/atom-application.coffee +++ b/src/atom-application.coffee @@ -276,13 +276,21 @@ class AtomApplication if resourcePath isnt @resourcePath and not fs.existsSync(resourcePath) resourcePath = @resourcePath - bootstrapScript = require.resolve('../spec/spec-bootstrap') + try + bootstrapScript = require.resolve(path.resolve(global.devResourcePath, 'spec', 'spec-bootstrap')) + catch error + bootstrapScript = require.resolve(path.resolve(__dirname, '..', 'spec', 'spec-bootstrap')) + isSpec = true devMode = true new AtomWindow({bootstrapScript, resourcePath, exitWhenDone, isSpec, devMode, specDirectory}) runBenchmarks: -> - bootstrapScript = 'benchmark/benchmark-bootstrap' + try + bootstrapScript = require.resolve(path.resolve(global.devResourcePath, 'benchmark', 'benchmark-bootstrap')) + catch error + bootstrapScript = require.resolve(path.resolve(__dirname, '..', 'benchmark', 'benchmark-bootstrap')) + isSpec = true # Needed because this flag adds the spec directory to the NODE_PATH new AtomWindow({bootstrapScript, @resourcePath, isSpec}) diff --git a/src/main.coffee b/src/main.coffee index 3b72edaab..fda609044 100644 --- a/src/main.coffee +++ b/src/main.coffee @@ -42,8 +42,8 @@ delegate.browserMainParts.preMainMessageLoopRun = -> args.pathsToOpen = args.pathsToOpen.map (pathToOpen) -> path.resolve(args.executedFrom ? process.cwd(), pathToOpen) + require('coffee-script') if args.devMode - require('coffee-script') require(path.join(args.resourcePath, 'src', 'coffee-cache')) require('module').globalPaths.push(path.join(args.resourcePath, 'src')) else From 80239223dbdca93a9f13eaaf0d0d42ddda557b34 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 20 Sep 2013 12:38:39 -0700 Subject: [PATCH 88/89] Upgrade to published package versions --- package.json | 64 ++++++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index 2c248a8ad..185832899 100644 --- a/package.json +++ b/package.json @@ -46,41 +46,41 @@ "base16-tomorrow-dark-theme": "0.1.0", "solarized-dark-syntax": "0.1.0", - "archive-view": "atom-api", - "autocomplete": "atom-api", - "autoflow": "atom-api", - "bookmarks": "atom-api", - "bracket-matcher": "atom-api", - "collaboration": "atom-api", - "command-logger": "atom-api", - "command-palette": "atom-api", - "editor-stats": "atom-api", - "find-and-replace": "atom-api", - "fuzzy-finder": "atom-api", + "archive-view": "0.6.0", + "autocomplete": "0.5.0", + "autoflow": "0.2.0", + "bookmarks": "0.3.0", + "bracket-matcher": "0.4.0", + "collaboration": "0.11.0", + "command-logger": "0.3.0", + "command-palette": "0.3.0", + "editor-stats": "0.2.0", + "find-and-replace": "0.4.0", + "fuzzy-finder": "0.5.0", "gfm": "0.4.0", - "git-diff": "atom-api", - "gists": "atom-api", - "github-sign-in": "atom-api", - "go-to-line": "atom-api", - "grammar-selector": "atom-api", - "image-view": "atom-api", - "link": "atom-api", - "markdown-preview": "atom-api", + "git-diff": "0.3.0", + "gists": "0.2.0", + "github-sign-in": "0.2.0", + "go-to-line": "0.3.0", + "grammar-selector": "0.4.0", + "image-view": "0.4.0", + "link": "0.2.0", + "markdown-preview": "0.3.0", "metrics": "0.1.1", - "package-generator": "atom-api", - "settings-view": "atom-api", - "snippets": "atom-api", - "spell-check": "atom-api", - "status-bar": "atom-api", - "symbols-view": "atom-api", - "tabs": "atom-api", - "terminal": "atom-api", - "to-the-hubs": "atom-api", + "package-generator": "0.7.0", + "settings-view": "0.19.0", + "snippets": "0.4.0", + "spell-check": "0.4.0", + "status-bar": "0.6.0", + "symbols-view": "0.5.0", + "tabs": "0.4.0", + "terminal": "0.4.0", + "to-the-hubs": "0.3.0", "toml": "0.2.0", - "tree-view": "atom-api", - "ui-demo": "atom-api", - "whitespace": "atom-api", - "wrap-guide": "atom-api", + "tree-view": "0.4.0", + "ui-demo": "0.4.0", + "whitespace": "0.4.0", + "wrap-guide": "0.2.0", "c-tmbundle": "1.0.0", "coffee-script-tmbundle": "6.0.0", From 9a54c25fcaa955f957a0cdeb45b79cd6601d91cb Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 20 Sep 2013 12:43:40 -0700 Subject: [PATCH 89/89] Upgrade to terminal@0.8.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 185832899..95ba0b694 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "status-bar": "0.6.0", "symbols-view": "0.5.0", "tabs": "0.4.0", - "terminal": "0.4.0", + "terminal": "0.8.0", "to-the-hubs": "0.3.0", "toml": "0.2.0", "tree-view": "0.4.0",