diff --git a/.gitignore b/.gitignore index e02a067..e65999f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ node_modules test_data +data +light config.json diff --git a/deploy-light.js b/deploy-light.js new file mode 100644 index 0000000..33d5d28 --- /dev/null +++ b/deploy-light.js @@ -0,0 +1,27 @@ +#!/usr/bin/env node + +'use strict'; + +// SYNC THE `light` FOLDER +require('child_process').execSync('rsync -av --exclude="light" --exclude=".git" --exclude="node_modules" --delete . light', { + stdio: 'inherit' +}); + +// PATCH `package.json` +var fs = require('fs'); +var packageJson = require('./package'); + +packageJson.name += '-light'; +delete packageJson.dependencies['canvas']; +delete packageJson.dependencies['mapbox-gl-native']; +delete packageJson.dependencies['sharp']; + +delete packageJson.devDependencies; + +var str = JSON.stringify(packageJson, undefined, 2); +fs.writeFileSync('light/package.json', str); + +// PUBLISH +require('child_process').execSync('npm publish light', { + stdio: 'inherit' +}); diff --git a/src/server.js b/src/server.js index bb5d000..57fc48f 100644 --- a/src/server.js +++ b/src/server.js @@ -17,11 +17,16 @@ var base64url = require('base64url'), var packageJson = require('../package'), serve_font = require('./serve_font'), - serve_rendered = require('./serve_rendered'), + serve_rendered = null, serve_style = require('./serve_style'), serve_data = require('./serve_data'), utils = require('./utils'); +if (packageJson.name.slice(-6) !== '-light') { + // do not require `serve_rendered` in the light package + serve_rendered = require('./serve_rendered'); +} + module.exports = function(opts, callback) { console.log('Starting TileServer-GL v' + packageJson.version); @@ -100,8 +105,12 @@ module.exports = function(opts, callback) { })); } if (item.serve_rendered !== false) { - app.use('/styles/' + id + '/', - serve_rendered(options, serving.rendered, item, id)); + if (serve_rendered) { + app.use('/styles/' + id + '/', + serve_rendered(options, serving.rendered, item, id)); + } else { + item.serve_rendered = false; + } } });