[
https://issues.apache.org/jira/browse/THRIFT-6321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer resolved THRIFT-6321.
--------------------------------
Fix Version/s: 0.26.0
Assignee: Jens Geyer
Resolution: Fixed
> lib/ts and lib/js lint their tests and generated node code at the wrong
> language level
> --------------------------------------------------------------------------------------
>
> Key: THRIFT-6321
> URL: https://issues.apache.org/jira/browse/THRIFT-6321
> Project: Thrift
> Issue Type: Bug
> Components: JavaScript - Library, TypeScript - Library
> Reporter: Jens Geyer
> Assignee: Jens Geyer
> Priority: Major
> Fix For: 0.26.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Two jshint targets in {{lib/ts/Gruntfile.js}} are configured below the
> language level of the code
> they lint, so {{make -C lib/ts check}} fails on them once it gets that far
> ({{THRIFT-6317}} and {{THRIFT-6318}} are the two blockers in front of it):
> h2. jshint:test -- ES6 against ES8 source
> {code}
> Gruntfile.js
> 160 | },
> ^ 'Trailing comma in arguments lists' is only available in ES8
> (use 'esversion: 8').
> test/server_http.js
> 56 | ...
> test/test_handler.js
> 201 | ...
> >> 3 errors in 3 files
> {code}
> The trailing commas come from prettier, which the repository runs over these
> files. The lint
> level has to follow.
> h2. jshint:gen_node_code -- no esversion at all
> The target sets only {{node: true}}, so jshint assumes ES5 while the
> generated node code uses
> ES6 globals:
> {code}
> >> 423 errors in 3 files
> 366x 'Symbol' is not defined.
> 45x 'Promise' is not defined.
> 12x 'Set' is not defined.
> {code}
> h2. Same gap in lib/js
> {{lib/js/Gruntfile.js}} declares {{gen_node_code}} the same way -- {{node:
> true}} and no
> {{esversion}} -- so it carries the same defect. Its sibling target
> {{gen_node_es6_code}} does set
> {{esversion: 6}}, which shows the intent.
> h2. Verified
> With {{esversion: 8}} on {{jshint:test}} and {{esversion: 6}} on
> {{jshint:gen_node_code}}, all
> four jshint targets in lib/ts report "lint free" and the grunt run proceeds
> to the QUnit step.
> Drafted with AI assistance (Claude Opus 5).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)