New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Export core functionality functions outside of Jest #5
Labels
Milestone
Comments
M-Scott-Lassiter
added a commit
that referenced
this issue
May 24, 2022
package.json: Created the entry routes and a separate test script specifically for testing coordinates. Each category will get its own script for ease of development. readme: Updated the configuration and core importing sections. typedefinitions.js: newly created file solely for JSDoc type defs. matchers.js: Exports the matcher functions grouped into objects by category. core.js: Exports the core functionality grouped into objects by category. setup: Moving all setup scripts into this folder. Creates a separate script for each group as well as an overall script to load everything. Resolves: #5
github-actions bot
pushed a commit
that referenced
this issue
May 24, 2022
## [1.0.0-beta.3](v1.0.0-beta.2...v1.0.0-beta.3) (2022-05-24) ### 🎁 Feature Changes * split package exports into matcher and core functionality ([a7340d9](a7340d9)), closes [#5](#5)
🎉 This issue has been resolved in version 1.0.0-beta.3 🎉 The release is available on: Your semantic-release bot 📦🚀 |
github-actions bot
pushed a commit
that referenced
this issue
Jun 2, 2022
## 1.0.0 (2022-06-02) ### 🧭 API Documentation Changes * **toBeMultiLineStringGeometry:** add the min point count error to the JSDoc API ([01f6c4b](01f6c4b)) * change JSDoc param types to avoid using GeoJSON unknown types ([06ac03a](06ac03a)) * **all:** cleanup JSDoc formatting and standardize API examples ([300a96d](300a96d)) * update JSDoc descriptions of coordinate core functions ([f5658f3](f5658f3)) * update JSDoc organization ([7ab7eca](7ab7eca)) * **isValidCoordinate:** update returns description ([70bd43e](70bd43e)) * **isValidCoordinate:** update the error and parameter descriptions ([7e3e8ed](7e3e8ed)) ### 🐞 Bug Fixes * add bounding box validity checking to geometry core functions and matchers ([ac6a9a1](ac6a9a1)), closes [/datatracker.ietf.org/doc/html/rfc7946#section-5](https://github.com/M-Scott-Lassiter//datatracker.ietf.org/doc/html/rfc7946/issues/section-5) [#9](#9) [#10](#10) [#11](#11) [#12](#12) [#13](#13) [#14](#14) [#16](#16) [#29](#29) * **toBeLineStringGeometry:** prohibit single coordinate in "coordinates" member ([ee5de52](ee5de52)), closes [/datatracker.ietf.org/doc/html/rfc7946#section-3](https://github.com/M-Scott-Lassiter//datatracker.ietf.org/doc/html/rfc7946/issues/section-3) [#11](#11) ### 🎯 Test Changes * add 'Feature' and 'FeatureCollection' to test list of disallowed geometry type values ([f139a09](f139a09)) * **toBeLineStringGeometry:** add a stress test with many points ([22df5c7](22df5c7)) * **toBeGeometryCollection:** add an unrecognizable geometry to the invalid tests ([5c041c6](5c041c6)) * **toBeGeometryCollection:** add robust snapshot tests, verify coordinates treated as foreign member ([472d12d](472d12d)), closes [#32](#32) [#33](#33) * **isValid2DBoundingBox:** add robust snapshot tests ([4363710](4363710)), closes [#32](#32) * **isValid2DCoordinate:** add robust snapshot tests ([ae92f67](ae92f67)), closes [#32](#32) * **isValid3DBoundingBox:** add robust snapshot tests ([a37ec48](a37ec48)), closes [#32](#32) * **isValid3DCoordinate:** add robust snapshot tests ([56fbf92](56fbf92)), closes [#32](#32) * **isValidBoundingBox:** add robust snapshot tests ([063b94e](063b94e)), closes [#32](#32) * **isValidCoordinate:** add robust snapshot tests ([7b4a804](7b4a804)), closes [#32](#32) * **toBeAnyGeometry:** add robust snapshot tests ([8a6e611](8a6e611)), closes [#32](#32) * **toBeLineStringGeometry:** add robust snapshot tests ([cfaed46](cfaed46)), closes [#32](#32) * **toBeMultiLineStringGeometry:** add robust snapshot tests ([57dc767](57dc767)), closes [#32](#32) * **toBeMultiPointGeometry:** add robust snapshot tests ([36013e1](36013e1)), closes [#32](#32) * **toBeMultiPolygonGeometry:** add robust snapshot tests ([df1c23a](df1c23a)), closes [#32](#32) * **toBePointGeometry:** add robust snapshot tests ([fd5c516](fd5c516)), closes [#32](#32) * **toBePolygonGeometry:** add robust snapshot tests ([1c9df69](1c9df69)), closes [#32](#32) * **toBeMultiLineStringGeometry:** fix coordinate out of range test that ([d6fe2ac](d6fe2ac)) * **toBeMultiPointGeometry:** fix typo in test and core function that was omitting coverage ([bc10f4e](bc10f4e)) * **isValid2DBoundingBox:** fix typo in test descriptions ([df94c27](df94c27)) * setup the project testing framework ([6a95c37](6a95c37)) ### 🎁 Feature Changes * **isValid2DBoundingBox:** add new matcher function ([7fe56f3](7fe56f3)), closes [#6](#6) * **isValid2DCoordinate:** add new matcher function ([527bbc4](527bbc4)), closes [#1](#1) * **isValid3DCoordinate:** add new matcher function ([0329231](0329231)), closes [#2](#2) * **isValidCoordinate:** add new matcher function ([d7e5b70](d7e5b70)), closes [#4](#4) * **isValid3DBoundingBox:** add new matcher ([6ee8cc6](6ee8cc6)), closes [#7](#7) * **isValidBoundingBox:** add new matcher ([9a8b7ed](9a8b7ed)), closes [#8](#8) * **toBeAnyGeometry:** add new matcher ([ed7c3eb](ed7c3eb)), closes [#15](#15) * **toBeFeature:** add new matcher ([551aa7f](551aa7f)), closes [#32](#32) [#24](#24) * **toBeFeatureCollection:** add new matcher ([21fe044](21fe044)), closes [#25](#25) * **toBeGeometryCollection:** add new matcher ([63cc919](63cc919)), closes [#16](#16) * **toBeLineStringGeometry:** add new matcher ([54416a5](54416a5)), closes [#11](#11) * **toBeMultiLineStringGeometry:** add new matcher ([3d3a15e](3d3a15e)), closes [#12](#12) * **toBeMultiPointGeometry:** add new matcher ([9a12752](9a12752)), closes [#10](#10) * **toBeMultiPolygonGeometry:** add new matcher ([41fef3a](41fef3a)), closes [#14](#14) * **toBePointGeometry:** add new matcher ([9973afa](9973afa)), closes [#9](#9) * **toBePolygonGeometry:** add new matcher ([3b9d18d](3b9d18d)), closes [#13](#13) * split package exports into matcher and core functionality ([a7340d9](a7340d9)), closes [#5](#5) ### 🏗️ Build Changes * add conventional-changelog-conventionalcommits as dev dependency ([7361d79](7361d79)), closes [#3](#3) * **package:** add entry points for all, boundingboxes, and coordinates ([8c1d312](8c1d312)) * move release configuration into a separate shareable file ([fa6e50d](fa6e50d)) * **package:** rename matcher loader entry script ([5221d6d](5221d6d)) * setup initial project environment ([b468a41](b468a41)) * **package:** update the commitizen config for customized scopes ([ac05626](ac05626)) * **devDependencies:** upgrade Jest to v28.1, specify peerDependency at >v24.0.0 ([22d1614](22d1614)), closes [#30](#30) * **package:** upgrade min required Node version to 16 ([58a9824](58a9824)) * **package:** upgrade minimum required node version from 10 to 14 to match LTS schedule ([1e8a8bb](1e8a8bb))
🎉 This issue has been resolved in version 1.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
18 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The core functionality should be exportable outside of the Jest environment. For example, I should be able to do the following:
By having this kind of functionality, developers can use the core logic within other scripts and applications. If desired, it would even support porting
jest-geojson
to other testing frameworks.To accomplish this, the
index.js
file will need to export objects in the following structure:For testing this functionality, all individual functions already get tested with the Jest framework itself. The only additional test needs to be a
core.test.js
suite that verifies all expected functions are present on the exported object.This will also require an update to
JestSetup.js
to be more specific in how it loads all the matchers.The text was updated successfully, but these errors were encountered: