- Delete old Vite+Svelte frontend - Initialize new SvelteKit project with TypeScript - Configure Tailwind CSS v4 + DaisyUI - Implement JWT authentication with auto-refresh - Create login page with form validation (Zod) - Add protected route guards - Update Docker configuration for single-stage build - Add E2E tests with Playwright (6/11 passing) - Fix Svelte 5 reactivity with $state() runes Known issues: - 5 E2E tests failing (timing/async issues) - Token refresh implementation needs debugging - Validation error display timing
28 lines
970 B
Markdown
28 lines
970 B
Markdown
# esm-env
|
|
|
|
Uses export conditions to return environment information in a way that works with major bundlers and runtimes.
|
|
|
|
## Usage
|
|
|
|
Install with `npm install esm-env`, then import as needed:
|
|
|
|
```js
|
|
import { BROWSER, DEV, NODE } from 'esm-env';
|
|
```
|
|
|
|
Specify `conditions` in your bundler or runtime. For example:
|
|
- [Node.js](https://nodejs.org/api/cli.html#-c-condition---conditionscondition)
|
|
- [Bun](https://bun.sh/docs/runtime/modules#custom-conditions)
|
|
- [Vite/Vitest](https://vite.dev/config/shared-options#resolve-conditions)
|
|
- [webpack](https://webpack.js.org/configuration/resolve/#resolveconditionnames)
|
|
|
|
If `esm-env` is used in both bundled code and an externalized library, you will need to specify conditions both at build-time and run-time.
|
|
|
|
## Acknowledgements
|
|
|
|
Thank you to [dominikg](https://github.com/dominikg) for refining the approach used by this library to suggest a more scalable method for adding additional conditions.
|
|
|
|
## License
|
|
|
|
[MIT](LICENSE)
|