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); + } +});