diff --git a/package.json b/package.json index 314b4f5dfa..b5a6550135 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 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 new file mode 100644 index 0000000000..97e5e3006a --- /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(/goog\.provide\('.*\.([^']*)'\);$/); + if (match && match.length) { + const 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); + } +}); 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'; }