production builds failing in ember 3.0.0.beta.5: broccoliBuilderErrorStack: TypeError: name.definition is not a function
Nobody has claimed this yet.
- #60 by @0xadada — closed without merging
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- javascript
- Domain
- build-system
Research direction
Start with the reproduction at mirai-audio/mir commit 7bc4b65df5d01e085c98122c8c8a79542a26dad9 and run ember build -e production. Read ember-cli-build.js, the ember-cli-uglify configuration, and the UglifyWriter error path; compare the failing compressed build with the compress: false workaround. Done means production builds complete with compression enabled without the reported TypeError.
Written by the indexing model from the issue text.
Description
production builds started failing when I upgraded to ember 3.0.0.beta.2
ember build -e production
cleaning up...
Build failed.
Build Error (UglifyWriter)
name.definition is not a function
Stack Trace and Error Report: /var/folders/ss/sjsdtptn7j1cc6y_x8lbc3ch0000gnT/error.dump.84a92b54f2b31e423fbac3414a0600c9.log
/var/folders/ss/sjsdtptn7j1cc6y_x8lbc3ch0000gn/T/error.dump.84a92b54f2b31e423fbac3414a0600c9.log
=================================================================================
ENV Summary:
TIME: Sat Feb 03 2018 13:15:30 GMT-0500 (EST)
TITLE: ember
ARGV:
- /Users/x/.nvm/versions/node/v8.9.3/bin/node
- /usr/local/bin/ember
- build
- -e
- production
EXEC_PATH: /Users/ron/.nvm/versions/node/v8.9.3/bin/node
TMPDIR: /var/folders/ss/sjsdtptn7j1cc6y_x8lbc3ch0000gn/T
SHELL: /usr/local/bin/bash
PATH:
- /Users/x/.pyenv/shims
- /Users/x/.rvm/gems/ruby-head/bin
- /Users/x/.rvm/gems/ruby-head@global/bin
- /Users/x/.rvm/rubies/ruby-head/bin
- /Users/x/.nvm/versions/node/lts/*/bin
- /Users/x/.nvm/versions/node/v8.9.3/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /usr/local/MacGPG2/bin
- /Users/x/bin
- /Applications/Xcode.app/Contents/Developer/usr/bin
- /Users/x/.rvm/bin
- /Users/x/.config/yarn/global/node_modules/.bin
PLATFORM: darwin x64
FREEMEM: 386052096
TOTALMEM: 17179869184
UPTIME: 231154
LOADAVG: 3.248046875,2.896484375,2.8720703125
CPUS:
- Intel(R) Core(TM) i7-2635QM CPU @ 2.00GHz - 2000
- Intel(R) Core(TM) i7-2635QM CPU @ 2.00GHz - 2000
- Intel(R) Core(TM) i7-2635QM CPU @ 2.00GHz - 2000
- Intel(R) Core(TM) i7-2635QM CPU @ 2.00GHz - 2000
- Intel(R) Core(TM) i7-2635QM CPU @ 2.00GHz - 2000
- Intel(R) Core(TM) i7-2635QM CPU @ 2.00GHz - 2000
- Intel(R) Core(TM) i7-2635QM CPU @ 2.00GHz - 2000
- Intel(R) Core(TM) i7-2635QM CPU @ 2.00GHz - 2000
ENDIANNESS: LE
VERSIONS:
- ares: 1.10.1-DEV
- cldr: 31.0.1
- http_parser: 2.7.0
- icu: 59.1
- modules: 57
- nghttp2: 1.25.0
- node: 8.9.3
- openssl: 1.0.2n
- tz: 2017b
- unicode: 9.0
- uv: 1.15.0
- v8: 6.1.534.48
- zlib: 1.2.11
ERROR Summary:
- broccoliBuilderErrorStack: TypeError: name.definition is not a function
at append_var (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:11923:28)
at flatten_vars (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:11971:21)
at flatten_fn (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:11990:13)
at eval (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:11792:44)
at AST_Call.eval [as optimize] (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:7666:23)
at Compressor.before (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:7649:24)
at AST_Call.eval [as transform] (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:4559:35)
at eval (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:4618:49)
at Compressor.before (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:7644:9)
at AST_Return.eval [as transform] (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:4559:35)
- codeFrame: name.definition is not a function
- errorMessage: Build Canceled: Broccoli Builder ran into an error with `UglifyWriter` plugin. 💥
name.definition is not a function
- errorType: Build Error
- location:
- column: [undefined]
- file: [undefined]
- line: [undefined]
- treeDir: [undefined]
- message: Build Canceled: Broccoli Builder ran into an error with `UglifyWriter` plugin. 💥
name.definition is not a function
- name: Error
- nodeAnnotation: UglifyWriter
- nodeName: UglifyWriter
- originalErrorMessage: name.definition is not a function
- stack: TypeError: name.definition is not a function
at append_var (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:11923:28)
at flatten_vars (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:11971:21)
at flatten_fn (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:11990:13)
at eval (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:11792:44)
at AST_Call.eval [as optimize] (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:7666:23)
at Compressor.before (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:7649:24)
at AST_Call.eval [as transform] (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:4559:35)
at eval (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:4618:49)
at Compressor.before (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:7644:9)
at AST_Return.eval [as transform] (eval at <anonymous> (/Users/x/mirai-audio/mir/node_modules/uglify-es/tools/node.js:21:1), <anonymous>:4559:35)
=================================================================================
I narrowed it down to ember-cli-uglify by disabling the addon in my ember-cli-build.js file, at which point builds would succeed.
ember-cli-build.js
module.exports = function(defaults) {
let app = new EmberApp(defaults, {
// ...
'ember-cli-uglify': {
uglify: {
compress: false // added this to workaround the issue
}
},
// ...
more details:
$ember --version --verbose
ember-cli: 3.0.0-beta.2
http_parser: 2.7.0
node: 8.9.3
v8: 6.1.534.48
uv: 1.15.0
zlib: 1.2.11
ares: 1.10.1-DEV
modules: 57
nghttp2: 1.25.0
openssl: 1.0.2n
icu: 59.1
unicode: 9.0
cldr: 31.0.1
tz: 2017b
os: darwin x6
A repo demonstrating the failure is here at this commit:
https://github.com/mirai-audio/mir/tree/7bc4b65df5d01e085c98122c8c8a79542a26dad9
- Dominant language
- JavaScript
- Stars
- 23
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ember-cli/ember-cli-terser
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
ember-cli/ember-cli-terser#323 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
ember-cli/ember-cli-terser#287 · 7 comments ·
-
Sourcemaps + fingerprinting regression with ember-cli-terser 4.0.2?May be free again A pull request for this issue was closed without being merged. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 32/100
ember-cli/ember-cli-terser#275 · 10 comments · 4 reactions ·
All issues in ember-cli/ember-cli-terser
Similar issues
-
component:sight
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
agentic-os-org/ANOLISA#6738 · 2 comments ·
Maintainers usually reply within 1 day
-
bug Durable Agents Observability (AI Telemetry) status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
mastra-ai/mastra#26470 · 1 comment ·
Maintainers usually reply within 1 day
-
feature/cohorts feature/feature-flags team/feature-flags
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Orbit-xyz/orbit-docs#11 ·
-
area/build area/tech debt
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 2 days