Loading Gruntfile.js +61 −7 Original line number Diff line number Diff line var buildDefs = require('./buildDefs'); module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), Loading @@ -23,6 +25,13 @@ module.exports = function(grunt) { "http://"+(process.env.IP||"127.0.0.1")+":"+(process.env.PORT||"8080")+"/test/opt.html" ] } }, amd:{ options: { urls: [//my ide requries process.env.IP and PORT "http://"+(process.env.IP||"127.0.0.1")+":"+(process.env.PORT||"8080")+"/test/amd.html" ] } } }, jshint: { Loading @@ -39,20 +48,56 @@ module.exports = function(grunt) { define: true } }, all: [ './src/*.js','./src/projCode/*.js','./src/defs/*.js'] all: [ './src/*.js','./src/projCode/*.js'] }, requirejs: { compile: { custom:{ options:{ out: "./dist/proj4.custom.js", baseUrl: "./src", //name: "proj4", wrap: { startFile: 'almond/top.frag', endFile: 'almond/end.frag' }, name: '../almond/almond', include: ['proj4'], optimize:'uglify2', uglify2:{ mangle: true }, preserveLicenseComments: false } }, reg:{ options:{ out: "./dist/proj4.js", baseUrl: "./src", //name: "proj4", out: "./dist/proj4.amd.js", wrap: { startFile: 'almond/top.frag', endFile: 'almond/end.frag' }, name: '../almond/almond', include: ['proj4'] include: ['proj4'], optimize:'uglify2', uglify2:{ mangle: true }, preserveLicenseComments: false } }, amd:{ options:{ out: "./dist/amd/proj4.js", baseUrl: "./src", name: "proj4", //include: ['proj4'], optimize:'none', uglify2:{ mangle: true }, preserveLicenseComments: false } } } Loading @@ -62,5 +107,14 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-contrib-connect'); grunt.loadNpmTasks('grunt-mocha-phantomjs'); grunt.registerTask('test', ['connect', 'mocha_phantomjs:before']); grunt.registerTask('default', ['jshint','test','requirejs','mocha_phantomjs:after']); grunt.registerTask('defs',function(){ var defs = grunt.option('defs'); if(defs && defs.indexOf(',')>-1){ defs = defs.split(','); } buildDefs.defs(defs); }); grunt.registerTask('amd',['defs','jshint','requirejs:amd','connect','mocha_phantomjs:amd']); grunt.registerTask('build',['defs','jshint','requirejs:custom']); grunt.registerTask('default', ['defs','jshint','test','requirejs:reg','mocha_phantomjs:after']); } almond/top.frag +4 −1 Original line number Diff line number Diff line (function (root, factory) { /* global module: false */ if (typeof define === 'function' && define.amd) { define(factory); } else if(typeof module !== 'undefined'){ module.exports = factory(); }else { root.proj4 = factory(); } Loading buildDefs.js 0 → 100644 +89 −0 Original line number Diff line number Diff line var defaultLocals = require('./src/defs/defaultLocals'); var top = "define(function(require, exports, module) {module.exports = function(defs) {defs("; var end = ")}});"; var pTop = "define(function(require, exports) {"; var pBottom = "});" var projes = { aea: "exports.aea = require('./projCode/aea');", lcc: "exports.lcc = require('./projCode/lcc');", utm: "exports.utm = require('./projCode/utm');", aeqd: "exports.aeqd = require('./projCode/aeqd');", eqdc: "exports.eqdc = require('./projCode/eqdc');", merc: "exports.merc = require('./projCode/merc');", poly: "exports.poly = require('./projCode/poly');", mill: "exports.mill = require('./projCode/mill');", cea: "exports.cea = require('./projCode/cea');", krovak: "exports.krovak = require('./projCode/krovak');", sterea: "exports.sterea = require('./projCode/sterea');", laea: "exports.laea = require('./projCode/laea');", cass: "exports.cass = require('./projCode/cass');", eqc: "exports.eqc = require('./projCode/eqc');", tmerc: "exports.tmerc = require('./projCode/tmerc');", longlat: "exports.longlat = require('./projCode/longlat');exports.identity=exports.longlat;", somerc: "exports.somerc = require('./projCode/somerc');", sinu: "exports.sinu = require('./projCode/sinu');", stere: "exports.stere = require('./projCode/stere');", gnom: "exports.gnom = require('./projCode/gnom');", omerc: "exports.omerc = require('./projCode/omerc');", nzmg: "exports.nzmg = require('./projCode/nzmg');", moll: "exports.moll = require('./projCode/moll');", vandg: "exports.vandg = require('./projCode/vandg');" }; var fs = require('fs'); function buildDefs(defs) { if (!defs) { return writeDefs(defaultLocals); } else if (typeof defs === 'string') { return writeDefs(defaultLocals.filter(filterString(defs))); } else { return writeDefs(defaultLocals.filter(filterArray(defs))); } } function writeDefs(defs) { writeProjes(defs); fs.writeFileSync('./src/defs/local.js', top + JSON.stringify(defs) + end, 'utf8'); } function writeProjes(defs) { var out = {}; defs.forEach(function(d) { if (d.projName && (d.projName in projes)) { out[d.projName] = projes[d.projName]; } }); out.longlat = projes.longlat; out.identity = out.longlat; var outString = pTop; for (var key in out) { outString += out[key]; } outString += pBottom; fs.writeFileSync('./src/projections.js', outString, 'utf8'); } function filterString(string) { var key = string.split(':')[0]; var value = string.split(':')[1]; return function(obj) { return (key in obj) && obj[key] === value; }; } function filterArray(array) { var funcArray = array.map(filterString); return function(obj) { return funcArray.some(function(f) { return f(obj); }); }; } exports.defs = buildDefs; src/Proj.js +0 −14 Original line number Diff line number Diff line Loading @@ -20,20 +20,6 @@ define(function(require, exports, module) { var constants = require('./constants'); var datum = require('./datum'); var projections = require('./projections'); projections.longlat = { init: function() { //no-op for longlat }, forward: function(pt) { //identity transform return pt; }, inverse: function(pt) { //identity transform return pt; } }; projections.identity = projections.longlat; var proj = function(srsCode) { this.srsCodeInput = srsCode; Loading src/defs/local.js→src/defs/defaultLocals.json +4730 −4400 File changed and moved.Preview size limit exceeded, changes collapsed. Show changes Loading
Gruntfile.js +61 −7 Original line number Diff line number Diff line var buildDefs = require('./buildDefs'); module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), Loading @@ -23,6 +25,13 @@ module.exports = function(grunt) { "http://"+(process.env.IP||"127.0.0.1")+":"+(process.env.PORT||"8080")+"/test/opt.html" ] } }, amd:{ options: { urls: [//my ide requries process.env.IP and PORT "http://"+(process.env.IP||"127.0.0.1")+":"+(process.env.PORT||"8080")+"/test/amd.html" ] } } }, jshint: { Loading @@ -39,20 +48,56 @@ module.exports = function(grunt) { define: true } }, all: [ './src/*.js','./src/projCode/*.js','./src/defs/*.js'] all: [ './src/*.js','./src/projCode/*.js'] }, requirejs: { compile: { custom:{ options:{ out: "./dist/proj4.custom.js", baseUrl: "./src", //name: "proj4", wrap: { startFile: 'almond/top.frag', endFile: 'almond/end.frag' }, name: '../almond/almond', include: ['proj4'], optimize:'uglify2', uglify2:{ mangle: true }, preserveLicenseComments: false } }, reg:{ options:{ out: "./dist/proj4.js", baseUrl: "./src", //name: "proj4", out: "./dist/proj4.amd.js", wrap: { startFile: 'almond/top.frag', endFile: 'almond/end.frag' }, name: '../almond/almond', include: ['proj4'] include: ['proj4'], optimize:'uglify2', uglify2:{ mangle: true }, preserveLicenseComments: false } }, amd:{ options:{ out: "./dist/amd/proj4.js", baseUrl: "./src", name: "proj4", //include: ['proj4'], optimize:'none', uglify2:{ mangle: true }, preserveLicenseComments: false } } } Loading @@ -62,5 +107,14 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-contrib-connect'); grunt.loadNpmTasks('grunt-mocha-phantomjs'); grunt.registerTask('test', ['connect', 'mocha_phantomjs:before']); grunt.registerTask('default', ['jshint','test','requirejs','mocha_phantomjs:after']); grunt.registerTask('defs',function(){ var defs = grunt.option('defs'); if(defs && defs.indexOf(',')>-1){ defs = defs.split(','); } buildDefs.defs(defs); }); grunt.registerTask('amd',['defs','jshint','requirejs:amd','connect','mocha_phantomjs:amd']); grunt.registerTask('build',['defs','jshint','requirejs:custom']); grunt.registerTask('default', ['defs','jshint','test','requirejs:reg','mocha_phantomjs:after']); }
almond/top.frag +4 −1 Original line number Diff line number Diff line (function (root, factory) { /* global module: false */ if (typeof define === 'function' && define.amd) { define(factory); } else if(typeof module !== 'undefined'){ module.exports = factory(); }else { root.proj4 = factory(); } Loading
buildDefs.js 0 → 100644 +89 −0 Original line number Diff line number Diff line var defaultLocals = require('./src/defs/defaultLocals'); var top = "define(function(require, exports, module) {module.exports = function(defs) {defs("; var end = ")}});"; var pTop = "define(function(require, exports) {"; var pBottom = "});" var projes = { aea: "exports.aea = require('./projCode/aea');", lcc: "exports.lcc = require('./projCode/lcc');", utm: "exports.utm = require('./projCode/utm');", aeqd: "exports.aeqd = require('./projCode/aeqd');", eqdc: "exports.eqdc = require('./projCode/eqdc');", merc: "exports.merc = require('./projCode/merc');", poly: "exports.poly = require('./projCode/poly');", mill: "exports.mill = require('./projCode/mill');", cea: "exports.cea = require('./projCode/cea');", krovak: "exports.krovak = require('./projCode/krovak');", sterea: "exports.sterea = require('./projCode/sterea');", laea: "exports.laea = require('./projCode/laea');", cass: "exports.cass = require('./projCode/cass');", eqc: "exports.eqc = require('./projCode/eqc');", tmerc: "exports.tmerc = require('./projCode/tmerc');", longlat: "exports.longlat = require('./projCode/longlat');exports.identity=exports.longlat;", somerc: "exports.somerc = require('./projCode/somerc');", sinu: "exports.sinu = require('./projCode/sinu');", stere: "exports.stere = require('./projCode/stere');", gnom: "exports.gnom = require('./projCode/gnom');", omerc: "exports.omerc = require('./projCode/omerc');", nzmg: "exports.nzmg = require('./projCode/nzmg');", moll: "exports.moll = require('./projCode/moll');", vandg: "exports.vandg = require('./projCode/vandg');" }; var fs = require('fs'); function buildDefs(defs) { if (!defs) { return writeDefs(defaultLocals); } else if (typeof defs === 'string') { return writeDefs(defaultLocals.filter(filterString(defs))); } else { return writeDefs(defaultLocals.filter(filterArray(defs))); } } function writeDefs(defs) { writeProjes(defs); fs.writeFileSync('./src/defs/local.js', top + JSON.stringify(defs) + end, 'utf8'); } function writeProjes(defs) { var out = {}; defs.forEach(function(d) { if (d.projName && (d.projName in projes)) { out[d.projName] = projes[d.projName]; } }); out.longlat = projes.longlat; out.identity = out.longlat; var outString = pTop; for (var key in out) { outString += out[key]; } outString += pBottom; fs.writeFileSync('./src/projections.js', outString, 'utf8'); } function filterString(string) { var key = string.split(':')[0]; var value = string.split(':')[1]; return function(obj) { return (key in obj) && obj[key] === value; }; } function filterArray(array) { var funcArray = array.map(filterString); return function(obj) { return funcArray.some(function(f) { return f(obj); }); }; } exports.defs = buildDefs;
src/Proj.js +0 −14 Original line number Diff line number Diff line Loading @@ -20,20 +20,6 @@ define(function(require, exports, module) { var constants = require('./constants'); var datum = require('./datum'); var projections = require('./projections'); projections.longlat = { init: function() { //no-op for longlat }, forward: function(pt) { //identity transform return pt; }, inverse: function(pt) { //identity transform return pt; } }; projections.identity = projections.longlat; var proj = function(srsCode) { this.srsCodeInput = srsCode; Loading
src/defs/local.js→src/defs/defaultLocals.json +4730 −4400 File changed and moved.Preview size limit exceeded, changes collapsed. Show changes