express-restify-mongoose icon indicating copy to clipboard operation
express-restify-mongoose copied to clipboard

Convert to TypeScript

Open Zertz opened this issue 3 years ago • 4 comments

  • [x] Type check in CI
  • [x] Build ESM + CJS
  • [x] Build .d.ts
  • [x] Run tests on build output
  • [x] Add entrypoints in package.json
  • [x] Also bring moredots back in here

Breaking changes

  • allowRegex now defaults to false and returns an error when the query includes $regex
  • options.access can now be an async function (or return a Promise) and no longer accepts a callback
  • Removed defaults method: apps should define default options and spread them into serve options

Notable changes

  • Build output is ESM first but CJS is also present. In practice, this should be transparent.

Zertz avatar Oct 22 '22 04:10 Zertz

The "code smells" are bogus, I'm tempted to remove this workflow 🤔

Zertz avatar Oct 23 '22 22:10 Zertz

@florianholzapfel Are you open to disabling SonarCloud? I feel like it's not helpful since it seems like the only reason it started failing (in test files of all things!) is because formatting is now consistent, which enabled it to detect "duplication" that is neither new nor unexpected.

Do note that I've added a more exhaustive ESLint configuration so we do have some level of static analysis, along with TypeScript. Of course they are different tools but the general idea of improving code quality is the same.

Zertz avatar Nov 07 '22 13:11 Zertz

@florianholzapfel Are you open to disabling SonarCloud? I feel like it's not helpful since it seems like the only reason it started failing (in test files of all things!) is because formatting is now consistent, which enabled it to detect "duplication" that is neither new nor unexpected.

Do note that I've added a more exhaustive ESLint configuration so we do have some level of static analysis, along with TypeScript. Of course they are different tools but the general idea of improving code quality is the same.

Hello @Zertz, if SonarCloud gets into your way, feel free to disable it. I was just playing around with it when I thought I could spend some time working on the project.

As a side note, I really appreciate the great work you are doing here!

florianholzapfel avatar Nov 07 '22 14:11 florianholzapfel

I removed the workflow but it seems like there's probably an app/integration configured in the repository's settings which I don't have access to.

Thanks, I've been wanting to put some time into this for a while!

Zertz avatar Nov 07 '22 23:11 Zertz

@Zertz @florianholzapfel Any updates on this PR? There are some things I'd like to work on like the updateDeep option, but since this PR seems to be the future of this repository, I'm waiting for it to get merged.

T-vK avatar Jul 18 '23 11:07 T-vK

Let’s give Florian another week or so and then I’ll merge.

Zertz avatar Jul 18 '23 12:07 Zertz

@Zertz @florianholzapfel Can we get this merged now? :)

T-vK avatar Sep 26 '23 08:09 T-vK

I set a reminder to merge this and publish a major version.

Zertz avatar Sep 27 '23 13:09 Zertz

@T-vK v8.0.0 is published on npm, create an issue if you run into problems 🙏

Zertz avatar Oct 02 '23 13:10 Zertz

@Zertz Thank you so much! :pray:

T-vK avatar Oct 03 '23 21:10 T-vK