From 3eaa0f412ecbf172b6ebc709419be270987754fe Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Tue, 27 Dec 2016 08:38:18 -0700 Subject: [PATCH] Opinionated defines --- package/package.json | 2 +- package/readme.md | 4 ++-- transforms/module.js | 57 ++++++++------------------------------------ 3 files changed, 13 insertions(+), 50 deletions(-) diff --git a/package/package.json b/package/package.json index 5575d9a321..db40fddf01 100644 --- a/package/package.json +++ b/package/package.json @@ -1,6 +1,6 @@ { "name": "ol", - "version": "3.21.0-beta.8", + "version": "3.21.0-beta.10", "description": "OpenLayers", "main": "index.js", "module": "index.js", diff --git a/package/readme.md b/package/readme.md index cba32e5f66..d141397e76 100644 --- a/package/readme.md +++ b/package/readme.md @@ -1,6 +1,6 @@ # `ol` -[OpenLayers](https://openlayers.org/) for CommonJS module loaders. +[OpenLayers](https://openlayers.org/) for module loaders. **Note: This is still a work in progress. Not yet ready for production.** @@ -18,7 +18,7 @@ import View from 'ol/View'; import TileLayer from 'ol/layer/Tile'; import OSM from 'ol/source/OSM'; -var map = new OLMap({ +var map = new Map({ target: 'map', layers: [ new TileLayer({ diff --git a/transforms/module.js b/transforms/module.js index 5acf4d396d..b0c8485e9e 100644 --- a/transforms/module.js +++ b/transforms/module.js @@ -1,5 +1,9 @@ const pkg = require('../package.json'); -const defineLookup = require('../build/defines.json'); + +const defines = { + 'ol.DEBUG': false, + 'ol.ENABLE_WEBGL': false +}; function rename(name) { const parts = name.split('.'); @@ -69,26 +73,6 @@ function getGoogExpressionStatement(identifier) { }; } -const defineStatement = { - type: 'ExpressionStatement', - expression: { - type: 'AssignmentExpression', - left: { - type: 'MemberExpression', - object: { - type: 'Identifier', - name: 'ol' - }, - property: { - type: 'Identifier' - } - }, - right: { - type: 'Literal' - } - } -}; - const defineMemberExpression = { type: 'MemberExpression', object: { @@ -131,37 +115,16 @@ module.exports = function(info, api) { const replacements = {}; - // replace assignments defines (e.g. ol.FOO = true -> window.OL_FOO = true) - root.find(j.ExpressionStatement, defineStatement) - .filter(path => { - const expression = path.value.expression; - const defineName = `${expression.left.object.name}.${expression.left.property.name}`; - return defineName in defineLookup; - }) - .replaceWith(path => { - const expression = path.value.expression; - const defineName = `${expression.left.object.name}.${expression.left.property.name}`; - const comments = path.value.comments; - const statement = j.expressionStatement( - j.assignmentExpression('=', - j.memberExpression(j.identifier('window'), j.identifier(renameDefine(defineName))), - j.literal(expression.right.value) - ) - ); - statement.comments = comments; - return statement; - }); - - // replace all uses of defines with renamed define + // replace all uses of defines root.find(j.MemberExpression, defineMemberExpression) .filter(path => { const node = path.value; - const defineName = `${node.object.name}.${node.property.name}`; - return defineName in defineLookup; + const name = `${node.object.name}.${node.property.name}`; + return (name in defines) && path.parentPath.value.type !== 'AssignmentExpression'; }) .replaceWith(path => { - const defineName = `${path.value.object.name}.${path.value.property.name}`; - return j.memberExpression(j.identifier('window'), j.identifier(renameDefine(defineName))); + const name = `${path.value.object.name}.${path.value.property.name}`; + return j.literal(defines[name]); }); // replace goog.provide()