JavaScript Topology Suite

Related tags

Maps jsts
Overview

JSTS

Build Status codecov npm

JSTS is an ECMAScript library of spatial predicates and functions for processing geometry conforming to the Simple Features Specification for SQL published by the Open Geospatial Consortium. JSTS is also a port of the well established Java library JTS.

The primary goal of the project is to provide web mapping applications with a complete library for processing and analyzing simple geometries but JSTS can also be used as a free standing geometry library.

JSTS was made using automatic translation of the original JTS Java source via AST to AST transformation preserving the JTS API, except for the I/O related classes which has been selectively and manually ported with support for WKT, GeoJSON and OpenLayers 3+.

A Google group is available for discussions.

A port of JTS Validation Suite provides additional tests.

Basic functionality together with OpenLayers is demonstrated here.

Browser or Node.js use

An ES5 (the most common JavaScript variant) compatible build for browsers is available here.

An ES6+ compatible build for browsers is available here.

Including the above build as a script will import a global object jsts exposing similar public API as org.locationtech.jts in the JTS API.

For Node.js, install using npm install jsts after which require('jsts') will import an object with the same properties as jsts in the browser build.

I/O related classes in JTS had to be manually ported. From the original formats WKT and GeoJSON are supported. A direct reader/writer for OpenLayers 3+ geometries exist. See the API documentation for these specific classes.

ES6 modules use

As of version 1.4.0 it's possible to depend on the source modules directly using the NPM package. For most environments it will require a bundler like Rollup to work. topolis serves as an example project depending on JSTS in this way. The example page also exists in a version that loads JSTS as modules in supporting browsers .

Caveats

  • In a few cases Java overloading cannot be correctly translated to JavaScript. One such case is createMultiPoint in GeometryFactory which only works with Point[] arguments.
  • In some cases you might get a TopologyException thrown as an Error. This is expected if a calculation fails due to precision issues. To resolve this issue try reducing precision in the input and at the same time make sure the input is valid as defined by the OGC Simple Features specification. To reduce precision GeometryPrecisionReducer can be used.
  • Shortcut methods on Geometry from upstream API are not available (.buffer, .intersects and more) unless using the bundled ES5 version that has these monkey patched in. The shortcut methods have been removed because they cause difficult circular dependencies. You can find the equivalent methods on the appropriate operation class.
Comments
  • Automatic port

    Automatic port

    It would be nice and probably possible to convert the upstream Java source to JavaScript using automatic methods. I've got a prototype up and running (https://github.com/bjornharrtell/jsts/tree/1.0.0-wip) using java2estree and astring to convert the original source.

    Some changes to the original source was needed, recording them here:

    1. Removal of circular dependencies involving class hierarchies (i.e Geometry operation methods) (NOTE: can be worked around by monkey patching Geometry as a separate module)
    2. Do not use on demand imports (import with * symbol)
    3. Rename fields to not have the same name as methods
    4. Remove reliance on null argument resolution for overloads (for example the GeometryFactory methods and friends when creating empty geometries)
    5. Avoid overloading on methods with more than 3 arguments (addFillet in OffsetSegmentGenerator) (NOTE: should be possible to handle in translation)
    6. If overloading inherited method(s), all inherited method signatures must be defined in subclass (CoordinateList, RobustLineIntersector) (NOTE: should be possible to handle in translation)
    7. Do not use inner classes (can be replaced with static inner classes + dependency injection)
    8. Use alternative to Clonable and/or Object.clone (replace with custom copy impl.)
    9. Do not rely on comparison operator for PrecisionModel Type comparisons

    First version of modified original source (obsolete, patches in separate branches): https://github.com/bjornharrtell/jts-topo-suite/tree/no_circular_deps

    java2estree: https://github.com/bjornharrtell/java2estree

    opened by bjornharrtell 59
  • Is there a human friendly guide for learning how to use jts?

    Is there a human friendly guide for learning how to use jts?

    I was able to find the javadocs for jts, but they are incredibly hard to read in terms of learning how to use that library. Seems more like a handy reference for someone that already knows how to use that library.

    I scoured the jts github repo but I don't see any links to places that show some examples or how to actually use this very capable but complicated API.

    Do you happen to know where one might find this?

    opened by mreinstein 17
  • Support for Node.js

    Support for Node.js

    I've just been checking out JSTS - great stuff! In addition to the current JSTS browser environment it would also be really useful to have it packaged up and available as a Node.js module via NPM.

    opened by homme 15
  • 2.7.2 regression - Error: export 'io' (imported as 'jsts') was not found in 'jsts' (module has no exports)

    2.7.2 regression - Error: export 'io' (imported as 'jsts') was not found in 'jsts' (module has no exports)

    Building on latest Angular (12.x) which uses Webpack 5 under the hood, TypeScript 4.2.4.

    JSTS usage is: import * as jsts from 'jsts';

    and then inside a local method: const reader = new jsts.io.GeoJSONReader();

    also using @types/jsts: "^0.17.5" for typings

    Should I be using a more specific import scheme?

    Will try to provide a more reproducible example if this is not enough detail.

    opened by tomgruszowski 13
  • PointLocator class access

    PointLocator class access

    Hi there,

    I've been trying to access the PointLocator class to run a point in polygon test.

    Using the built version

    const jsts = require('jsts')
    const PL = new jsts.algorithm.PointLocator()
    

    I get TypeError: jsts.algorithm.PointLocator is not a constructor

    I also had a go at building something based on the ES6 modules

    import PointLocator from 'jsts/src/org/locationtech/jts/algorithm/PointLocator'
    
    export function jsts (point, poly) {
        const pe = new PointLocator()
        return pe.intersects(point, poly);
    }
    

    However when I do that I get the wrong result for a simple case...

    Am I missing anything obvious?

    Thanks, Rowan

    opened by rowanwins 13
  • Remove dead code

    Remove dead code

    In our project https://github.com/geops/openlayer-editor, we use jsts as es6 import and after compilation we have this issue in the browser console:

    Uncaught SyntaxError: Identifier 't' has already been declared
    

    2 generated variables by the compiler have the same name . It seems it' caused by some dead code in DirectedEdgeStar.js, Removing it fix our issue.

    opened by oterral 12
  • Only some classes are publicly exported in ES5 build

    Only some classes are publicly exported in ES5 build

    As of version 1.5.0, only some of the JTS public classes are exported in the ready-to-use ES5 build. Nevertheless, it seems that all classes and their implementations are part of the file, so you likely don't save a lot of bytes by just not exporting many of the classes. We actually require some classes from noding, in order to sanitize user-drawn polygons; only three are publicly available. We need others as well.

    What are the reasons behind that? Shouldn't the default build of a topology library expose all its features by default, as JTS does in Java? Since java.util.Collection based classes are used as input types for some of the algorithms (e.g. FastNodingValidator), for my mind, most/many of the Java classes should be exported as well.

    Quoting part of your answer from #321

    The current exports are simply a set of the most common functions that also are all covered by tests.

    What are the most common functions? I reckon this is hard to tell, since this always depends on the project, JSTS is used in. Also, it's quite awkward to export features on demand (for you and for those, asking for features). My personal rule of thumb for this library is to expose everything, that is also publicly available in the Java version. So, people can easily test all available features and functions, without bothering with a (more or less) complex build system.

    Of course, people could create their own builds. However, I'd like to turn this around. If someone feels that the full library is too big in size and contains too much unused stuff, he's welcome to build his own version.

    opened by cklein05 12
  • isSimple fails in some cases

    isSimple fails in some cases

    Maybe I'm missing something, but it seems that whatever you throw at it, isSimple(); always returns true for Simple Feature Spec validation. From Wikipedia: "In general, a 2D geometry is simple if it contains no self-intersection."

    Yet, with some testing, self-intersecting polygons can be shown to be false for the validation isValid(); but at the same time true for isSimple();

    See gist for the test script. It looks straightforward enough to me but maybe I'm missing something.

    Thanks in advance!

    bug 
    opened by reinvantveer 11
  • ERROR: Uncaught ReferenceError: MapOp is not defined

    ERROR: Uncaught ReferenceError: MapOp is not defined

    Hi,

    I want to report a bug in the [email protected]. I got it when my code was trying to check if a two GeometryCollections had any intersections.

    This is the error from browser console:

    monkey.js:39 Uncaught ReferenceError: MapOp is not defined
        at Nt.H.intersection (monkey.js:39)
        at demo ((index):62)
        at window.onload ((index):129)
    

    This bug is from this place.

    I saw that MapOp is not anywhere defined in the repository so I made a decision about added function MapOp() {} into my code just like you have here in [email protected].

    Here is my code to reproduce this bug. If you want to see if my solution works then you have to uncomment a script statement from HTML file.

    bug 
    opened by presto41 10
  • Create-React-App fails with:

    Create-React-App fails with: "Failed to minify the code from this file: ./node_modules/jsts/extend.js:2"

    I am using jsts as part of Create-React-App together with OpenLayers. Works so far following the hints at #323 (that is, using static functions like with import BufferOp from 'jsts/org/locationtech/jts/operation/buffer/BufferOp';.

    This works in development mode, but when I run the production build step it fails:

    $ yarn run build
    yarn run v1.6.0
    $ react-scripts build
    Creating an optimized production build...
    Failed to compile.
    
    Failed to minify the code from this file:
    
            ./node_modules/jsts/extend.js:2
    
    Read more here: http://bit.ly/2tRViJ9
    
    error Command failed with exit code 1.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
    ERROR: "build-js" exited with 1.
    error Command failed with exit code 1.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
    
    
    1. The given link http://bit.ly/2tRViJ9 hints at the point that jsts is wrongly published to npmjs. There are some issues regarding ES6 modules / webpack that say that something is broken, e.g. #311. I am not sure how to go forward here.
    2. Well, actually, it does not even work in IE11 when in development mode. Error is syntax error:
    /***/ "./node_modules/jsts/java/lang/Character.js":
    /*!**************************************************!*\
      !*** ./node_modules/jsts/java/lang/Character.js ***!
      \**************************************************/
    /*! exports provided: default */
    /*! exports used: default */
    /***/ (function(module, __webpack_exports__, __webpack_require__) {
    
    "use strict";
    /* harmony export (immutable) */ __webpack_exports__["a"] = Character;
    function Character () {}
    Character.isWhitespace = c => ((c <= 32 && c >= 0) || c == 127)
    

    This is a arrow function. Not sure why it is like this although webpack together with babel is used.

    Problems only exist when using jsts package. I have a dozen of other dependencies where it works.

    opened by jnachtigall 10
  • Getting error while merging two polygons, core.js:1448 ERROR TypeError: Ht.toLineString is not a function     at Wi.getErrorMessage (jsts.min.js:18)

    Getting error while merging two polygons, core.js:1448 ERROR TypeError: Ht.toLineString is not a function at Wi.getErrorMessage (jsts.min.js:18)

    core.js:1448 ERROR TypeError: Ht.toLineString is not a function at Wi.getErrorMessage (jsts.min.js:18) at Wi.checkValid (jsts.min.js:18) at ji.checkValid (jsts.min.js:18) at Function.ji.checkValid (jsts.min.js:18) at Ji.computeOverlay (jsts.min.js:18) at Ji.getResultGeometry (jsts.min.js:18) at Function.Ji.overlayOp (jsts.min.js:18) at Sr.getResultGeometry (jsts.min.js:19) at Function.Sr.overlayOp (jsts.min.js:19) at bt.union (jsts.min.js:9)

    opened by TarunNarula 10
  • Align with upstream JTS (1.18, 1.19)

    Align with upstream JTS (1.18, 1.19)

    JSTS is currently based on JTS 1.17.x. Since then there has been two feature releases of JTS, 1.18 and 1.19.

    It's unfortunately a non trivial effort to update because the new things coded in JTS uses features of Java that my transpiler (https://github.com/bjornharrtell/java2estree) currently cannot handle.

    I also carry several patches on JTS 1.17.x to make it work currently which further complicates this.

    opened by bjornharrtell 0
  • Can not construct Prepared Geometries.

    Can not construct Prepared Geometries.

    Each of the 3 Subclasses of BasicPreparedGeometry throw an Error if you call the constructor.

    TypeError: Cannot read properties of undefined (reading 'apply') at Function.getCoordinates (node_modules/jsts/org/locationtech/jts/geom/util/ComponentCoordinateExtracter.js:16:10) at PreparedPolygon.apply (node_modules/jsts/org/locationtech/jts/geom/prep/BasicPreparedGeometry.js:13:60) at new BasicPreparedGeometry (node_modules/jsts/org/locationtech/jts/geom/prep/BasicPreparedGeometry.js:6:40) at new PreparedPolygon (node_modules/jsts/org/locationtech/jts/geom/prep/PreparedPolygon.js:13:5)

    Testcase

    it(' Fail PreparedPolygon' ,() => {
    const gf = new GeometryFactory()
    const reader = new WKTReader(gf)
    const poly = reader.read('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')
    PreparedGeometryFactory.prepare(geom)
    }
    

    If you put a LineString or a Point in it, it fails as well.

    To fix it simply call the super constructor with the given geometry.

    PreparedPolygon:

    constructor() {
        super(arguments[0])
        PreparedPolygon.constructor_.apply(this, arguments)
    }
    
    opened by motto76 3
  • configure package.json to emit typescript declarations

    configure package.json to emit typescript declarations

    Proposal to fix #285. Sadly, tsc fails because of private classes which are (implicitly?) imported. Execute npm run ts-declarations (I didn't use Yarn) to show the error messages.

    You can change --outFile dist/index.d.ts to --outDir dist/types to generate .d.ts files for each JavaScript file.

    opened by quachc 3
  • Port Concave Hull

    Port Concave Hull

    Hello!

    I am looking for a concave hull function, which is part of the original jts implementation: https://github.com/locationtech/jts/blob/master/modules/lab/src/main/java/org/locationtech/jts/hull/ConcaveHull.java

    What is required to port and expose the ConcaveHull.java class via jsts?

    Many thanks for this great library! :)

    opened by dahannes 1
  • 'disjoint'  no implementation in 'RelateOp'

    'disjoint' no implementation in 'RelateOp'

    Hello, I caught the lack of implementation of the method in a large number of newer versions of JSTS

    Version bug: 1.5.0 - 2.5.0

    in version 1.4.0 there is: RelateOp.disjoint = function (g1, g2) { return !g1.intersects(g2); }; in newer versions there is no this entry (RelateOp.js 2.5.0)

    so the entry (monkey.js): Geometry.prototype.disjoint = function(g) { return RelateOp.disjoint(this, g) } does not make sense

    I even found a security for it in: BasicPreparedGeometry.js

    bug 
    opened by pecet86 1
Releases(2.9.3)
  • 2.9.3(Nov 1, 2022)

    What's Changed

    • Fix bad isEquivalentClass causing equalsNorm and equalsExact to fail by @bjornharrtell in https://github.com/bjornharrtell/jsts/pull/485

    Full Changelog: https://github.com/bjornharrtell/jsts/compare/2.9.2...2.9.3

    Source code(tar.gz)
    Source code(zip)
  • 2.5.0(Jul 25, 2020)

  • 2.3.1(Jul 25, 2020)

  • 2.3.0(Jun 6, 2020)

  • 2.2.2(May 5, 2020)

  • 2.2.1(May 5, 2020)

  • 2.2.0(Apr 30, 2020)

  • 2.1.2(Apr 30, 2020)

  • 2.1.0(Apr 30, 2020)

  • 2.0.8(Apr 30, 2020)

  • 2.0.7(Apr 30, 2020)

  • 2.0.6(Jul 13, 2019)

    • Transpilation can cause duplicate declarations (#386)
    • jsts object is missing utils package (#379)
    • Generated code referencing removed shortcut method (#380)
    • Change babel config setup (#385)
    • Remove dead code (#384)
    Source code(tar.gz)
    Source code(zip)
  • 2.0.4(Apr 12, 2019)

    • Can not instantiate jsts.operation.overlay.snap.GeometrySnapper (#336)
    • VWSimplifer not in jsts.simplify (#363)
    • PointLocator class access (#377)
    • LineMerger: stack overflow and wrong reference (#373)
    Source code(tar.gz)
    Source code(zip)
  • 2.0.3(Dec 21, 2018)

    • Implement PrecisionModel on WKTWriter (https://github.com/bjornharrtell/jsts/issues/372)
    • AffineTransformation.rotate uses the wrong instance method (https://github.com/bjornharrtell/jsts/issues/367)
    • ERROR: Uncaught ReferenceError: MapOp is not defined (https://github.com/bjornharrtell/jsts/issues/366)
    Source code(tar.gz)
    Source code(zip)
  • 2.0.2(Sep 20, 2018)

  • 2.0.1(Sep 15, 2018)

  • 2.0.0(Sep 5, 2018)

  • 1.6.2(Sep 5, 2018)

  • 1.6.1(Jul 15, 2018)

    • Geometry.within fails on ES5 build (https://github.com/bjornharrtell/jsts/issues/344)
    • JSTS using Java Generics (https://github.com/bjornharrtell/jsts/issues/330)
    • Missing Math.log2 polyfill for ES5 build (https://github.com/bjornharrtell/jsts/issues/341)
    • Export additional algorithm modules in ES5 build (https://github.com/bjornharrtell/jsts/issues/343)
    Source code(tar.gz)
    Source code(zip)
  • 1.6.0(Feb 6, 2018)

    • Robustness increased and aligned to upstream (thanks to @cklein05) (#326, #328, #333)
    • Additional exports for ES5 build (#310, #314, #321, #325)
    • Support injecting OL3Parser with OpenLayers imported as modules (#332)
    • Assorted bugfixes (#327, #329, #331)
    Source code(tar.gz)
    Source code(zip)
  • 1.5.0(Nov 26, 2017)

  • 1.4.0(Apr 12, 2017)

  • 1.3.0(Nov 11, 2016)

    • Fix IntersectionMatrix string representation (#294)
    • Implement a better polyfill for Array#fill (#291)
    • Allow user to set a custom reference to ol3 (#290)
    • Fix Polygonizer when used without monkey patched Geometry class (c742f471bf3357cc42a8f7d2bb229ed71f7df03a)
    Source code(tar.gz)
    Source code(zip)
  • 1.2.1(Aug 7, 2016)

  • 1.2.0(Jul 5, 2016)

    • Fix SnapIfNeededOverlayOp and misleading error to throw expected TopologyException (#273, #276)
    • Export geomgraph and ConsistentAreaTester in single file build (#275)
    • Export MCPointInRing in single file build (#271)
    Source code(tar.gz)
    Source code(zip)
  • 1.1.2(May 16, 2016)

    • GeoJSONWriter throws error when trying to write certain geometries bug (#268)
    • Source file names clash on filesystems that are case insensitive (#266)
    • 'Map' is undefined error in IE10 (#263)
    Source code(tar.gz)
    Source code(zip)
  • 1.1.1(Apr 15, 2016)

    • Fix Internet Explorer 11 compatibility (#259)
    • Fix ability to read GeoJSON Features and FeatureCollections (#256)
    • Fix RuntimeException constructor so that TopologyException now contains proper message
    • Add missing GeometryComponentFilter for a rare code path
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Apr 8, 2016)

    • The ES5 compatible single file build is now an UMD bundle for both browsers and Node.js (#250)
    • jsts.geom.CoordinateList is exposed in the single file build
    • Fixed issues with some remaining use of clone affecting the reverse method for some geometries
    • Define WKTWriter.toLineString as static (#245)
    • Fixed conversion affecting GeometryExtracter #246
    • Fixed conversion of an inner class (#240)
    • Add trivial test for GeoJSONReader (#249)
    • Reduced dependencies
    • License change to match upstream
    Source code(tar.gz)
    Source code(zip)
  • 1.0.3(Feb 28, 2016)

An open-source JavaScript library for world-class 3D globes and maps :earth_americas:

CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics

Cesium 9.7k Dec 26, 2022
Polymaps is a free JavaScript library for making dynamic, interactive maps in modern web browsers.

Polymaps Polymaps is a free JavaScript library for making dynamic, interactive maps in modern web browsers. See http://polymaps.org for more details.

Urban Airship 1.6k Dec 23, 2022
UNMAINTAINED Open source JavaScript renderer for Kartograph SVG maps

This project is not maintained anymore. Here are a few reasons why I stopped working on kartograph.js: there's no need to support non-SVG browsers any

null 1.5k Dec 11, 2022
Mapbox JavaScript API, a Leaflet Plugin

mapbox.js A Mapbox plugin for Leaflet, a lightweight JavaScript library for traditional raster maps. For the state-of-the-art Mapbox vector maps libra

Mapbox 1.9k Dec 23, 2022
An open-source JavaScript library for world-class 3D globes and maps :earth_americas:

CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics

Cesium 9.7k Jan 3, 2023
JavaScript WebGL 3D map rendering engine

VTS Browser JS is a powerful JavaScript 3D map rendering engine with a very small footprint (about 163 kB of gziped JS code). It provides almost all f

Melown Technologies, SE 203 Dec 7, 2022
JavaScript library to transform coordinates from one coordinate system to another, including datum transformations

PROJ4JS Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations. Origina

null 1.7k Dec 28, 2022
The NASA WorldWind Javascript SDK (WebWW) includes the library and examples for creating geo-browser web applications and for embedding a 3D globe in HTML5 web pages.

Web WorldWind New versions of WorldWind released Web WorldWind 0.10.0 and WorldWind Java 2.2.0 are now available on GitHub. The new version of Web Wor

NASA WorldWind 770 Jan 1, 2023
geotiff.js is a small library to parse TIFF files for visualization or analysis. It is written in pure JavaScript, and is usable in both the browser and node.js applications.

geotiff.js Read (geospatial) metadata and raw array data from a wide variety of different (Geo)TIFF files types. Features Currently available function

geotiff.js 649 Dec 21, 2022
Blazing Fast JavaScript Raster Processing Engine

Geoblaze A blazing fast javascript raster processing engine Geoblaze is a geospatial raster processing engine written purely in javascript. Powered by

GeoTIFF 125 Dec 20, 2022
The smallest, simplest and fastest JavaScript pixel-level image comparison library

pixelmatch The smallest, simplest and fastest JavaScript pixel-level image comparison library, originally created to compare screenshots in tests. Fea

Mapbox 5.1k Jan 8, 2023
Geokit - is a command-line interface (CLI) tool written in javascript, that contains all the basic functionalities for measurements, conversions and operations of geojson files.

Geokit Geokit is a command-line interface (CLI) tool written in javascript, that contains all the basic functionalities for measurements, conversions

Development Seed 31 Nov 17, 2022
great circle routes in javascript

arc.js Calculate great circles routes as lines in GeoJSON or WKT format. Algorithms from https://edwilliams.org/avform.htm#Intermediate Includes basic

Dane Springmeyer 341 Dec 26, 2022
🔔 a clean and simple notification, input, and selection suite for javascript, with no dependencies

notie notie is a clean and simple notification, input, and selection suite for javascript, with no dependencies Live demo: https://jaredreich.com/noti

Jared Reich 6.3k Dec 26, 2022
A simple but powerful tweening / animation library for Javascript. Part of the CreateJS suite of libraries.

TweenJS TweenJS is a simple tweening library for use in Javascript. It was developed to integrate well with the EaselJS library, but is not dependent

CreateJS 3.5k Jan 3, 2023
A highly impartial suite of React components that can be assembled by the consumer to create a carousel with almost no limits on DOM structure or CSS styles.

A highly impartial suite of React components that can be assembled by the consumer to create a carousel with almost no limits on DOM structure or CSS styles. If you're tired of fighting some other developer's CSS and DOM structure, this carousel is for you.

Vladimir Bezrukov 1 Dec 24, 2021
🤪 A linter, prettier, and test suite that does everything as-simple-as-possible.

Features Fully Featured Code Grading Knowing if you need to work on your code is important- that's why we grade your code automatically. But, unlike o

Fairfield Programming Association 18 Sep 25, 2022
A suite of utilities to add more features to the details element

A suite of utilities to add more features to the details element

Zach Leatherman 206 Dec 22, 2022
CryptPad - a collaboration suite that is end-to-end-encrypted and open-source

CryptPad CryptPad is a collaboration suite that is end-to-end-encrypted and open-source. It is built to enable collaboration, synchronizing changes to

XWiki labs 4.1k Jan 1, 2023
NestJS + MikroORM example repository for testing within transactional contexts. Achieve a much faster test suite.

Description Nest NestJS + MikroORM example repository for testing within transactional contexts. Running tests in transactions will speedup your test

Tolga Paksoy 5 Dec 20, 2022