这是indexloc提供的服务,不要输入任何密码
Skip to content

params.defineList is always parsed as undefined in v6 #1773

@joelnwalkley

Description

@joelnwalkley

Related issues

I searched but did not find any

[REQUIRED] Version info

node: v22.21.0 (via nvm)

firebase-functions: 6.6.0

firebase-tools: 14.25.0

firebase-admin: 13.6.0

[REQUIRED] Test case

// runtimeConfig.ts
export const allowedOrigins = params.defineList('ALLOWED_ORIGINS');

// used in a function file
import * as config from '../runtimeConfig';
// I know this isn't "supposed" to be here, but needed a call outside of the function signature to get access to the cors content. I also tried to resolve it first in onInit but that was also unsuccessful.

const allowedOrigins = config.allowedOrigins;

export const loginToPortal = functions.https.onRequest(
{ cors: allowedOrigins as unknown as string[], secrets: config.noteableSecrets },
async (request, response) => {...}

// .env.projectId
// I tried many variations of an array syntax here including just a string, comma separated, surround with single quotes, etc. Nothing worked
ALLOWED_ORIGINS=["https://mywebsite.com", "https://app.mywebsite.com"]

[REQUIRED] Steps to reproduce

Run:
firebase deploy --only functions

[REQUIRED] Expected behavior

A successful deploy (which does work when I return to functions v5 and admin v12)

[REQUIRED] Actual behavior

This did not produce a firebase-debug.log file.

➜ firebase deploy --only functions

=== Deploying to ''...

i deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run build

build
npm run lint && tsc

lint
eslint

  • functions: Finished running predeploy script.
    i functions: preparing codebase default for deployment
    i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
    i functions: ensuring required API cloudbuild.googleapis.com is enabled...
    i artifactregistry: ensuring required API artifactregistry.googleapis.com is enabled...
    ! functions: package.json indicates an outdated version of firebase-functions. Please upgrade using npm install --save firebase-functions@latest in your functions directory.
    ! functions: Please note that there will be breaking changes when you upgrade.
    i functions: Loading and analyzing source code for codebase default to determine what to deploy
    Serving at port 8910

{"severity":"WARNING","message":"params.ALLOWED_ORIGINS.value() invoked during function deployment, instead of during runtime."}

{"severity":"WARNING","message":"This is usually a mistake. In configs, use Params directly without calling .value()."}
{"severity":"WARNING","message":"example: { memory: memoryParam } not { memory: memoryParam.value() }"}

SyntaxError: "undefined" is not valid JSON
at JSON.parse ()
at ListParam.runtimeValue (C:\Users\me\RiderProjects\Portal\functions\node_modules\firebase-functions\lib\params\types.js:420:26)
at ListParam.value (C:\Users\me\RiderProjects\Portal\functions\node_modules\firebase-functions\lib\params\types.js:39:21)
at Object.onRequest (C:\Users\me\RiderProjects\Portal\functions\node_modules\firebase-functions\lib\v2\providers\https.js:72:75)
at Object. (C:\Users\me\RiderProjects\Portal\functions\lib\portal\function-name.js:14:41)
at Module._compile (node:internal/modules/cjs/loader:1706:14)
at Object..js (node:internal/modules/cjs/loader:1839:10)
at Module.load (node:internal/modules/cjs/loader:1441:32)
at Function._load (node:internal/modules/cjs/loader:1263:12)
at TracingChannel.traceSync (node:diagnostics_channel:328:14)

Error: Functions codebase could not be analyzed successfully. It may have a syntax or runtime error

Were you able to successfully deploy your functions?

no

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions