apache / apache/couchdb

Keep track of esprima.js and escodegen.js

Open
#2,372 2 comments 0 reactions 0 assignees View on GitHub
chore enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.