first commit

This commit is contained in:
2025-10-26 23:10:15 +08:00
commit 8f0345b7be
14961 changed files with 2356381 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "./errors/expression.error"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createEnvProviderState = createEnvProviderState;
exports.createEnvProvider = createEnvProvider;
const expression_error_1 = require("./errors/expression.error");
/**
* Captures a snapshot of the environment variables and configuration
* that can be used to initialize an environment provider.
*/
function createEnvProviderState() {
const isProcessAvailable = typeof process !== 'undefined';
const isEnvAccessBlocked = isProcessAvailable
? process.env.N8N_BLOCK_ENV_ACCESS_IN_NODE === 'true'
: false;
const env = !isProcessAvailable || isEnvAccessBlocked ? {} : process.env;
return {
isProcessAvailable,
isEnvAccessBlocked,
env,
};
}
/**
* Creates a proxy that provides access to the environment variables
* in the `WorkflowDataProxy`. Use the `createEnvProviderState` to
* create the default state object that is needed for the proxy,
* unless you need something specific.
*
* @example
* createEnvProvider(
* runIndex,
* itemIndex,
* createEnvProviderState(),
* )
*/
function createEnvProvider(runIndex, itemIndex, providerState) {
return new Proxy({}, {
has() {
return true;
},
get(_, name) {
if (name === 'isProxy')
return true;
if (!providerState.isProcessAvailable) {
throw new expression_error_1.ExpressionError('not accessible via UI, please run node', {
runIndex,
itemIndex,
});
}
if (providerState.isEnvAccessBlocked) {
throw new expression_error_1.ExpressionError('access to env vars denied', {
causeDetailed: 'If you need access please contact the administrator to remove the environment variable N8N_BLOCK_ENV_ACCESS_IN_NODE',
runIndex,
itemIndex,
});
}
return providerState.env[name.toString()];
},
});
}
});
//# sourceMappingURL=workflow-data-proxy-env-provider.js.map