Skip to content

Single executable application: setting disableExperimentalSEAWarning has no effect #50547

Closed
@subfuzion

Description

@subfuzion

Version

20.1.0

Platform

Darwin odin 23.1.0 Darwin Kernel Version 23.1.0: Mon Oct 9 21:28:45 PDT 2023; root:xnu-10002.41.9~6/RELEASE_ARM64_T6020 arm64

Subsystem

Single executable applications

What steps will reproduce the bug?

The same steps from the documentation for creating a single executable application, with the addition of setting the disableExperimentalSEAWarning flag.

echo 'console.log(`Hello, ${process.argv[2]}!`);' > hello.js
echo '{ "main": "hello.js", "output": "sea-prep.blob", "disableExperimentalSEAWarning": true }' > sea-config.json
node --experimental-sea-config  sea-config.json
cp $(command -v node) hello
codesign --remove-signature hello
npx postject hello NODE_SEA_BLOB sea-prep.blob \
    --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 \
    --macho-segment-name NODE_SEA
codesign --sign - hello

How often does it reproduce? Is there a required condition?

Every time.

What is the expected behavior? Why is that the expected behavior?

According to documentation here, the experimental warning when running the executable can be suppressed with configuration:

sea-config.json

{
  "main": "bundle.js",
  "output": "app.blob",
  "disableExperimentalSEAWarning": true
}

What do you see instead?

$ ./hello sea
Hello, sea!
(node:54533) ExperimentalWarning: Single executable application is an experimental feature and might change at any time
(Use `hello --trace-warnings ...` to show where the warning was created)

Additional information

Using the following environment variables to suppress the warning does work:

  • NODE_NO_WARNINGS=1 ./hello
  • NODE_OPTIONS=--no-warnings ./hello

However, I'd like the configuration to work for suppressing the warning.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions