From 658ef3872c65aafa88d2aa11a95bfd7de9bc3b87 Mon Sep 17 00:00:00 2001 From: hojas Date: Tue, 20 Mar 2018 13:55:05 +0800 Subject: [PATCH 1/2] remove `browser` This makes the module or the render function is undefined after bundled with webpack or other bundlers, I think remove `browser` will be better for modularized frontend development. If you do not agree, just close the request. Sorry for my poor English. --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 9e729c3..6c25cff 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,6 @@ "author": "Ivan Voischev ", "license": "MIT", "main": "lib/index.js", - "browser": "lib/browser.min.js", "files": [ "lib" ], From c1d766b757260c65a08b7e5d8aeb184b2d16a0f9 Mon Sep 17 00:00:00 2001 From: hojas Date: Tue, 20 Mar 2018 21:25:47 +0800 Subject: [PATCH 2/2] delete browser.min.js --- lib/browser.min.js | 2 -- lib/browser.min.js.map | 1 - package.json | 7 +------ rollup.config.js | 19 ------------------- 4 files changed, 1 insertion(+), 28 deletions(-) delete mode 100644 lib/browser.min.js delete mode 100644 lib/browser.min.js.map delete mode 100644 rollup.config.js diff --git a/lib/browser.min.js b/lib/browser.min.js deleted file mode 100644 index 38a9058..0000000 --- a/lib/browser.min.js +++ /dev/null @@ -1,2 +0,0 @@ -var render=function(){"use strict";function t(t){var e="";for(var n in t)"boolean"==typeof t[n]&&t[n]?e+=" "+n:"string"!=typeof t[n]&&"number"!=typeof t[n]||(e+=" "+n+'="'+t[n]+'"');return e}function e(t,n){if(Array.isArray(t))for(var r=0,a=t.length;r";break;case"slash":r+=" />";break;default:r+=">"}else r+="<"+n+(e.attrs?t(e.attrs):"")+">"+(e.content?o(e.content):"")+""}}else r+=e}),r}a=a||{};var i=n.concat(a.singleTags||[]),c=i.filter(function(t){return t instanceof RegExp&&t}),f=a.closingSingleTag;return o(r)}}(); -//# sourceMappingURL=browser.min.js.map diff --git a/lib/browser.min.js.map b/lib/browser.min.js.map deleted file mode 100644 index 0396f7f..0000000 --- a/lib/browser.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"browser.min.js","sources":["index.js"],"sourcesContent":["var SINGLE_TAGS = [\n 'area',\n 'base',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'menuitem',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n // Custom (PostHTML)\n 'import',\n 'include',\n 'extend',\n 'component'\n]\n\n/**\n * Render PostHTML Tree to HTML\n *\n * @param {Array|Object} tree PostHTML Tree\n * @param {Object} options Options\n *\n * @return {String} HTML\n */\nfunction render (tree, options) {\n /**\n * Options\n *\n * @type {Object}\n *\n * @prop {Array} singleTags Custom single tags (selfClosing)\n * @prop {String} closingSingleTag Closing format for single tag\n *\n * Formats:\n *\n * ``` tag: `

` ```, slash: `
` ```, ```default: `
` ```\n */\n options = options || {}\n\n var singleTags = SINGLE_TAGS.concat(options.singleTags || [])\n var singleRegExp = singleTags.filter(function (tag) {\n return tag instanceof RegExp ? tag : false\n })\n\n var closingSingleTag = options.closingSingleTag\n\n return html(tree)\n\n /**\n * HTML Stringifier\n *\n * @param {Array|Object} tree PostHTML Tree\n *\n * @return {String} result HTML\n */\n function html (tree) {\n var result = ''\n\n traverse([].concat(tree), function (node) {\n if (!node) return\n\n if (typeof node === 'string' || typeof node === 'number') {\n result += node\n\n return\n }\n\n if (typeof node.tag === 'boolean' && !node.tag) {\n typeof node.content !== 'object' && (result += node.content)\n\n return node.content\n }\n\n // treat as new root tree if node is an array\n if (Array.isArray(node)) {\n result += html(node)\n\n return\n }\n\n var tag = node.tag || 'div'\n\n if (isSingleTag(tag, singleTags, singleRegExp)) {\n result += '<' + tag + attrs(node.attrs)\n\n switch (closingSingleTag) {\n case 'tag':\n result += '>'\n\n break\n case 'slash':\n result += ' />'\n\n break\n default:\n result += '>'\n }\n } else {\n result += '<' + tag + (node.attrs ? attrs(node.attrs) : '') + '>' + (node.content ? html(node.content) : '') + ''\n }\n })\n\n return result\n }\n}\n\n/**\n * @module posthtml-render\n *\n * @version 1.0.7\n * @license MIT\n */\nmodule.exports = render\n\n/** @private */\nfunction attrs (obj) {\n var attr = ''\n\n for (var key in obj) {\n if (typeof obj[key] === 'boolean' && obj[key]) {\n attr += ' ' + key\n } else if (\n typeof obj[key] === 'string' ||\n typeof obj[key] === 'number'\n ) {\n attr += ' ' + key + '=\"' + obj[key] + '\"'\n }\n }\n\n return attr\n}\n\n/** @private */\nfunction traverse (tree, cb) {\n if (Array.isArray(tree)) {\n for (var i = 0, length = tree.length; i < length; i++) {\n traverse(cb(tree[i]), cb)\n }\n } else if (typeof tree === 'object' && tree.hasOwnProperty('content')) {\n traverse(tree.content, cb)\n }\n\n return tree\n}\n\n/** @private */\nfunction isSingleTag (tag, singleTags, singleRegExp) {\n if (singleRegExp.length) {\n for (var i = 0; i < singleRegExp.length; i++) {\n return tag.match(singleRegExp[i]) ? true : false\n }\n }\n\n if (singleTags.indexOf(tag) === -1) {\n return false\n }\n\n return true\n}\n"],"names":["attrs","obj","attr","key","traverse","tree","cb","Array","isArray","i","length","hasOwnProperty","content","SINGLE_TAGS","options","html","result","concat","node","tag","singleTags","singleRegExp","match","indexOf","isSingleTag","closingSingleTag","filter","RegExp"],"mappings":"mCA4HA,SAASA,EAAOC,GACd,IAAIC,EAAO,GAEX,IAAK,IAAIC,KAAOF,EACU,kBAAbA,EAAIE,IAAsBF,EAAIE,GACvCD,GAAQ,IAAMC,EAEM,iBAAbF,EAAIE,IACS,iBAAbF,EAAIE,KAEXD,GAAQ,IAAMC,EAAM,KAAOF,EAAIE,GAAO,KAI1C,OAAOD,EAIT,SAASE,EAAUC,EAAMC,GACvB,GAAIC,MAAMC,QAAQH,GAChB,IAAK,IAAII,EAAI,EAAGC,EAASL,EAAKK,OAAQD,EAAIC,EAAQD,IAChDL,EAASE,EAAGD,EAAKI,IAAKH,OAEC,iBAATD,GAAqBA,EAAKM,eAAe,YACzDP,EAASC,EAAKO,QAASN,GAGzB,OAAOD,EAvJT,IAAIQ,GACF,OACA,OACA,KACA,MACA,UACA,QACA,KACA,MACA,QACA,SACA,OACA,WACA,OACA,QACA,SACA,QACA,MAEA,SACA,UACA,SACA,oBAWF,SAAiBR,EAAMS,GA+BrB,SAASC,EAAMV,GACb,IAAIW,EAAS,GA8Cb,OA5CAZ,KAAYa,OAAOZ,GAAO,SAAUa,GAClC,GAAKA,EAEL,GAAoB,iBAATA,GAAqC,iBAATA,EAAvC,CAMA,GAAwB,kBAAbA,EAAKC,MAAsBD,EAAKC,IAGzC,MAFwB,iBAAjBD,EAAKN,UAAyBI,GAAUE,EAAKN,SAE7CM,EAAKN,QAId,GAAIL,MAAMC,QAAQU,GAChBF,GAAUD,EAAKG,OADjB,CAMA,IAAIC,EAAMD,EAAKC,KAAO,MAEtB,GAgEN,SAAsBA,EAAKC,EAAYC,GACrC,GAAIA,EAAaX,OACf,IAAK,IAAID,EAAI,EAAGA,EAAIY,EAAaX,OAAQD,IACvC,QAAOU,EAAIG,MAAMD,EAAaZ,IAIlC,OAAiC,IAA7BW,EAAWG,QAAQJ,GAvEfK,CAAYL,EAAKC,EAAYC,GAG/B,OAFAL,GAAU,IAAMG,EAAMnB,EAAMkB,EAAKlB,OAEzByB,GACN,IAAK,MACHT,GAAU,MAAQG,EAAM,IAExB,MACF,IAAK,QACHH,GAAU,MAEV,MACF,QACEA,GAAU,SAGdA,GAAU,IAAMG,GAAOD,EAAKlB,MAAQA,EAAMkB,EAAKlB,OAAS,IAAM,KAAOkB,EAAKN,QAAUG,EAAKG,EAAKN,SAAW,IAAM,KAAOO,EAAM,UApC5HH,GAAUE,IAwCPF,EAjETF,EAAUA,MAEV,IAAIM,EAAaP,EAAYI,OAAOH,EAAQM,gBACxCC,EAAeD,EAAWM,OAAO,SAAUP,GAC7C,OAAOA,aAAeQ,QAASR,IAG7BM,EAAmBX,EAAQW,iBAE/B,OAAOV,EAAKV"} \ No newline at end of file diff --git a/package.json b/package.json index 6c25cff..55fa7b0 100644 --- a/package.json +++ b/package.json @@ -13,18 +13,13 @@ "jsdoc-to-markdown": "^3.0.0", "mocha": "^3.0.0", "nyc": "^10.0.0", - "rollup": "^0.54.0", - "rollup-plugin-commonjs": "^8.0.0", - "rollup-plugin-uglify": "^2.0.0", "standard": "^10.0.0", - "standard-version": "^4.0.0", - "uglify-es": "^3.0.0" + "standard-version": "^4.0.0" }, "scripts": { "lint": "standard --env mocha", "test": "nyc node_modules/mocha/bin/_mocha", "docs": "jsdoc2md lib/*.js > RENDER.md", - "build": "rollup -c", "clean": "rm -rf .nyc_output coverage", "release": "npm run build && standard-version" }, diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index 8583e8c..0000000 --- a/rollup.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { minify } from 'uglify-es' -import cjs from 'rollup-plugin-commonjs' -import uglify from 'rollup-plugin-uglify' - -const env = !process.env.ROLLUP_WATCH - -export default { - input: 'lib/index.js', - output: { - file: 'lib/browser.min.js', - name: 'render', - format: 'iife', - sourcemap: true - }, - plugins: [ - cjs(), - env && uglify({}, minify) - ] -}