From 0e1cc87f6611b60fc17b3ba53bc6da5d89dcf565 Mon Sep 17 00:00:00 2001 From: Stefan Penner Date: Tue, 2 Jun 2015 17:54:38 -0700 Subject: [PATCH] extract clean-base-url to its own module --- lib/broccoli/ember-app.js | 2 +- lib/tasks/server/express-server.js | 2 +- .../middleware/history-support/index.js | 2 +- .../server/middleware/serve-files/index.js | 2 +- .../server/middleware/tests-server/index.js | 2 +- lib/utilities/clean-base-url.js | 22 ------------------- package.json | 1 + tests/unit/utilities/clean-base-url-test.js | 19 ---------------- 8 files changed, 6 insertions(+), 46 deletions(-) delete mode 100644 lib/utilities/clean-base-url.js delete mode 100644 tests/unit/utilities/clean-base-url-test.js diff --git a/lib/broccoli/ember-app.js b/lib/broccoli/ember-app.js index 955d6d84d4..4c0432ce64 100644 --- a/lib/broccoli/ember-app.js +++ b/lib/broccoli/ember-app.js @@ -12,7 +12,7 @@ var escapeRegExp = require('escape-string-regexp'); var EOL = require('os').EOL; var Project = require('../models/project'); -var cleanBaseURL = require('../utilities/clean-base-url'); +var cleanBaseURL = require('clean-base-url'); var SilentError = require('../errors/silent'); var preprocessJs = p.preprocessJs; diff --git a/lib/tasks/server/express-server.js b/lib/tasks/server/express-server.js index 2d86bf035d..4910c82a90 100644 --- a/lib/tasks/server/express-server.js +++ b/lib/tasks/server/express-server.js @@ -10,7 +10,7 @@ var Promise = require('../../ext/promise'); var Task = require('../../models/task'); var SilentError = require('../../errors/silent'); -var cleanBaseURL = require('../../utilities/clean-base-url'); +var cleanBaseURL = require('clean-base-url'); module.exports = Task.extend({ init: function() { diff --git a/lib/tasks/server/middleware/history-support/index.js b/lib/tasks/server/middleware/history-support/index.js index 7fbfb6ae43..d2d95ec673 100644 --- a/lib/tasks/server/middleware/history-support/index.js +++ b/lib/tasks/server/middleware/history-support/index.js @@ -3,7 +3,7 @@ var path = require('path'); var fs = require('fs'); -var cleanBaseURL = require('../../../../utilities/clean-base-url'); +var cleanBaseURL = require('clean-base-url'); function HistorySupportAddon(project) { this.project = project; diff --git a/lib/tasks/server/middleware/serve-files/index.js b/lib/tasks/server/middleware/serve-files/index.js index dc21804301..65ef99017a 100644 --- a/lib/tasks/server/middleware/serve-files/index.js +++ b/lib/tasks/server/middleware/serve-files/index.js @@ -1,6 +1,6 @@ 'use strict'; -var cleanBaseURL = require('../../../../utilities/clean-base-url'); +var cleanBaseURL = require('clean-base-url'); var debug = require('debug')('ember-cli:serve-files'); function ServeFilesAddon(project) { diff --git a/lib/tasks/server/middleware/tests-server/index.js b/lib/tasks/server/middleware/tests-server/index.js index cb961b0f94..22e02c1a08 100644 --- a/lib/tasks/server/middleware/tests-server/index.js +++ b/lib/tasks/server/middleware/tests-server/index.js @@ -1,6 +1,6 @@ 'use strict'; -var cleanBaseURL = require('../../../../utilities/clean-base-url'); +var cleanBaseURL = require('clean-base-url'); var fs = require('fs'); var path = require('path'); diff --git a/lib/utilities/clean-base-url.js b/lib/utilities/clean-base-url.js deleted file mode 100644 index 5e672887c2..0000000000 --- a/lib/utilities/clean-base-url.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var url = require('url'); - -module.exports = function(baseURL) { - // return undefined if not a string or empty string - if (typeof baseURL !== 'string') { return; } - - // Makes sure it starts and ends with a slash - if (baseURL[baseURL.length - 1] !== '/') { baseURL = baseURL + '/'; } - - var parsedURL = url.parse(baseURL); - if (parsedURL.path[0] !== '/') { - parsedURL.path = '/' + parsedURL.path; - } - - if (!parsedURL.host && !parsedURL.protocol) { - return parsedURL.path; - } else { - return parsedURL.href; - } -}; diff --git a/package.json b/package.json index 75905e1158..de97953f53 100644 --- a/package.json +++ b/package.json @@ -84,6 +84,7 @@ "broccoli-unwatched-tree": "0.1.1", "broccoli-writer": "0.1.1", "chalk": "1.0.0", + "clean-base-url": "^1.0.0", "compression": "^1.4.4", "concat-stream": "^1.4.7", "configstore": "0.3.2", diff --git a/tests/unit/utilities/clean-base-url-test.js b/tests/unit/utilities/clean-base-url-test.js deleted file mode 100644 index 75455a7260..0000000000 --- a/tests/unit/utilities/clean-base-url-test.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict'; - -var cleanBaseURL = require('../../../lib/utilities/clean-base-url'); -var expect = require('chai').expect; - -describe('cleanBaseURL()', function() { - it('should transfrom baseURL correctly', function() { - expect(cleanBaseURL('')).to.equal('/'); - expect(cleanBaseURL('/')).to.equal('/'); - expect(cleanBaseURL('ember')).to.equal('/ember/'); - expect(cleanBaseURL('/ember')).to.equal('/ember/'); - expect(cleanBaseURL('ember/')).to.equal('/ember/'); - expect(cleanBaseURL('/ember/')).to.equal('/ember/'); - expect(cleanBaseURL('ember/hamsters')).to.equal('/ember/hamsters/'); - expect(cleanBaseURL('/ember/hamsters/')).to.equal('/ember/hamsters/'); - expect(cleanBaseURL('app://localhost')).to.equal('app://localhost/'); - expect(cleanBaseURL('app://localhost/')).to.equal('app://localhost/'); - }); -});