Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Differential legacy builds #12

Open
Rich-Harris opened this issue Sep 16, 2020 · 37 comments · May be fixed by #6265
Open

Differential legacy builds #12

Rich-Harris opened this issue Sep 16, 2020 · 37 comments · May be fixed by #6265
Labels
Milestone

Comments

@Rich-Harris
Copy link
Member

Rich-Harris commented Sep 16, 2020

Not yet sure what this looks like

@Rich-Harris Rich-Harris transferred this issue from another repository Oct 15, 2020
@FredKSchott

This comment has been minimized.

@Rich-Harris Rich-Harris added this to the 1.0 milestone Oct 29, 2020
@benmccann benmccann mentioned this issue Oct 29, 2020
@benmccann benmccann removed the snowpack label Mar 2, 2021
@benmccann benmccann changed the title Differential builds Differential legacy builds Mar 14, 2021
@backflip
Copy link

Unverified assumption: https://github.com/vitejs/vite/tree/main/packages/plugin-legacy might help here.

@seanlail
Copy link
Contributor

seanlail commented Apr 7, 2021

If legacy support is added it will likely add security vulnerabilities.

Which is fine... if legacy is opt-in only the user should be warned that it could be dangerous.
The thing to watch out for is that these vulnerabilities are not exposed to the non-legacy / default setup.

This has come up in a few tickets in Sapper and most recently here:
sveltejs/sapper#1760

Relates to #93

@Rich-Harris Rich-Harris modified the milestones: 1.0, post-1.0 May 1, 2021
@johngrasty
Copy link

I have not doubt this is a pain, but I am very glad that it is being considered though. These legacy platforms are no fun, but they are still often a reality. Thank y'all for all of the hard work on this project. It really is great!

@silllli
Copy link

silllli commented May 16, 2021

+1 @johngrasty

(I have used a solution based on Antony Jones’ repository (antony/sapper-ie) for IE11 support with Sapper and was quite happy I got it working rather automatically.

If you work on projects for or visited by public institutions in Germany, there are chances that these visitors are using an old, restricted Windows machine. 😢)

@lukechu10
Copy link

Is there any update or plan for this? This is a deal breaker for me and preventing me from migrating over from sapper because I need to target a platform that does not support native ESM. I tried using @vitejs/plugin-legacy but it doesn't seem to play nice with SvelteKit (maybe because of SSR?)

@TracerBuilt
Copy link

I was able to get @vitejs/plugin-legacy configured and outputting legacy chunks properly, but the <script nomodule> tag doesn’t appear to be getting passed through to the resulting html from @sveltejs/adapter-netlify. Are there any ways at all to accomplish this currently? I really need to be able to provide legacy support, and haven’t been able to find any concrete information about how to do it.

@smertelny
Copy link

smertelny commented Nov 1, 2021

I was able to get @vitejs/plugin-legacy configured and outputting legacy chunks properly, but the <script nomodule> tag doesn’t appear to be getting passed through to the resulting html from @sveltejs/adapter-netlify. Are there any ways at all to accomplish this currently? I really need to be able to provide legacy support, and haven’t been able to find any concrete information about how to do it.

I've managed to make it work in IE11 with @vitejs/plugin-legacy and staticAdapter by adding necessary polyfills by hand ('custom-event-polyfill' , 'core-js/modules/es.promise.js', 'regenerator-runtime/runtime') but the biggest problem is that you will need to add some code to each html file with legacy build scripts, like this

<script nomodule="" src="/_app/assets/polyfills-legacy.[hash].js"></script>
<script nomodule="">
  System.import("/_app/start-legacy-[hash].js").then(function(mod) {
    mod.start({ // all options was taken from code generated by sveltekit in type="module" script
				target: document.querySelector("#svelte"),
				paths: {"base":"","assets":""},
				session: {},
				host: location.host,
				route: true,
				spa: false,
				trailing_slash: "never",
				hydrate: {
					status: 200,
					error: null,
					nodes: [
						System.import("/_app/layout.svelte-legacy-[hash].js"), // "import" call changed to System.import in order to work in old browsers
						System.import("/_app/pages/about.svelte-legacy-[hash]js")
					],
					page: {
						host: location.host, // TODO this is redundant
						path: "\u002Fabout",
						query: new URLSearchParams(""),
						params: {}
					}
				}
			});
  })
</script>

I was trying to understand how to make sveltekit generate such a code to be added to %svelte.body% but didn't make it. Will try to look at this in near future, if I will have time.
Hope it will help someone in future investigations)

Update: I've managed to monkey-patch (under monkey-patching I mean that I just added some functions and data here and there and it just works) build_server and render_response functions in order to provide needed data for template and build sites with adapter-static and adapter-node which could be opened with IE11 and it worked. Don't know if I could provide a proper pull request for this, to be honest

@rodoch
Copy link

rodoch commented Nov 2, 2021

@smertelny I've been working on something similar and was falling at the last hurdle (i.e. calling the client start function successfully in legacy browsers). I'd love to see what you've done if you were able to put it in a repo somewhere and I might be willing to take a PR on.

@winston0410
Copy link

@NikolayMakhonin same thing in clean latest version of sveltekit with this plugin (vitejs/plugin-legacy) but with errors :

> my-app@0.0.1 build
> vite build

vite v3.0.2 building for production...
✓ 34 modules transformed.
[vite-plugin-svelte-kit] ENOENT: no such file or directory, open 'D:\projects\my-app\.svelte-kit/output/client//manifest.json'
error during build:
Error: ENOENT: no such file or directory, open 'D:\projects\my-app\.svelte-kit/output/client//manifest.json'
      at Object.openSync (node:fs:585:3)
      at Object.readFileSync (node:fs:453:35)
      at client_build_info (file:///D:/projects/my-app/node_modules/@sveltejs/kit/dist/vite.js:2921:16)
      at Object.writeBundle (file:///D:/projects/my-app/node_modules/@sveltejs/kit/dist/vite.js:3062:19)
      at file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:22694:37
      at async Promise.all (index 0)
      at async file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:23717:13
      at async catchUnfinishedHookActions (file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:23040:20)
      at async doBuild (file:///D:/projects/my-app/node_modules/vite/dist/node/chunks/dep-1513d487.js:43468:26)
      at async build (file:///D:/projects/my-app/node_modules/vite/dist/node/chunks/dep-1513d487.js:43297:16)

and strange, double slash in the file path client//manifest.json

my package-lock.json:

"@sveltejs/kit": {
	"version": "1.0.0-next.382",
	...
},
"@sveltejs/vite-plugin-svelte": {
	"version": "1.0.1",
	...
},
"vite": {
	"version": "3.0.2",
	...
},
"@vitejs/plugin-legacy": {
	"version": "2.0.0",
	...
}

while the plugin returns js files legacy

without the plugin returns all files (js, assets directory: css, woff, woff2, svg, and manifest.json) no-legacy

sorry i'm using a translator

I can confirm I have the same error, the path is malformed there after using the legacy plugin.

@smertelny
Copy link

Finally I had some time to look into it (again).
The path with two slashes (//) is working (somehow) and is not causing any troubles, because this path is same when building without plugin-legacy.
The problem is that "manifest.json" is not formed by vite while using plugin-legacy at the moment sveltkit's vite plugin is trying to read it.

But there is another problem for implementing legacy build and it is a module that is inlined into page with start and set_public_env function in it.
Is there anything that stops us from extracting it into it's own file and extracting data needed for hydration into some script tag with application/json type in order not to trigger CSP?

@ZaDarkSide
Copy link

ZaDarkSide commented Aug 8, 2022

@NikolayMakhonin same thing in clean latest version of sveltekit with this plugin (vitejs/plugin-legacy) but with errors :

> my-app@0.0.1 build
> vite build

vite v3.0.2 building for production...
✓ 34 modules transformed.
[vite-plugin-svelte-kit] ENOENT: no such file or directory, open 'D:\projects\my-app\.svelte-kit/output/client//manifest.json'
error during build:
Error: ENOENT: no such file or directory, open 'D:\projects\my-app\.svelte-kit/output/client//manifest.json'
      at Object.openSync (node:fs:585:3)
      at Object.readFileSync (node:fs:453:35)
      at client_build_info (file:///D:/projects/my-app/node_modules/@sveltejs/kit/dist/vite.js:2921:16)
      at Object.writeBundle (file:///D:/projects/my-app/node_modules/@sveltejs/kit/dist/vite.js:3062:19)
      at file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:22694:37
      at async Promise.all (index 0)
      at async file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:23717:13
      at async catchUnfinishedHookActions (file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:23040:20)
      at async doBuild (file:///D:/projects/my-app/node_modules/vite/dist/node/chunks/dep-1513d487.js:43468:26)
      at async build (file:///D:/projects/my-app/node_modules/vite/dist/node/chunks/dep-1513d487.js:43297:16)

We need this fixed same thing is happening to me too, no manifest.json for client is created only for server.

@perqa
Copy link

perqa commented Aug 8, 2022

Looks like this issue is tagged as post-1.0. Since it is the one issue which blocks me (and others) from using Sveltekit in projects, I would like to suggest to move it to 1.0 tag, like it used to be. @Rich-Harris ? Is it definitely out of scope?

Sveltekit is a great candidate when developing apps for low-performant devices, since it is less demanding in runtime than most other frameworks. However, those low-performant devices usually require legacy support, and that's the blocker.

@Tal500
Copy link
Contributor

Tal500 commented Aug 22, 2022

@NikolayMakhonin same thing in clean latest version of sveltekit with this plugin (vitejs/plugin-legacy) but with errors :

> my-app@0.0.1 build
> vite build

vite v3.0.2 building for production...
✓ 34 modules transformed.
[vite-plugin-svelte-kit] ENOENT: no such file or directory, open 'D:\projects\my-app\.svelte-kit/output/client//manifest.json'
error during build:
Error: ENOENT: no such file or directory, open 'D:\projects\my-app\.svelte-kit/output/client//manifest.json'
      at Object.openSync (node:fs:585:3)
      at Object.readFileSync (node:fs:453:35)
      at client_build_info (file:///D:/projects/my-app/node_modules/@sveltejs/kit/dist/vite.js:2921:16)
      at Object.writeBundle (file:///D:/projects/my-app/node_modules/@sveltejs/kit/dist/vite.js:3062:19)
      at file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:22694:37
      at async Promise.all (index 0)
      at async file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:23717:13
      at async catchUnfinishedHookActions (file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:23040:20)
      at async doBuild (file:///D:/projects/my-app/node_modules/vite/dist/node/chunks/dep-1513d487.js:43468:26)
      at async build (file:///D:/projects/my-app/node_modules/vite/dist/node/chunks/dep-1513d487.js:43297:16)

and strange, double slash in the file path client//manifest.json

my package-lock.json:

"@sveltejs/kit": {
	"version": "1.0.0-next.382",
	...
},
"@sveltejs/vite-plugin-svelte": {
	"version": "1.0.1",
	...
},
"vite": {
	"version": "3.0.2",
	...
},
"@vitejs/plugin-legacy": {
	"version": "2.0.0",
	...
}

while the plugin returns js files legacy

without the plugin returns all files (js, assets directory: css, woff, woff2, svg, and manifest.json) no-legacy

sorry i'm using a translator

Finally I had some time to look into it (again). The path with two slashes (//) is working (somehow) and is not causing any troubles, because this path is same when building without plugin-legacy. The problem is that "manifest.json" is not formed by vite while using plugin-legacy at the moment sveltkit's vite plugin is trying to read it.

But there is another problem for implementing legacy build and it is a module that is inlined into page with start and set_public_env function in it. Is there anything that stops us from extracting it into it's own file and extracting data needed for hydration into some script tag with application/json type in order not to trigger CSP?

@NikolayMakhonin same thing in clean latest version of sveltekit with this plugin (vitejs/plugin-legacy) but with errors :

> my-app@0.0.1 build
> vite build

vite v3.0.2 building for production...
✓ 34 modules transformed.
[vite-plugin-svelte-kit] ENOENT: no such file or directory, open 'D:\projects\my-app\.svelte-kit/output/client//manifest.json'
error during build:
Error: ENOENT: no such file or directory, open 'D:\projects\my-app\.svelte-kit/output/client//manifest.json'
      at Object.openSync (node:fs:585:3)
      at Object.readFileSync (node:fs:453:35)
      at client_build_info (file:///D:/projects/my-app/node_modules/@sveltejs/kit/dist/vite.js:2921:16)
      at Object.writeBundle (file:///D:/projects/my-app/node_modules/@sveltejs/kit/dist/vite.js:3062:19)
      at file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:22694:37
      at async Promise.all (index 0)
      at async file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:23717:13
      at async catchUnfinishedHookActions (file:///D:/projects/my-app/node_modules/rollup/dist/es/shared/rollup.js:23040:20)
      at async doBuild (file:///D:/projects/my-app/node_modules/vite/dist/node/chunks/dep-1513d487.js:43468:26)
      at async build (file:///D:/projects/my-app/node_modules/vite/dist/node/chunks/dep-1513d487.js:43297:16)

We need this fixed same thing is happening to me too, no manifest.json for client is created only for server.

I'm glad to announce that I had managed to fix this problem on my fork (which is a continuation of PR #2745 by @smertelny).

The reason for the manifest problem is that Vite generates the manifest only after all Rollup build outputs end, as we can see in the internal Vite manifest plugin, in the generateBundle stage:
https://github.com/vitejs/vite/blob/81989bfb32bee3138f406350d518c53b1683919e/packages/vite/src/node/plugins/manifest.ts#L125-L137

Vite-Legacy plugin modifies Rollup output to be an array in size of at least two, one for the legacy version and the other targets for the original:
https://github.com/vitejs/vite/blob/31c2926c681f33552afee8b5e3f5d1f3fc52d069/packages/plugin-legacy/src/index.ts#L307-L314

So in a similar fashion to the internal manifest plugin, I had modified the writeBundle stage in kit plugin, to be processed only after all Rollup build output had been done (since it is called after every output that is done), and now it receives the manifest file:
https://github.com/Tal500/kit/blob/365fc7c20ae2ec365efef204489fbfc204fc15b1/packages/kit/src/vite/index.js#L334-L341

This took me so much time to investigate, I had to make my own version of the vite-legacy and the manifest plugin until I had found this logic. (Why does Vite documentation can't be better and in more details???)
Now the legacy files generation works well!
Basically, now the only thing that is left to my fork is to generate correctly the HTML JS legacy imports and the "nomodule" fixes, and then SvelteKit legacy support could work well! (Need also to clean my code, but who cares :-) )

Looks like this issue is tagged as post-1.0. Since it is the one issue which blocks me (and others) from using Sveltekit in projects, I would like to suggest to move it to 1.0 tag, like it used to be. @Rich-Harris ? Is it definitely out of scope?

Sveltekit is a great candidate when developing apps for low-performant devices, since it is less demanding in runtime than most other frameworks. However, those low-performant devices usually require legacy support, and that's the blocker.

I totally agree.
I saw many features that are important for this project, like internalization, but not legacy.
Although internalization is way more important, legacy is much more urgent since the former can be solved by external libraries of Svelte (which already exists), but the latter must be solved internally in the library, since it's a core issue in the system.

I think that beside the time for implementation, Rich is concerned about the stability of the API for 1.0.
For fixing Rich's concerns, I suggest to have in SvelteKit configuration some section of "experimental features"(i.e. kit.experimental), which are not promised to work, and their API can be changed all the time. This is common in many framework.
If the legacy feature will be pushed too close to the release, it can be marked as experimental.

@Tal500
Copy link
Contributor

Tal500 commented Aug 25, 2022

I'm glad to share my work - PR #6265, solving this issue.

Please test locally in your legacy browsers and share your experience, I have only tested it on IE11.

@ZaDarkSide
Copy link

@vitejs/plugin-legacy was updated to 2.0.1

@Tal500
Copy link
Contributor

Tal500 commented Aug 26, 2022

@vitejs/plugin-legacy was updated to 2.0.1

Yes, the demos on my PR #6265 are using it! Thought I'm not sure the update made a difference.

@polioan
Copy link

polioan commented Nov 1, 2022

Same err with @vitejs/plugin-legacy and manifest.json

@0x366
Copy link

0x366 commented Jan 9, 2023

Any updates? Using latest sveltekit with node-adapter with 3.0.1 legacy plugin and still get this error, that vite_manifest.json is not found in .svelte-kit/output/server/vite-manifest.json

[vite-plugin-sveltekit-compile] ENOENT: no such file or directory, open '<proj path>.svelte-kit/output/client/vite-manifest.json' error during build: Error: ENOENT: no such file or directory, open '<proj path>.svelte-kit/output/client/vite-manifest.json' at Object.openSync (node:fs:594:3) at Object.readFileSync (node:fs:462:35) at client_build_info (file://<proj path>node_modules/@sveltejs/kit/src/exports/vite/index.js:189:7) at Object.handler (file://<proj path>node_modules/@sveltejs/kit/src/exports/vite/index.js:501:20) at file://<proj path>node_modules/rollup/dist/es/shared/rollup.js:23660:40 at async PluginDriver.hookParallel (file://<proj path>node_modules/rollup/dist/es/shared/rollup.js:23582:17) at async file://<proj path>node_modules/rollup/dist/es/shared/rollup.js:24990:13 at async catchUnfinishedHookActions (file://<proj path>node_modules/rollup/dist/es/shared/rollup.js:24022:20) at async doBuild (file://<proj path>node_modules/vite/dist/node/chunks/dep-5e7f419b.js:44518:22) at async build (file://<proj path>node_modules/vite/dist/node/chunks/dep-5e7f419b.js:44347:16) at async CAC.<anonymous> (file://<proj path>node_modules/vite/dist/node/cli.js:808:9)

@HelloLudger
Copy link

If you work on projects for or visited by public institutions in Germany, there are chances that these visitors are using an old, restricted Windows machine. 😢)

@silllli this is exactly my problem. I fear the browser and Windows version are not the real problem. They probably use a white list. Complex JavaScript apps like Google Maps work, but the Svelte test-page (even the legacy test-page) do not work.

Have you found a workaround?

@silllli
Copy link

silllli commented Jan 10, 2023

If you work on projects for or visited by public institutions in Germany, there are chances that these visitors are using an old, restricted Windows machine. 😢)

@silllli this is exactly my problem. I fear the browser and Windows version are not the real problem. They probably use a white list. Complex JavaScript apps like Google Maps work, but the Svelte test-page (even the legacy test-page) do not work.

Have you found a workaround?

I still use Sapper 🥲

@Tal500
Copy link
Contributor

Tal500 commented Jan 10, 2023

If you work on projects for or visited by public institutions in Germany, there are chances that these visitors are using an old, restricted Windows machine. 😢)

@silllli this is exactly my problem. I fear the browser and Windows version are not the real problem. They probably use a white list. Complex JavaScript apps like Google Maps work, but the Svelte test-page (even the legacy test-page) do not work.
Have you found a workaround?

I still use Sapper 🥲

I was also like this, until I have become more aggressive, so I created my own PR #6265 and maintain my own fork of SvelteKit. Please tell me if this PR and the demo have a nice DX for you.
It still requires the browser version to be at least IE11 or something similar though, can't pass through this limit.

@ZaDarkSide
Copy link

@Rich-Harris please take a look at the PR #6265 from @Tal500 we need this feature in SvelteKit 👍

@jokin
Copy link

jokin commented Feb 23, 2023

It still requires the browser version to be at least IE11 or something similar though, can't pass through this limit.

for me is more than enough, as what i need to support are chrome 49 and opera 32 versions, because of deployed fleets of tvs that included that versions, well, deployed and even new tvs came with that browser versions, so your fork has been a nice thing to start migrating from sapper version.

There's something that we can do to help integrate this fork more easily in the main branch?

@Tal500
Copy link
Contributor

Tal500 commented Feb 23, 2023

It still requires the browser version to be at least IE11 or something similar though, can't pass through this limit.

for me is more than enough, as what i need to support are chrome 49 and opera 32 versions, because of deployed fleets of tvs that included that versions, well, deployed and even new tvs came with that browser versions, so your fork has been a nice thing to start migrating from sapper version.

There's something that we can do to help integrate this fork more easily in the main branch?

This PR is outdated. Please see my own PR based on this one, in #6265.

@gamesguru
Copy link

gamesguru commented Apr 15, 2023

@Tal500

@Rich-Harris expressed concerns with merging legacy support to the main kit. He suggested this be made into a plugin, rather than core functionality. Would it be possible to maintain this as a fork until there is community consensus?

His other suggestion of progressive enhancement seems woefully at odds with the frameworks of vite and svelte, which take the unique approach of prioritizing modern support and leaving legacy browsers as an afterthought. But I read Vue 3 will not support ES5 out of the box, so this may increasingly become the case.

It has been pointed out that svelte is an unusually speedy framework. I'm wondering what can be done to make it an unusually backward compatible framework as well? Having things break on older devices with no warning or explanation is not a good look.

Edit:

Looks like nginx has some support for browser specific serving. But we don't even have working ES5 builds for svelte projects?

https://nginx.org/en/docs/http/ngx_http_browser_module.html

@Tal500
Copy link
Contributor

Tal500 commented Apr 15, 2023

@Tal500

@Rich-Harris expressed concerns with merging legacy support to the main kit. He suggested this be made into a plugin, rather than core functionality. Would it be possible to maintain this as a fork until there is community consensus?

Sadly, that's what I'm doing currently, while still hoping for a solution from the core team.
Another disappointing fact is that I don't see how this feature can be extracted to a plugin in a normal way, since the "logic extraction" is already done by using the external Vite plugin-legacy. The main concern for SvelteKit is to write a legacy-compatible code, while the legacy bundling is done by the external Vite plugin already.

His other suggestion of progressive enhancement seems woefully at odds with the frameworks of vite and svelte, which take the unique approach of prioritizing modern support and leaving legacy browsers as an afterthought. But I read Vue 3 will not support ES5 out of the box, so this may increasingly become the case.

That's not true about Vue 3, see Vue 3 Browser Compatibility.
Basically, the Vite plugin-legacy is a piece of code written by the same guys maintaining Vue, so the same logic, however in a fancier more universal form, is being offered by Vite plugin-legacy.
SvelteKit has an advantage over Vue that it's specific only to the Vite bundler, so we can leverage the hard work that done by the Vite plugin-legacy, we just need to "read" its results correctly, and this is basically what my PR is doing(plus many tests and etc.).

It has been pointed out that svelte is an unusually speedy framework. I'm wondering what can be done to make it an unusually backward compatible framework as well? Having things break on older devices with no warning or explanation is not a good look.

Totally agree!

Edit:

Looks like nginx has some support for browser specific serving. But we don't even have working ES5 builds for svelte projects?

https://nginx.org/en/docs/http/ngx_http_browser_module.html

The philosophy of "modern" legacy support is to not distinguish the legacy browsers in the HTTP request level, but on the client level instead, making it so simpler basically for everything (testing/debugging/caching/static-serving...). Thankfully, the solution in the client level is simple enough so you wouldn't naturally like to go to these places.

@gamesguru
Copy link

@Tal500 Do you have it in the npm registry? As long as it's merged within the last few versions, I don't need the latest. Do we still need the legacy adapter if we're going to use this?

Other than that, I would try out Sapper I guess.

@madkarlsson
Copy link

@gamesguru

Other than that, I would try out Sapper I guess.

Sapper is deprecated and should not be an alternative or a solution for anything at this point

https://sapper.svelte.dev/docs

Sapper has been deprecated in favor of SvelteKit. We recommend using SvelteKit.
for all projects moving forward. Sapper will no be receiving security fixes, bug fixes, or any type of improvements.

fetinin pushed a commit to fetinin/pocket-planner that referenced this issue Jul 22, 2023
Because plugin/legacy doesn't work correctly with sveltekit: sveltejs/kit#12
This reverts commit 85acd5a.
@Tal500
Copy link
Contributor

Tal500 commented Aug 25, 2023

@Tal500 Do you have it in the npm registry? As long as it's merged within the last few versions, I don't need the latest. Do we still need the legacy adapter if we're going to use this?

Other than that, I would try out Sapper I guess.

Sorry for the long wait, but I think I cannot keep update every time a new kit conflict occurs.
I'll be glad if anyone could help me keep update the versioning, since I don't have time for this side project for now.

@intzaaa
Copy link

intzaaa commented Oct 1, 2023

Any updates? . . .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.