Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(monorepo): import bson-transpilers (#2301)
* move language-specific enums into object; can maybe then use them in codegenerator generically * Merge pull request #21 from mongodb-js/errors-handling Errors handling * Use Symbol table generated from YAML file (#23) * remove test yaml function * Add symbols to generator only once * Remove all visit methods from JavaGenerator * Rename ecmascript to javascript * Errors handling and refactoring for using classes instead of prototypes * Move generators into their own dirs * Move JavaGenerator into function * Make both csharp and python generators into functions * Add shell * Small fixes * Update package API and tests * Set version to 0.0.0 * Update README * Public package * remove path-resolve * 0.0.2 * Improve comments * Separate json test files by input language * Add shell error file * remove old test files * Avoid using fs * Use shell not javascript for compile from shell * Generate symbol table with script * Add python/csharp/shell * Fix bug for optional types and include BSON numeric type * Build symbol table before tests * Use strings instead of numbers for test * Cast argument to expected type if numeric * Add _long; don't cast BSON numeric types * Add Number to casting * Merge pull request #40 from mongodb-js/COMPASS-2623-add-bson-to-python-symbol-table COMPASS-2623 Add BSON object built-in functions to Python symbol table * Add shell bson constructors as input language (#41) Also adds functionality in javascript for new Date * Merge pull request #43 from mongodb-js/COMPASS-2622-2623-bson-object-methods-and-utils Finished bson object methods and bson utils * work with objects and arrays * get numbers working csharp with symbol + emit * make min/max key emit in generator * add decimal128 + proper comments * fix template for methods on bson types * parsing decimal128 requries a TryParse * rebase of master and change emit calls based on recent changes * add back lib to gitingore and get rid of java lexer/parser * Turn MaxKey into function call for shell * Remove support for toJSON methods * Remove support for new X * Run tests again * Set ctx.type in emit methods * Allow js ObjectId.createFromTime to take date * Add shell bson utils to symbol table + tests * Add shell bson methods to symbol table + tests * Java tests all running in jvm * Java tests all running in jvm * Add various attributes to js input * work with objects and arrays * get numbers working csharp with symbol + emit * make min/max key emit in generator * make dates work in c# * add date.now generation * add c# date tests * make regex work in c# * fix date, regex, and octals based on @aherlihy's review * More JS/Shell tests * BSON constructors shell --> javascript * JS constructors shell --> javascript * JS/BSON utils shell --> javascript * BSON methods shell --> javascript * Rename js to language * Move JS specific code out of generators * 0.0.3 * fixing package.json + npm version mismatch * 0.0.5 * webpack / browser does not handle path.resolve * 0.0.6 * bson code methods * add object id bson methods * binary object methods * dbref object methods * int32 value of method * fix double templates * decimal128 object method * add timestamp methods * add long bson methods * symbol object methods * add back output lang in code generation tests * bson utils added to c# templates * fix templates after rebasing off master * bson utils for c# with correct templates * fix rebase errors with bson double args * 0.1.0 * Merge pull request #64 from mongodb-js/COMPASS-2790-shell-to-python Compass 2790 shell to python * Merge pull request #62 from mongodb-js/add-docs add an API section to readme * 0.2.0 * Remove emitBinaryFromJS (#68) * fix int64 compiler errors * fix errors that dotnet compiler wasn't liking * sub bsonobjectid with just object id * can't do try parse on decimal128 * fix bsonint64 comparison operations * fix remainder of int64 errors * fix number, regex and object create methods * Remove emitBinData * Rename BinaryFromJS to Binary * Add comments + move shell process methods into shell visitor * Move BSONRegExp into process/emit pattern * Add support for JS --> Shell * Add getTyped * accept env variables as output/input params * Merge pull request #66 from mongodb-js/some-validation-cases-ideas Some validation cases ideas * Misc Idiomatic Java * More idiomatic java numbers * Turn off csharp tests for Double/Int32 * fix numericals in c# * return more coherent numbers in c# * if the original number passed in as arg takes a string, return a parse function * Merge pull request #85 from mongodb-js/COMPASS-2804-write-error-tests-for-python COMPASS-2804 write error tests for python * 0.2.1 * Remove Code.toString; Use java doc constructor * bson-constructors for shell-csharp (#86) * fix tests for shell-csharp bson constructors * implement bson-constructors * add import string as export * Add import string as export * Update README; add csharp imports * add file for generating target language files * Add helper file for creating runnable tests * Update test file for python * make test file for c# * CR comments * Add JS output * Use imports * check if a float string is passed in to do a float.parse * Misc Idiomatic Python (#89) * Python idiomatic fixes * Template fixes * test updates * Fix Number for python * Java Numeric Bugfix (#90) * tests * Fix octal casting * add shell-c# bson-methods + bson-utils * language types shell-c# * shell-c# language tests * fix date time ToString in js and shell * Rename errors and fix bugs * Add RangeError * Sort error tests by error type * don't skip tests if not in unsupported * add error documentation * Allow running test by mode * Fix error tests * Throw unimplemented errors * Start compilation from root node * Add tests for other semantic errors * Syntax Tests + Fixes (#105) * 0.3.0 * Tests for function calls without args (#106) * fix nested documents bugs in c# and python (#107) * fix bug in python + csharp in nested documents * add a few extra nested tests * contributing.md: project architecture docs * Missing step for adding a new language in contrib * bump node to 9.8.0 * Remove support for Binary/BinData * remove initial \n in import strings (#111) * 0.3.1 * add depth param to help with object/array indents * 0.4.0 * insert indents in java arrays * v0.4.1 * remove example package name in java imports * 0.4.2 * Remove depth argument (#115) * add tree visiting diagram * 0.4.3 * Skip array elements that generate only commas * 0.5.0 * indent items in csharp arrays (#117) * Add args template for arrays * indent items in csharp arrays * move .join logic for arrays to args template * v0.5.1 * Bump mongodb to 3.1.0 (#118) * Support for using Java generators. (#119) * Support for using Java generators. * Add geoJSON support * Remove | * 0.6.0 * Set code to use non idiomatic objects * Set default to using builders * Imports now being generated by usage * Documentation changes * 0.7.0 * Agg tests * Use BsonNull in java instead of null * Adding package.json * 0.7.2 * Allow getImports before compile * 0.7.3 * Rename Bson-Compilers to Bson-Transpilers * README fix * 0.8.0 * Bump driver dependency * 0.9.0 * Generators never directly access the tree (#126) * Add Python as input language (#127) * Add outline for python input * grammar updated to python3 java version * python grammar fixes * generating simple statements * updates * tests for language-types * indivual literals working * simple literals * obj for non-java * non-java array/tuple * java obj/array/tuple * readded tests for idiomatic but w python * idiomatic objects working from python * binary ops + compare done * finish idiomatic * fill out symbol table * prelim function calls * Add attr access basic * BSON types other than numbers + date/regex * numerical types * csharp java tests passing * tests passing * readd tests * Dates fixed and moved into templates * move regex flags into templates * add generate helpers to js visitor * python language-types passing * python constructor tests done * Add commented sample template file * bson-methods and bson-utils tests added (not passing) * All methods + utils except regex + objectid * all but regex * Syntax updates * Python syntax tests done * eslint * Add first python error test * argument errors done * All python tests but unimplemented * Python tests done * Tests passing * imports working for python * tests now one line * json test running * using YAML not JSON * idiomatic in json/yaml * idiomatic in json/yaml * idiomatic using yaml * more YAML tests * Start casting test * python casting tests failing for neg numbers * casting tests * bson-constructors moved to yaml * objects + arrays * rename * more native types * Dates * native types done * syntax tests done * bson-methods * success tests removed * argument-error * syntax * test refactor done :) * eslint * all but casting int working * All but unwind * all casting tests passing * update javascript visitor to not set type to first child * empty visitor class added; tests fixed * eslint * move imports to codegenvisitor * more shared code * Add better error checking * move function generation into shared visitor * move identifier generation into shared visitor * move attribute generation into shared visitor * move object generation into shared visitor * move array generation into shared visitor * move numeric constructor generation into shared visitor * do literals next * part-way through casting refactor * contiued * finish moving casting/literals into shared visitor * eslint * only use templates if defined * Add possible bson types to shared visitor * line length * Add native regex to python * Add named arguments to python (#128) * All working but re.compile * Finish named args * update docs * more docs * contributing typo * COMPASS-3196: Bump Node driver dependencies * 0.10.0 * Add support for translating to javascript objects (#129) * Don't include all the src in the published artifact * Using BSON 4.0.x: - [x] JS Symbol -> BSONSymbol - [x] All JS types now require new keyword in constructor - [ ] Fix remaining Long test failures * Fix remaining Long issues in the test suite * Fix 3 new Long misses * Use default symbol args template in java * 0.11.0 * Fix JS Symbol output * 0.11.1 * Change test to use shell as input for Symbol * 0.11.2 * Need codegeneration module * 0.11.3 * Need helper module * 0.11.4 * Need config module * 0.11.5 * Fix up make-test-file (#132) * 0.11.6 * Update README with supported langs * Merge pull request #133 from mongodb-js/add-git-info COMPASS-3823: Add git info for license metadata * Generate Drivers Syntax for Node & Python (#134) * 0.12.0 * Update shell driver syntax * Add driver syntax for java * Add tests * Throw error for csharp driver syntax * 0.13.0 * minor fixes for driver syntax * Test updates * 0.13.1 * Add extra newline before connect in javascript * Update tests * 0.13.2 * Add comments to driver code; use mongodb instead of bson for node * 0.13.3 * Added powerpoint slides for transpilers talk * use PDF * Merge pull request #135 from mongodb-js/update-antlr Update ANTLR to 4.7.2 * fix: pin antlr4 version * 0.13.4 * Update CONTRIBUTING.md * Merge pull request #138 from mongodb-js/ignore-pdf chore: do not publish pdf and download antlr * Merge pull request #140 from mongodb-js/move-pdf-to-google-docs docs: move pdf to google docs * 0.13.5 * Merge pull request #141 from mongodb-js/export-fn-to-js feat: compile functions to js * 0.13.6 * Merge pull request #142 from mongodb-js/fix-fn-whitespaces fix functions whitespaces * 0.14.0 * Merge pull request #143 from mongodb-js/clean-deps chore: update and clean dependencies * 0.15.0 * chore(monorepo): add bson-transpilers * remove ignored pre-commit and regen package-lock * remove package-lock * update license * add star dep for bson-transpilers * regen package lock * update scripts * fix dep alignment and add depcheck to ci * add depcheck to precheck-ci * remove precommit * remove compile from ci * fix pretest * regen package-lock * chore(bson-transpilers): fix eslint Co-authored-by: aherlihy <anna.herlihy@10gen.com> Co-authored-by: Alena Khineika <alenakhineika@users.noreply.github.com> Co-authored-by: Alena Khineika <alena.khineika@gmail.com> Co-authored-by: Irina Shestak <shestak.irina@gmail.com> Co-authored-by: Durran Jordan <durran@gmail.com> Co-authored-by: Irina Shestak <lrlna@users.noreply.github.com> Co-authored-by: Lucas Hrabovsky <hrabovsky.lucas@gmail.com> Co-authored-by: Rhys <Anemy@users.noreply.github.com> Co-authored-by: Anemy <rhysh@live.com>
- Loading branch information