-
Notifications
You must be signed in to change notification settings - Fork 90
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
1740: Switch from rollup to vite, from commonjs to ecmascript modules r=Strift a=flevi29 # Pull Request ## Related issue Fixes #1626 ~~Waiting on #1739~~ ## What does this PR do? - switches bundler from [`rollup`](https://rollupjs.org/) to [`vite`](https://vite.dev/), which internally uses `rollup`, but makes things a lot shorter and simpler - removes the need for separate `vitest.config.js` - removes the need for [`scripts/file-size.js`](https://github.com/meilisearch/meilisearch-js/blob/main/scripts/file-size.js), packages `kleur`, `pretty-bytes`, `brotli-size`, `gzip-size`, as it prints sizes by default - removes the need for all of the `rollup` plugins and dependencies (``@rollup/plugin-terser`,` ``@babel/core`,` ``@babel/preset-env`,` ``@rollup/plugin-babel`,` ``@rollup/plugin-commonjs`,` ``@rollup/plugin-json`,` ``@rollup/plugin-node-resolve`,` `rollup-plugin-typescript2`) - removes the need for `shx` package, and `cleanup` script, as it clears `dist` itself - switches from CJS to ESM ([`"type": "module"`](https://nodejs.org/api/packages.html#type)) - every `.js` project file now needs to be written in ESM syntax, the web standard syntax - TypeScript files were already written in ESM syntax, so this just makes things more consistent - updates TypeScript and makes some changes to `tsconfig.json` according to https://www.typescriptlang.org/docs/handbook/modules/guides/choosing-compiler-options.html#im-writing-a-library - is now used to transpile ESM version of this package - most importantly sets `module` to `node16` and `verbatimModuleSyntax` to `true`, this requires changes to all TypeScript files so they may be compatible with the web standard ESM - all imported files now require a `.js` extension - there is no more support for `index` directory imports, as that is only a Node.js thing, the web doesn't support it - when importing types, we need to explicitly specify that we're doing so with the `type` keyword > [!WARNING] > - DEPRECATE default export #1789 > - DEPRECATION: UMD bundle will no longer extend `window` with the exports in the future, instead it will only extend it with property `meilisearch` which contains the exports #1806 > ### Old > ```html > <script> > const client = new MeiliSearch(/* ... */); > </script> > ``` > ### New > ```html > <script> > const client = new meilisearch.MeiliSearch(/* ... */); > </script> > ``` ## PR checklist Please check if your PR fulfills the following requirements: - [x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)? - [x] Have you read the contributing guidelines? - [x] Have you made sure that the title is accurate and descriptive of the changes? Thank you so much for contributing to Meilisearch! Co-authored-by: F. Levi <55688616+flevi29@users.noreply.github.com>
- Loading branch information
Showing
83 changed files
with
654 additions
and
2,238 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import { parseArgs } from "node:util"; | ||
import pkg from "../package.json" with { type: "json" }; | ||
import { fileURLToPath } from "node:url"; | ||
import { resolve, dirname, join, basename } from "node:path"; | ||
import { copyFile } from "node:fs/promises"; | ||
|
||
const { | ||
values: { to }, | ||
} = parseArgs({ options: { to: { type: "string" } } }); | ||
|
||
if (to === undefined) { | ||
throw new Error("required argument `to` missing"); | ||
} | ||
|
||
const umdAbsolutePath = resolve( | ||
dirname(fileURLToPath(import.meta.url)), | ||
join("..", pkg.main), | ||
); | ||
|
||
await copyFile(umdAbsolutePath, join(to, basename(pkg.main))); |
Oops, something went wrong.