Enable unicorn eslint rule to enforce `node:fs` like specifiers for node
modules.
Previously `node:` prefix helped to find server code bundled in browser.
Ref
https://remix.run/docs/en/1.15.0/guides/constraints#server-code-pruning
Remix use NAME.server.ts extension to enforce omitting module from
client bundles. Though we heavily used `/server` in packages which had
no affect and blocked us in using a few node apis which were not
polifilled with empty modules while bundling for client.
Here I replaced `/server` with `/index.server` and removed all legacy
server entry points which are not longer necessary with new typescript
resolution.
This is computed field which is after moving logic to loaders equal to
asset.name so not really useful except for preview images.
Here object url for preview images is moved to container so there is no
need in asset.path here too.
Ref https://github.com/webstudio-is/webstudio-builder/issues/1179
Currently asset-uploader package consume all configuration from
environment. Though it prevents using any other environment.
Configuration better be passed from builder.
Here all s3 and fs related logic is splitted into fs client and s3
client which is configured and passed from builder.
For now splitted only delete and upload utilities.