Keep track of esprima.js and escodegen.js
- Dominant language
- Erlang
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 9
Description
[NOTE]: # ( ^^ Provide a general summary of the request in the title above. ^^ )
## Summary
[NOTE]: # ( Provide a brief overview of what the new feature is all about. )
esprima.js and escodegen.js are introduced to support spidermonkey 6.0 porting in CouchDB, especially supporting the traditional CouchDB-style function declaration.
```
"map": "function(doc) {emit(doc._id, doc._id);}"
```
They are being maintained under [1] https://github.com/jquery/esprima and [2] https://github.com/estools/escodegen
In planned CouchDB 3.0, we are using the variant from [3] https://github.com/dmunch/couch-chakra.
## Desired Behaviour
[NOTE]: # ( Tell us how the new feature should work. Be specific. )
[TIP]: # ( Do NOT give us access or passwords to your actual CouchDB! )
We need to better keep track of evolution of esprima and escodegen.
## Possible Solution
[NOTE]: # ( Not required. Suggest how to implement the addition or change. )
- [x] create couch-esprima and couch-escodegen repositories so that there are safe copy
- [ ] compare the difference between [1] [2] and [3]
- [ ] find tools/scripts build workable version from couch-esprima and couch-escodegen
- [ ] figure out the way how to apply patch for CouchDB 3.0
- [ ] define and implement how to continuously apply fixes and improvement from [1] and [2] for CouchDB.
## Additional context
[TIP]: # ( Why does this feature matter to you? What unique circumstances do you have? )
@janl @garrensmith @davisp @wohali
Contributor guide
Research direction
Start by comparing the upstream esprima and escodegen repositories with the couch-chakra variants linked in the issue. Define a reproducible way to build workable CouchDB versions, apply patches, and continuously track upstream fixes; done means those update and patch steps are documented and repeatable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- erlang, javascript
- Domain
- databases, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100