demo___customer_pitch-c4152739-a50b-4b5b-9d4d-0561461666d9.zip-extract/_dependencies/npm/loose-envify-1.4.0/replace.js

Path
demo___customer_pitch-c4152739-a50b-4b5b-9d4d-0561461666d9.zip-extract/_dependencies/npm/loose-envify-1.4.0/replace.js
Status
scanned
Type
file
Name
replace.js
Extension
.js
Programming language
JavaScript
Mime type
text/plain
File type
ASCII text
Tag

      
    
Rootfs path

      
    
Size
1532 (1.5 KB)
MD5
dcc84b8796171c9609f0cc750c254477
SHA1
80aaa29b4cdec74288a71d2d79e86d49d3f2781c
SHA256
9a6e83da6f2ca08a5f88064181e8cdbff71086767dcd440e423e6e14b7a571ba
SHA512

      
    
SHA1_git
ec15e81c298e9753accffac697a51eca424fec07
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
replace.js | 1.5 KB |

'use strict'; var jsTokens = require('js-tokens').default; var processEnvRe = /\bprocess\.env\.[_$a-zA-Z][$\w]+\b/; var spaceOrCommentRe = /^(?:\s|\/[/*])/; function replace(src, envs) { if (!processEnvRe.test(src)) { return src; } var out = []; var purge = envs.some(function(env) { return env._ && env._.indexOf('purge') !== -1; }); jsTokens.lastIndex = 0 var parts = src.match(jsTokens); for (var i = 0; i < parts.length; i++) { if (parts[i ] === 'process' && parts[i + 1] === '.' && parts[i + 2] === 'env' && parts[i + 3] === '.') { var prevCodeToken = getAdjacentCodeToken(-1, parts, i); var nextCodeToken = getAdjacentCodeToken(1, parts, i + 4); var replacement = getReplacementString(envs, parts[i + 4], purge); if (prevCodeToken !== '.' && nextCodeToken !== '.' && nextCodeToken !== '=' && typeof replacement === 'string') { out.push(replacement); i += 4; continue; } } out.push(parts[i]); } return out.join(''); } function getAdjacentCodeToken(dir, parts, i) { while (true) { var part = parts[i += dir]; if (!spaceOrCommentRe.test(part)) { return part; } } } function getReplacementString(envs, name, purge) { for (var j = 0; j < envs.length; j++) { var env = envs[j]; if (typeof env[name] !== 'undefined') { return JSON.stringify(env[name]); } } if (purge) { return 'undefined'; } } module.exports = replace;
Package URL License Primary language
pkg:npm/acme-demo-app@1.0.0 JavaScript
pkg:npm/loose-envify@1.4.0 mit JavaScript