* Added JSDoc for internal types and constants e.g. Unts and earthRadius. Minimal other changes to bring JSDoc types into line with code types. Added GeoJsonProperties to documentation.yml for type linking.
* Generated README.md files based on updated source that now includes JSDoc for internal types and constants e.g. Units. Also synced up some out of data JSDoc types with what is in the code.
* Switched the structure of documentation.yml to be more traditionally nested. We'll use this new structure from the turf-www repo to generate the website documentation in a more robust manner.
* For some reason leaving this function documented as the default (geojsonRbush) causes @turf/turf last-checks to fail. Specifically defining it as rbush like it used to be, except with the @function tag rather than @name.
* Moving to pnpm as package manager. Also taking the opportunity to tidy up our cjs / esm situation using tsup (instead of tsc and rollup). Can't get monorepolint to work with new setup so disabling for the time being.
* Changing all Turf imports to use named imports. Adding a few missing named exports. Updating github workflow actions to pnpm instead of yarn.
* Updating typescript module and moduleResolution mechanisms to "node16". Not tracking nodenext just yet. Changing tsup command to generate d.ts files that arethetypeswrong approves of.
* Tweaking github workflows to explicitely install pnpm.
* Looks like node needs the chosen cache binary installed first. Trying without cache as a first step.
* Seem to be hitting the tsx bug described here: https://github.com/privatenumber/tsx/issues/421 Upgrading to latest tsx to remedy.
* Forgot to update lock file after updating tsx dep in package.json files.
* Sorting modules exported from @turf/turf alphabetically. Preparatory commit to add unexported modules.
* Converting index.mjs to typescript, and simplifying re-exported imports, and ordering alphabetically. Added in a couple of packages - convex, booleanValid and nearestNeighbourAnalysis. Rollup now only used in packages/turf so merging project root base config into there. Also now only using rollup in packages/turf to do final conversion to web module. JS and d.ts files generated the same as other modules, using tsup.
* Including tslib in @turf/turf build now that it's a TS module.
* Lot of per-package tsconfig items now on the tsup command line, so stripping back tsconfig.json to the bare minimum. Adding tsconfig.json to packages that while still only JS, are now processed by tsup.
* Same as last commit - simplifying tsconfig.json - except these are the subset of packages that had multiple entry points e.g. 3rd party code hosted locally in lib/
* Incorporating some suggestions from @favna on being more explicit with d.ts entries. https://github.com/Turfjs/turf/issues/2307#issuecomment-1858653048 Specifying overall module type as commonjs explicitly.
* Reapplying cjsInterop / splitting workaround for CJS exports that we had on build target command line earlier in this PR in to tsup config file. Also disabling treeshaking as this was generating a warning for CJS files and causing the workaround above to not work.
* Upgrading rollup and related plugins. Updating to recommended modern browserslist config in babel.config.json e.g. previous chrome 67 and edge 17 are 5 years old, ie11 is just ... ugh
* Fluffed the browserslist config - need to cover es5 as well.
* Update .github/workflows/turf.yml to use actions/checkout v4.
Co-authored-by: Jeroen Claassens <jeroen.claassens@live.nl>
---------
Co-authored-by: Jeroen Claassens <jeroen.claassens@live.nl>
* Converting bench.js and test.js to Typescript. Adding along as a named export as well as the default.
* Converting bench.js and test.js to Typescript and ESM import. Adding angle as a named export as well as the default.
* Converting bench.js and test.js to Typescript and ESM import. Adding area as a named export as well as the default.
* Making turf last-checks a bit more flexible as we will have a mix of JS and TS test files for a while.
* Converting bench.js and test.js to Typescript and ESM import, and adding named exports as well as the default export for modules:
bbox
bboxCliip
bboxPolygon
bearing
bezierSpline
booleanClockwise
booleanConcave
booleanContains
booleanCrosses
booleanDisjoint
booleanEqual
booleanIntersect
booleanOverlap
booleanParallel
booleanPointInPolygon
booleanPointOnLine
booleanTouches
booleanValid
booleanWithin
* Converting bench.js and test.js to Typescript and ESM import for remaining Typescript modules. Also adding named exports in addition to the default export for those same modules.
* Proceeding with migrating remaining tests to Typescript. Still a few to do - waiting for PR #2543 to merge first to avoid conflicts.
* Converting bench.js and test.js to Typescript and ESM import for some more Typescript modules (postponed until recent PRs merged). Also adding named exports in addition to the default export for those same modules.
* Banishing a couple more require() calls from module code.
* Retiring custom rollup typescript plugin. Problem it was designed to address probably fixed by a previous typescript upgrade. Removing redundant es5 checking script that hasn't been used for a while as well.
* Lines with a 180 degree angle between them are considered parallel
* Add simple verticals test
* Add failing test case for 3d lines
* Fix verticals 3d test
* migrate to geojson types package
* strip geojson further
* migrate geojson type imports
* migrate more geojson type imports
* bump to geojson-rbush 3.2.0 and add line-overlap fix
* few more type migrations
* migrate to new internal es5 @turf/geojson-rbush
* migrate buffer to geojson types
* fix convertLength import
* Configure ESlint and Prettier
- Disable all eslint rules that trigger
- Build's lint step now runs monorepoint, prettier, and eslint
- Remove all tslint references
* [auto] run prettier on everything
Co-authored-by: Matt Fedderly <mfedderly@palantir.com>