From d0e9fd68ff1fadc795f67de73d2ec3e7a3e8805d Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Tue, 12 Sep 2017 15:30:58 +0200 Subject: [PATCH 1/4] Rename files so the case matches the module name --- package.json | 3 ++- tasks/filename-case-from-module.js | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 tasks/filename-case-from-module.js diff --git a/package.json b/package.json index d7bcf1ad5a..b68a71faeb 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,10 @@ "debug-server": "node tasks/serve-lib.js", "karma": "node tasks/test.js start test/karma.config.js", "transform-src": "jscodeshift --transform transforms/module.js src", + "changecase-src": "node tasks/filename-case-from-module.js", "transform-examples": "jscodeshift --transform transforms/module.js examples", "transform-test": "jscodeshift --transform transforms/module.js test", - "transform": "npm run transform-src && npm run transform-examples && npm run transform-test && npm run lint -- --fix" + "transform": "npm run transform-src && npm run changecase-src && npm run transform-examples && npm run transform-test && npm run lint -- --fix" }, "main": "dist/ol.js", "repository": { diff --git a/tasks/filename-case-from-module.js b/tasks/filename-case-from-module.js new file mode 100644 index 0000000000..1e74774624 --- /dev/null +++ b/tasks/filename-case-from-module.js @@ -0,0 +1,29 @@ +const glob = require('glob'); +const fs = require('fs'); +const path = require('path'); + +glob('src/**/*.js', {}, function(err, files) { + if (!err) { + process.stdout.write(`Checking ${files.length} files...\n`); + let renamed = 0; + files.forEach(function(filename) { + const contents = fs.readFileSync(filename, 'utf-8'); + const lines = contents.split('\n'); + for (let i = lines.length - 1; i >= 0; --i) { + const line = lines[i]; + const match = line.match(/export default _.*_([^;]*)_;$/); + if (match && match.length) { + var newName = match[1] + '.js'; + if (newName != newName.toLowerCase()) { + fs.renameSync(filename, path.resolve(path.dirname(filename), newName)); + ++renamed; + } + } + } + }); + process.stdout.write(`Renamed ${renamed} files.\n`); + } else { + process.stdout.write(err.message); + process.exit(1); + } +}); From e876003684596418894c83728dc4d8590cc2b96e Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Tue, 12 Sep 2017 15:33:23 +0200 Subject: [PATCH 2/4] Use the correct name in imports --- tasks/filename-case-from-module.js | 2 +- transforms/module.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/filename-case-from-module.js b/tasks/filename-case-from-module.js index 1e74774624..7bbcb2bd62 100644 --- a/tasks/filename-case-from-module.js +++ b/tasks/filename-case-from-module.js @@ -13,7 +13,7 @@ glob('src/**/*.js', {}, function(err, files) { const line = lines[i]; const match = line.match(/export default _.*_([^;]*)_;$/); if (match && match.length) { - var newName = match[1] + '.js'; + const newName = match[1] + '.js'; if (newName != newName.toLowerCase()) { fs.renameSync(filename, path.resolve(path.dirname(filename), newName)); ++renamed; diff --git a/transforms/module.js b/transforms/module.js index ca09221344..6c71ca7735 100644 --- a/transforms/module.js +++ b/transforms/module.js @@ -57,7 +57,7 @@ function resolve(fromName, toName) { } const back = new Array(fromLength - commonDepth).join('../') || './'; - let relative = back + toParts.slice(commonDepth).join('/').toLowerCase(); + let relative = back + toParts.slice(commonDepth).join('/'); if (relative.endsWith('/')) { relative += 'index'; } From 549902804241ab9c3dd198f1f210600c7b50d307 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Tue, 12 Sep 2017 21:13:58 +0200 Subject: [PATCH 3/4] Rename before running transform --- package.json | 2 +- tasks/filename-case-from-module.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b68a71faeb..3e8992dc24 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "changecase-src": "node tasks/filename-case-from-module.js", "transform-examples": "jscodeshift --transform transforms/module.js examples", "transform-test": "jscodeshift --transform transforms/module.js test", - "transform": "npm run transform-src && npm run changecase-src && npm run transform-examples && npm run transform-test && npm run lint -- --fix" + "transform": "npm run changecase-src && npm run transform-src && npm run transform-examples && npm run transform-test && npm run lint -- --fix" }, "main": "dist/ol.js", "repository": { diff --git a/tasks/filename-case-from-module.js b/tasks/filename-case-from-module.js index 7bbcb2bd62..97e5e3006a 100644 --- a/tasks/filename-case-from-module.js +++ b/tasks/filename-case-from-module.js @@ -11,7 +11,7 @@ glob('src/**/*.js', {}, function(err, files) { const lines = contents.split('\n'); for (let i = lines.length - 1; i >= 0; --i) { const line = lines[i]; - const match = line.match(/export default _.*_([^;]*)_;$/); + const match = line.match(/goog\.provide\('.*\.([^']*)'\);$/); if (match && match.length) { const newName = match[1] + '.js'; if (newName != newName.toLowerCase()) { From 1d84bc52c6740fe98e7d17fce86fe1612f9040b3 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Wed, 13 Sep 2017 08:26:44 +0200 Subject: [PATCH 4/4] Use node 8.4 in Travis until JSDoc is fixed See https://github.com/jsdoc3/jsdoc/issues/1438. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8849be3542..bfaa3592bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ sudo: false language: node_js node_js: -- '8' +- '8.4' cache: directories: - node_modules