aboutsummaryrefslogtreecommitdiff
path: root/node_modules/envify/custom.js
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:43:05 +0800
committerruki <waruqi@gmail.com>2018-11-07 22:18:30 +0800
commit89e95b3f143682ed9a006991bacf45c9dcba4818 (patch)
tree4f44cf41b828577d583890bdd5a1c31e8491a6ba /node_modules/envify/custom.js
parentaa7f0199255277949790b41c56e8ec97dd4f0da4 (diff)
downloadxmake-docs-vuepress.tar.gz
xmake-docs-vuepress.zip
remove node_modulesvuepress
Diffstat (limited to 'node_modules/envify/custom.js')
-rw-r--r--node_modules/envify/custom.js91
1 files changed, 0 insertions, 91 deletions
diff --git a/node_modules/envify/custom.js b/node_modules/envify/custom.js
deleted file mode 100644
index 981ee834..00000000
--- a/node_modules/envify/custom.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var esprima = require('esprima')
- , through = require('through')
-
-var processEnvPattern = /\bprocess\.env\b/
-
-module.exports = function(rootEnv) {
- rootEnv = rootEnv || process.env || {}
-
- return function envify(file, argv) {
- if (/\.json$/.test(file)) return through()
-
- var Syntax = esprima.Syntax
- var buffer = []
- argv = argv || {}
-
- return through(write, flush)
-
- function write(data) {
- buffer.push(data)
- }
-
- function transform(source, envs) {
- var args = [].concat(envs[0]._ || []).concat(envs[1]._ || [])
- var purge = args.indexOf('purge') !== -1
- var replacements = []
-
- function match(node) {
- return (
- node.type === Syntax.MemberExpression
- && node.object.type === Syntax.MemberExpression
- && node.object.computed === false
- && node.object.object.type === Syntax.Identifier
- && node.object.object.name === 'process'
- && node.object.property.type === Syntax.Identifier
- && node.object.property.name === 'env'
- && (node.computed ? node.property.type === Syntax.Literal : node.property.type === Syntax.Identifier)
- )
- }
-
- esprima.parse(source, { tolerant: true }, function(node, meta) {
- if (match(node)) {
- var key = node.property.name || node.property.value
- for (var i = 0; i < envs.length; i++) {
- var value = envs[i][key]
- if (value !== undefined) {
- replacements.push({ node: node, meta: meta, value: JSON.stringify(value) })
- return
- }
- }
- if (purge) {
- replacements.push({ node: node, meta: meta, value: undefined })
- }
- } else if (node.type === Syntax.AssignmentExpression) {
- for (var i = 0; i < replacements.length; ++i) {
- if (replacements[i].node === node.left) {
- replacements.splice(i, 1)
- }
- }
- }
- })
-
- var result = source
- if (replacements.length > 0) {
- replacements.sort(function (a, b) {
- return b.meta.start.offset - a.meta.start.offset
- })
- for (var i = 0; i < replacements.length; i++) {
- var r = replacements[i]
- result = result.slice(0, r.meta.start.offset) + r.value + result.slice(r.meta.end.offset)
- }
- }
-
- return result
- }
-
- function flush() {
- var source = buffer.join('')
-
- if (processEnvPattern.test(source)) {
- try {
- source = transform(source, [argv, rootEnv])
- } catch(err) {
- return this.emit('error', err)
- }
- }
-
- this.queue(source)
- this.queue(null)
- }
- }
-}