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

Typescript tsc can not exclude node_modules/solid-start/ #255

Closed
P233 opened this issue Aug 17, 2022 · 20 comments
Closed

Typescript tsc can not exclude node_modules/solid-start/ #255

P233 opened this issue Aug 17, 2022 · 20 comments
Labels
enhancement New feature or request

Comments

@P233
Copy link

P233 commented Aug 17, 2022

When running the tsc command at a new created project root, I got the following error messages. Even I have already added "skipLibCheck": true and "exclude": ["node_modules"] to tsconfig.json. Is it something with "types": ["vite/client"] ?

...

Found 5 errors in 4 files.

Errors  Files
     2  node_modules/solid-start/entry-client/StartClient.tsx:3
     1  node_modules/solid-start/entry-server/StartServer.tsx:5
     1  node_modules/solid-start/islands/server-router.tsx:126
     1  node_modules/solid-start/types.ts:14

New project created via:

npm init solid@next
✔ Which template do you want to use? › bare
✔ Server Side Rendering? … yes
✔ Use TypeScript? … yes

version: v0.1.0-alpha.99

@viridia
Copy link

viridia commented Oct 17, 2022

I noticed this too.

Whenever I create a new project, the first test I always write is a "compilation test" - meaning that the test passes if the code can compile without errors. However, when I attempt to compile my solid-start project, I see that:

  1. The compilation takes a very long time to run (several minutes, when it would normally take one or two seconds.)
  2. I get compilation errors from the solid-start package.

I suspect this is due to the way that solid-start's exports are set up in package.json.

@luy19
Copy link

luy19 commented Oct 19, 2022

yes, solid-start contains a lot of ts errors, maybe the developer didn't use tsc to compile the code. 🤦‍♂️

@luy19
Copy link

luy19 commented Oct 19, 2022

Good news, I found a workaround: microsoft/TypeScript#38538 (comment)

@nirtamir2
Copy link
Contributor

@luy19 Can you share your workaround for solid-start with TypeScript?

@luy19
Copy link

luy19 commented Nov 8, 2022

@nirtamir2 here is my workaround, I hope this helps.
package.json

{
  "scripts": {
    "postinstall": "node add-ts-nocheck.cjs",
    "check": "tsc --noEmit"
  }
}

add-ts-nocheck.cjs

const fs = require("fs");

const ADDED_STR = "// @ts-nocheck\n\n";
const FILES = [
  "node_modules/solid-start/data/createRouteAction.tsx",
  "node_modules/solid-start/data/createRouteData.tsx",
  "node_modules/solid-start/data/Form.tsx",
  "node_modules/solid-start/entry-client/mount.tsx",
  "node_modules/solid-start/entry-client/StartClient.tsx",
  "node_modules/solid-start/entry-server/render.ts",
  "node_modules/solid-start/entry-server/StartServer.tsx",
  "node_modules/solid-start/error-boundary/ErrorBoundary.tsx",
  "node_modules/solid-start/islands/index.tsx",
  "node_modules/solid-start/root/InlineStyles.tsx",
  "node_modules/solid-start/root/Links.tsx",
  "node_modules/solid-start/root/Scripts.tsx",
  "node_modules/solid-start/router.tsx",
  "node_modules/solid-start/server/components/HttpHeader.tsx",
  "node_modules/solid-start/server/components/HttpStatusCode.tsx",
  "node_modules/solid-start/server/middleware.ts",
  "node_modules/solid-start/server/responses.ts",
  "node_modules/solid-start/server/server-functions/server.ts",
  "node_modules/solid-start/types.ts",
  "node_modules/solid-start/vite/plugin.d.ts",
  "node_modules/vite-plugin-solid/dist/types/index.d.ts",
];

Promise.allSettled(FILES.map(addTsNoCheck)).then((results) => {
  let hasErrors = false;

  for (const result of results) {
    if (result.status === "rejected") {
      hasErrors = true;
      console.error(result.reason);
    }
  }

  if (hasErrors) {
    process.exit(1);
  }
});

async function addTsNoCheck(file) {
  const content = fs.readFileSync(file).toString();

  if (content.includes(ADDED_STR)) {
    console.log(JSON.stringify(ADDED_STR), "is already in", file);
  } else {
    fs.writeFileSync(file, ADDED_STR + content);
    console.log(JSON.stringify(ADDED_STR), "added into", file);
  }
}

@thetarnav
Copy link
Contributor

@luy19 works great, thanks!
I had to add one more file though: node_modules/solid-start/islands/router.ts
And here is the whole project for reference: https://github.com/solidjs-community/solid.new

@knpwrs
Copy link
Contributor

knpwrs commented Nov 29, 2022

I'm currently working around this with https://www.npmjs.com/package/patch-package. This is my current patches/solid-start+0.2.6.patch file:

diff --git a/node_modules/solid-start/api/index.ts b/node_modules/solid-start/api/index.ts
index 0bf7898..b61d0de 100644
--- a/node_modules/solid-start/api/index.ts
+++ b/node_modules/solid-start/api/index.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { registerApiRoutes } from "./internalFetch";
 import { getRouteMatches } from "./router";
 import { MatchRoute, Method, Route } from "./types";
diff --git a/node_modules/solid-start/api/middleware.ts b/node_modules/solid-start/api/middleware.ts
index b9d01fc..787f8c0 100644
--- a/node_modules/solid-start/api/middleware.ts
+++ b/node_modules/solid-start/api/middleware.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { Middleware } from "../entry-server";
 import { FetchEvent, FETCH_EVENT } from "../server/types";
 import { getApiHandler } from "./index";
diff --git a/node_modules/solid-start/api/router.ts b/node_modules/solid-start/api/router.ts
index cc4eb7a..cbfdf6a 100644
--- a/node_modules/solid-start/api/router.ts
+++ b/node_modules/solid-start/api/router.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { MatchRoute, Method } from "./types";
 
 export function getRouteMatches(routes: MatchRoute[], path: string, method: Method) {
diff --git a/node_modules/solid-start/api/types.ts b/node_modules/solid-start/api/types.ts
index f0b94e2..a5ddba2 100644
--- a/node_modules/solid-start/api/types.ts
+++ b/node_modules/solid-start/api/types.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { FetchEvent, FETCH_EVENT } from "../server/types";
 
 export interface APIEvent extends FetchEvent {
diff --git a/node_modules/solid-start/data/Form.tsx b/node_modules/solid-start/data/Form.tsx
index 3f2a5b8..8744543 100644
--- a/node_modules/solid-start/data/Form.tsx
+++ b/node_modules/solid-start/data/Form.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 /*!
  * Original code by Remix Sofware Inc
  * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details
diff --git a/node_modules/solid-start/data/FormError.tsx b/node_modules/solid-start/data/FormError.tsx
index f0c79c3..2f34ed1 100644
--- a/node_modules/solid-start/data/FormError.tsx
+++ b/node_modules/solid-start/data/FormError.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 export class ServerError extends Error {
   status: number;
   constructor(message: string, { status, stack }: { status?: number; stack?: string } = {}) {
diff --git a/node_modules/solid-start/data/createRouteAction.tsx b/node_modules/solid-start/data/createRouteAction.tsx
index c9001c5..ff081e2 100644
--- a/node_modules/solid-start/data/createRouteAction.tsx
+++ b/node_modules/solid-start/data/createRouteAction.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { useNavigate, useSearchParams, type Navigator } from "@solidjs/router";
 import { $TRACK, batch, createSignal, useContext } from "solid-js";
 import { FormError, FormImpl, FormProps } from "./Form";
diff --git a/node_modules/solid-start/entry-client/StartClient.tsx b/node_modules/solid-start/entry-client/StartClient.tsx
index 9cb76d2..77a544a 100644
--- a/node_modules/solid-start/entry-client/StartClient.tsx
+++ b/node_modules/solid-start/entry-client/StartClient.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { MetaProvider } from "@solidjs/meta";
 import { Router, RouterProps } from "@solidjs/router";
 import Root from "~start/root";
diff --git a/node_modules/solid-start/entry-client/mount.tsx b/node_modules/solid-start/entry-client/mount.tsx
index 34df65e..9fb30b0 100644
--- a/node_modules/solid-start/entry-client/mount.tsx
+++ b/node_modules/solid-start/entry-client/mount.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import type { JSX } from "solid-js";
 import { getOwner } from "solid-js";
 import { createComponent, getNextElement, hydrate, render } from "solid-js/web";
diff --git a/node_modules/solid-start/entry-server/StartServer.tsx b/node_modules/solid-start/entry-server/StartServer.tsx
index fc20600..8f60620 100644
--- a/node_modules/solid-start/entry-server/StartServer.tsx
+++ b/node_modules/solid-start/entry-server/StartServer.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { MetaProvider } from "@solidjs/meta";
 import { RouteDataFunc, Router, RouterProps } from "@solidjs/router";
 import { ComponentProps, sharedConfig } from "solid-js";
diff --git a/node_modules/solid-start/entry-server/render.ts b/node_modules/solid-start/entry-server/render.ts
index 6ede4ac..45577da 100644
--- a/node_modules/solid-start/entry-server/render.ts
+++ b/node_modules/solid-start/entry-server/render.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { JSX } from "solid-js";
 import { renderToStream, renderToString, renderToStringAsync } from "solid-js/web";
 import { internalFetch } from "../api/internalFetch";
diff --git a/node_modules/solid-start/index.tsx b/node_modules/solid-start/index.tsx
index 74f088b..f73a665 100644
--- a/node_modules/solid-start/index.tsx
+++ b/node_modules/solid-start/index.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 export { Link, Meta, Style, Stylesheet, Title } from "@solidjs/meta";
 export {
   Navigate,
diff --git a/node_modules/solid-start/islands/index.tsx b/node_modules/solid-start/islands/index.tsx
index 5b8ff20..60ce9f9 100644
--- a/node_modules/solid-start/islands/index.tsx
+++ b/node_modules/solid-start/islands/index.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { Component, ComponentProps, lazy, splitProps, useContext } from "solid-js";
 import { Hydration, NoHydration } from "solid-js/web";
 import { ServerContext } from "../server/ServerContext";
diff --git a/node_modules/solid-start/islands/router.ts b/node_modules/solid-start/islands/router.ts
index d9618a5..ec9b156 100644
--- a/node_modules/solid-start/islands/router.ts
+++ b/node_modules/solid-start/islands/router.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import type { Location, Navigator } from "@solidjs/router";
 import { createSignal } from "solid-js";
 interface LocationEntry {
diff --git a/node_modules/solid-start/islands/server-router.tsx b/node_modules/solid-start/islands/server-router.tsx
index a778780..9b6e8f8 100644
--- a/node_modules/solid-start/islands/server-router.tsx
+++ b/node_modules/solid-start/islands/server-router.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { createContext, JSX, useContext } from "solid-js";
 import { ssr } from "solid-js/web";
 export interface RouteDefinition {
diff --git a/node_modules/solid-start/root/Document.tsx b/node_modules/solid-start/root/Document.tsx
index 19a9f0a..f3e3a0f 100644
--- a/node_modules/solid-start/root/Document.tsx
+++ b/node_modules/solid-start/root/Document.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import type { JSX } from "solid-js";
 import { children, ComponentProps } from "solid-js";
 import { insert, NoHydration, spread, ssrElement } from "solid-js/web";
diff --git a/node_modules/solid-start/root/InlineStyles.tsx b/node_modules/solid-start/root/InlineStyles.tsx
index d215c4b..83114ab 100644
--- a/node_modules/solid-start/root/InlineStyles.tsx
+++ b/node_modules/solid-start/root/InlineStyles.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { Style } from "@solidjs/meta";
 import { createResource, Show, Suspense, useContext } from "solid-js";
 import type { PageEvent } from "../server";
diff --git a/node_modules/solid-start/root/Links.tsx b/node_modules/solid-start/root/Links.tsx
index 04708cc..c4c121d 100644
--- a/node_modules/solid-start/root/Links.tsx
+++ b/node_modules/solid-start/root/Links.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { JSXElement, useContext } from "solid-js";
 import { useAssets } from "solid-js/web";
 import { ServerContext } from "../server/ServerContext";
diff --git a/node_modules/solid-start/root/Scripts.tsx b/node_modules/solid-start/root/Scripts.tsx
index ea6dae4..e4d41bd 100644
--- a/node_modules/solid-start/root/Scripts.tsx
+++ b/node_modules/solid-start/root/Scripts.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { useContext } from "solid-js";
 import { HydrationScript, isServer, NoHydration } from "solid-js/web";
 import { ServerContext } from "../server/ServerContext";
diff --git a/node_modules/solid-start/router.tsx b/node_modules/solid-start/router.tsx
index 56ba963..c6cb446 100644
--- a/node_modules/solid-start/router.tsx
+++ b/node_modules/solid-start/router.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import {
   A as BaseA,
   Location,
diff --git a/node_modules/solid-start/server/ServerContext.tsx b/node_modules/solid-start/server/ServerContext.tsx
index 006547d..02a89a8 100644
--- a/node_modules/solid-start/server/ServerContext.tsx
+++ b/node_modules/solid-start/server/ServerContext.tsx
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { PageEvent } from "./types";
 
 import { createContext, useContext } from "solid-js";
diff --git a/node_modules/solid-start/server/middleware.ts b/node_modules/solid-start/server/middleware.ts
index 3384200..447129e 100644
--- a/node_modules/solid-start/server/middleware.ts
+++ b/node_modules/solid-start/server/middleware.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { internalFetch } from "../api/internalFetch";
 import { Middleware as ServerMiddleware } from "../entry-server/StartServer";
 import { ContentTypeHeader, XSolidStartContentTypeHeader, XSolidStartOrigin } from "./responses";
diff --git a/node_modules/solid-start/server/responses.ts b/node_modules/solid-start/server/responses.ts
index 194cb45..4b46bf2 100644
--- a/node_modules/solid-start/server/responses.ts
+++ b/node_modules/solid-start/server/responses.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 export const XSolidStartStatusCodeHeader = "x-solidstart-status-code";
 export const XSolidStartLocationHeader = "x-solidstart-location";
 export const LocationHeader = "Location";
diff --git a/node_modules/solid-start/server/server-functions/server.ts b/node_modules/solid-start/server/server-functions/server.ts
index eee0504..a0df5aa 100644
--- a/node_modules/solid-start/server/server-functions/server.ts
+++ b/node_modules/solid-start/server/server-functions/server.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { sharedConfig } from "solid-js";
 import { internalFetch } from "../../api/internalFetch";
 import { FormError } from "../../data";
diff --git a/node_modules/solid-start/server/server-functions/types.ts b/node_modules/solid-start/server/server-functions/types.ts
index 507e529..4ad7a9c 100644
--- a/node_modules/solid-start/server/server-functions/types.ts
+++ b/node_modules/solid-start/server/server-functions/types.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import { FetchEvent } from "../types";
 
 export type ServerFunction<E extends any[], T extends (...args: [...E]) => void> = ((
diff --git a/node_modules/solid-start/session/cookie.ts b/node_modules/solid-start/session/cookie.ts
index aca7311..c80f546 100644
--- a/node_modules/solid-start/session/cookie.ts
+++ b/node_modules/solid-start/session/cookie.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 /*!
  * cookie
  * Copyright(c) 2012-2014 Roman Shtylman
diff --git a/node_modules/solid-start/session/cookies.ts b/node_modules/solid-start/session/cookies.ts
index bfde0bb..17ef465 100644
--- a/node_modules/solid-start/session/cookies.ts
+++ b/node_modules/solid-start/session/cookies.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 /*!
  * Original code by Remix Sofware Inc
  * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details
diff --git a/node_modules/solid-start/session/memoryStorage.ts b/node_modules/solid-start/session/memoryStorage.ts
index fac4ebe..8a14ea6 100644
--- a/node_modules/solid-start/session/memoryStorage.ts
+++ b/node_modules/solid-start/session/memoryStorage.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 /*!
  * Original code by Remix Sofware Inc
  * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details
diff --git a/node_modules/solid-start/types.ts b/node_modules/solid-start/types.ts
index 792b8b3..f71de00 100644
--- a/node_modules/solid-start/types.ts
+++ b/node_modules/solid-start/types.ts
@@ -1,3 +1,4 @@
+// @ts-nocheck
 import type { Debugger } from "debug";
 import type { Component } from "solid-js";

Two takeaways:

  1. Would it be possible to have solid-start use strict types? I'm using this as my base tsconfig: https://github.com/tsconfig/bases/blob/fcb68ce91474c5569a8892c638426d53a431b9eb/bases/node18-strictest-esm.combined.json (via "extends": "@tsconfig/node18-strictest-esm/tsconfig.json")
  2. I think it would be best if solid-start only shipped .js and .d.ts files, that way skipLibCheck could work properly.

@atk
Copy link
Contributor

atk commented Nov 29, 2022

Unfortunately, there are still some JS parts of solid-start that need to be converted before we can switch to full strict.

@ryansolid ryansolid added the enhancement New feature or request label Dec 19, 2022
@milesj
Copy link

milesj commented Dec 20, 2022

Scaffolded today and these are the errors I'm receiving:

../node_modules/solid-start/islands/router.ts(104,25): error TS6133: 'state' is declared but its value is never read.
../node_modules/solid-start/entry-client/StartClient.tsx(3,18): error TS2307: Cannot find module '~start/root' or its corresponding type declarations.
../node_modules/solid-start/api/router.ts(3,17): error TS7030: Not all code paths return a value.
../node_modules/solid-start/server/responses.ts(117,3): error TS4114: This member must have an 'override' modifier because it overrides a member in the base class 'Error'.
../node_modules/solid-start/server/responses.ts(127,37): error TS2339: Property 'entries' does not exist on type 'Headers'.
../node_modules/solid-start/server/responses.ts(131,49): error TS2339: Property 'entries' does not exist on type 'Headers'.
../node_modules/solid-start/data/FormError.tsx(30,71): error TS2339: Property 'entries' does not exist on type 'FormData'.
../node_modules/solid-start/data/Form.tsx(340,33): error TS2488: Type 'FormData' must have a '[Symbol.iterator]()' method that returns an iterator.
../node_modules/solid-start/data/createRouteAction.tsx(247,10): error TS7030: Not all code paths return a value.
../node_modules/solid-start/server/middleware.ts(57,36): error TS2339: Property 'entries' does not exist on type 'FormData'.
../node_modules/solid-start/entry-server/StartServer.tsx(5,18): error TS2307: Cannot find module '~start/root' or its corresponding type declarations.
../node_modules/solid-start/root/Document.tsx(74,13): error TS2488: Type 'NodeListOf<ChildNode>' must have a '[Symbol.iterator]()' method that returns an iterator.

This is 100% why you ship .d.ts files not and .ts/x files.

@aminya
Copy link

aminya commented Dec 28, 2022

I can confirm that this is an issue. I think in a release, // @ts-nocheck needs to be added to the top of all files until the errors are resolved in later releases.

@Dindaleon
Copy link

Yeah, I have a bunch of these all over my code

Type 'AuthContextType' must have a '[Symbol.iterator]()' method that returns an iterator.ts(2488)

@aminya
Copy link

aminya commented Feb 5, 2023

The patch feature of yarn or patch-package can be used to ignore all the errors.

For yarn, this can be enabled using the following by placing the patch under .yarn/patches

 "resolutions": {
    "solid-start": "patch:solid-start@npm%3A0.2.18#./.yarn/patches/solid-start-npm-0.2.18-e23864716d.patch"
  }

A similar result can be achieved using patch-package.

solid-start-npm-0.2.18-e23864716d.patch:

diff --git a/api/index.ts b/api/index.ts
index 91f28a94d7124f2e8a8e442034c3404947b3d0f1..5c42d7ee59069446e9e0a83fe145d41b0cb7e7cb 100644
--- a/api/index.ts
+++ b/api/index.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { registerApiRoutes } from "./internalFetch";
 import { getRouteMatches } from "./router";
 import { MatchRoute, Method, Route } from "./types";
diff --git a/api/internalFetch.ts b/api/internalFetch.ts
index 5365b67031657a1cfab136e672844b5c85570e64..667419a1a1efa57aa7982f43b476a83f2c7731e0 100644
--- a/api/internalFetch.ts
+++ b/api/internalFetch.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { FETCH_EVENT } from "../server/types";
 import { getRouteMatches } from "./router";
 import type { APIEvent, MatchRoute, Method } from "./types";
diff --git a/api/middleware.ts b/api/middleware.ts
index f36d81c75837fd42419e149f8c728c2ac97f04cb..7c05b3022010702cc3697f91e84318c50fc60c54 100644
--- a/api/middleware.ts
+++ b/api/middleware.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { Middleware } from "../entry-server";
 import { FetchEvent, FETCH_EVENT } from "../server/types";
 import { getApiHandler } from "./index";
diff --git a/api/router.ts b/api/router.ts
index cc4eb7af7f27ef1179c6d5340e1932a44dc48455..6de11ea09bccbab530d97e1b29515398fc39ac8c 100644
--- a/api/router.ts
+++ b/api/router.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { MatchRoute, Method } from "./types";
 
 export function getRouteMatches(routes: MatchRoute[], path: string, method: Method) {
diff --git a/api/types.ts b/api/types.ts
index f0b94e2b5cc8d38974008c7570e25d74e9e35e75..6688fe35ae8bc33ed8e456fee5be87a5d863eb58 100644
--- a/api/types.ts
+++ b/api/types.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { FetchEvent, FETCH_EVENT } from "../server/types";
 
 export interface APIEvent extends FetchEvent {
diff --git a/data/Form.tsx b/data/Form.tsx
index e90834984ef9f93e6770a5dbf1e01106b13aa8d1..6e18155ece39dda8a47a78b7eed4751d20f36705 100644
--- a/data/Form.tsx
+++ b/data/Form.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 /*!
  * Original code by Remix Sofware Inc
  * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details
diff --git a/data/FormError.tsx b/data/FormError.tsx
index f0c79c365f66e40b6b18810033b812cd7ab7ef69..41b6899a08d6e09fb28aeb95ab902afe1a037644 100644
--- a/data/FormError.tsx
+++ b/data/FormError.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 export class ServerError extends Error {
   status: number;
   constructor(message: string, { status, stack }: { status?: number; stack?: string } = {}) {
diff --git a/data/createRouteAction.tsx b/data/createRouteAction.tsx
index 91c1ca2d061e64326ba50d14cc5d6066a0822acd..098904000009a4e7df6bb93d1d1f57d86b49f3f4 100644
--- a/data/createRouteAction.tsx
+++ b/data/createRouteAction.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { useNavigate, useSearchParams, type Navigator } from "@solidjs/router";
 import { $TRACK, batch, createSignal, useContext } from "solid-js";
 import { FormError, FormImpl, FormProps } from "./Form";
diff --git a/data/createRouteData.tsx b/data/createRouteData.tsx
index 348d454c62d34cd0dce5173e92099e9ec72fbaed..d99f4df5c0cd9aa7acbfc806edf8b5ec04d2f368 100644
--- a/data/createRouteData.tsx
+++ b/data/createRouteData.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import type {
   Resource,
   ResourceFetcher, ResourceFetcherInfo, ResourceOptions, Signal
diff --git a/data/index.ts b/data/index.ts
index 2cf7e4380920d562885be75104ae3b2914602175..fe9cd757af2f4daa41c9715d60978784557f9f34 100644
--- a/data/index.ts
+++ b/data/index.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 export { useRouteData } from "@solidjs/router";
 export { createRouteAction, createRouteMultiAction } from "./createRouteAction";
 export { createRouteData, refetchRouteData } from "./createRouteData";
diff --git a/entry-client/StartClient.tsx b/entry-client/StartClient.tsx
index c17a8e5f9c61c976730b2cff134ae92c9edc496e..b19aca577839dffff23dec2153173e1b6d598de4 100644
--- a/entry-client/StartClient.tsx
+++ b/entry-client/StartClient.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { MetaProvider } from "@solidjs/meta";
 import { Router, RouterProps } from "@solidjs/router";
 // @ts-ignore
diff --git a/entry-client/index.tsx b/entry-client/index.tsx
index e869653e962e9b6b2e6d642877da1a757a60ec9a..2f927e304774aa123cadc4245fba347af3869214 100644
--- a/entry-client/index.tsx
+++ b/entry-client/index.tsx
@@ -1,2 +1,4 @@
+// @ts-nocheck
+
 export { default as mount } from "./mount";
 export { default as StartClient } from "./StartClient";
diff --git a/entry-client/mount.tsx b/entry-client/mount.tsx
index d4194c13e60adbe9fdf22dd421696add5b264e97..8057eb2e7e7638863d9c3806aae01e08089dfc0a 100644
--- a/entry-client/mount.tsx
+++ b/entry-client/mount.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import type { JSX } from "solid-js";
 import { getOwner } from "solid-js";
 import { createComponent, getNextElement, hydrate, render } from "solid-js/web";
diff --git a/entry-server/StartServer.tsx b/entry-server/StartServer.tsx
index 2141aea89667a0763ef34e6a5ed0f5239336e41d..026a8ad56c97742d64a1f4358374f145db4023c0 100644
--- a/entry-server/StartServer.tsx
+++ b/entry-server/StartServer.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { MetaProvider } from "@solidjs/meta";
 import { RouteDataFunc, Router, RouterProps } from "@solidjs/router";
 import { ComponentProps, sharedConfig } from "solid-js";
diff --git a/entry-server/index.ts b/entry-server/index.ts
index 0f964ff2aff7c86693ac4a2af1f0d3633841a625..e1f01795df3b74d7ffbc02c125967e343632bbf7 100644
--- a/entry-server/index.ts
+++ b/entry-server/index.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 export * from "./render";
 // server-side only exports
 export { composeMiddleware, createHandler, default as StartServer } from "./StartServer";
diff --git a/entry-server/render.ts b/entry-server/render.ts
index 0b70260b118b6de4995dcfdd155fae6ba721f0e8..b02c6215afbfa9ce7d53cc525e2209e165dab39d 100644
--- a/entry-server/render.ts
+++ b/entry-server/render.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { JSX } from "solid-js";
 import { renderToStream, renderToString, renderToStringAsync } from "solid-js/web";
 import { internalFetch } from "../api/internalFetch";
diff --git a/env.d.ts b/env.d.ts
index c76edc209c5fed57c801c10f65d8a21bf36740a6..eec3fea5686601282a7e2ae89e8d699662d046db 100644
--- a/env.d.ts
+++ b/env.d.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 // This file is an augmentation to the built-in ImportMeta interface
 // Thus cannot contain any top-level imports
 // <https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation>
diff --git a/error-boundary/ErrorBoundary.tsx b/error-boundary/ErrorBoundary.tsx
index 7377b472668bf047d6dfe64a48796130f40217ea..c2249ae4d47ff0f140162ce1ee0905e0b06f91e3 100644
--- a/error-boundary/ErrorBoundary.tsx
+++ b/error-boundary/ErrorBoundary.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import {
   createEffect,
   ErrorBoundary as ErrorBoundaryBase,
diff --git a/error-boundary/index.tsx b/error-boundary/index.tsx
index d640eda08087da9d5cf6dff1b1b596263a001423..19a5c12c2b2f5a2e85b56841b278116038e259a5 100644
--- a/error-boundary/index.tsx
+++ b/error-boundary/index.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { ErrorBoundary } from "./ErrorBoundary";
 export { ErrorMessage } from "./ErrorBoundary";
 export { ErrorBoundary };
diff --git a/index.tsx b/index.tsx
index 74f088b550d05a49f1dcd83cf13bf4f9c20e65c6..483814ec47b9864b2fc81c87d8725f9fdb3a9def 100644
--- a/index.tsx
+++ b/index.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 export { Link, Meta, Style, Stylesheet, Title } from "@solidjs/meta";
 export {
   Navigate,
diff --git a/islands/clientOnly.tsx b/islands/clientOnly.tsx
index a6d1b2193996b9a1893b795eb719c64ec4b80ef8..d8cf839a41968709c5045724893c2f27317b985a 100644
--- a/islands/clientOnly.tsx
+++ b/islands/clientOnly.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import type { Component, ComponentProps, JSX } from "solid-js";
 import { createMemo, createSignal, onMount, sharedConfig, splitProps, untrack } from "solid-js";
 import { isServer } from "solid-js/web";
diff --git a/islands/entry-client.ts b/islands/entry-client.ts
index f14b5737baf801a81d45dec42b18e8ece6e1fd9a..b22d2191a50fc4eeda5ed56f067eaf87a4aa81e2 100644
--- a/islands/entry-client.ts
+++ b/islands/entry-client.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import StartClient from "../entry-client/StartClient";
 
 StartClient();
diff --git a/islands/index.tsx b/islands/index.tsx
index 5b8ff205e846d1ebe9e06aeb658ee57c6a9b2da3..74ac4cc8d18f0bac9e121aa4eca3e1b44ff16bc4 100644
--- a/islands/index.tsx
+++ b/islands/index.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { Component, ComponentProps, lazy, splitProps, useContext } from "solid-js";
 import { Hydration, NoHydration } from "solid-js/web";
 import { ServerContext } from "../server/ServerContext";
diff --git a/islands/router.ts b/islands/router.ts
index 6ee641e49b7efc64d3ef0bf2992b7d4c9119f981..8b31cfdc72a0c3fff9ec41f3a279bc9358493f74 100644
--- a/islands/router.ts
+++ b/islands/router.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import type { Location, Navigator } from "@solidjs/router";
 import { createSignal } from "solid-js";
 interface LocationEntry {
diff --git a/islands/server-router.tsx b/islands/server-router.tsx
index a778780bc780061a90560912febfc1026e185d77..02dfb6de9bc2c40cd31e89ec3225c89ce87cd928 100644
--- a/islands/server-router.tsx
+++ b/islands/server-router.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { createContext, JSX, useContext } from "solid-js";
 import { ssr } from "solid-js/web";
 export interface RouteDefinition {
diff --git a/required-user-files.d.ts b/required-user-files.d.ts
index fba3eb55c079e0bc6fbad9ec80b3a83a82fac784..5bf2b5b05bc198b82b7c8ffb2e47a6c3ce446e22 100644
--- a/required-user-files.d.ts
+++ b/required-user-files.d.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 // These files are expected to exist in the user's project
 
 declare module "~start/root" {
diff --git a/root/Document.tsx b/root/Document.tsx
index 19a9f0a300a62cb1bd4911272bd50875e5693b4e..371169d08060972e142ba984e6b0e66e128d80e6 100644
--- a/root/Document.tsx
+++ b/root/Document.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import type { JSX } from "solid-js";
 import { children, ComponentProps } from "solid-js";
 import { insert, NoHydration, spread, ssrElement } from "solid-js/web";
diff --git a/root/FileRoutes.tsx b/root/FileRoutes.tsx
index d0adbb2c685552f294887aebb7fa4a048ec63f7a..a55cd7fa14981814bd2145ddc6ec6759f9f27fb2 100644
--- a/root/FileRoutes.tsx
+++ b/root/FileRoutes.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 /// <reference path="../server/types.tsx" />
 
 // @ts-expect-error
diff --git a/root/InlineStyles.tsx b/root/InlineStyles.tsx
index d215c4ba57d055a22d872a112bac0ea72343f789..e83511ee7fc1388bfb948d91302bcc8a0cdb20c3 100644
--- a/root/InlineStyles.tsx
+++ b/root/InlineStyles.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { Style } from "@solidjs/meta";
 import { createResource, Show, Suspense, useContext } from "solid-js";
 import type { PageEvent } from "../server";
diff --git a/root/Links.tsx b/root/Links.tsx
index 04708cc2cf4913ddd83c8067fd51c88bc09c6bb7..6fb9c9d1b4d43be07b80977973c03de484378917 100644
--- a/root/Links.tsx
+++ b/root/Links.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { JSXElement, useContext } from "solid-js";
 import { useAssets } from "solid-js/web";
 import { ServerContext } from "../server/ServerContext";
diff --git a/root/Meta.tsx b/root/Meta.tsx
index 11decaaa01b10bc834cf89af3d6dbfb3f2016a97..6a461d3cc95d27c3749846d0144a4671f44dc1e4 100644
--- a/root/Meta.tsx
+++ b/root/Meta.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { renderTags } from "@solidjs/meta";
 import { useContext } from "solid-js";
 import { ssr, useAssets } from "solid-js/web";
diff --git a/root/Scripts.tsx b/root/Scripts.tsx
index ea6dae40959f4fdb0faff8933879a1797ef15c84..73302120b6bc2f48deb6ea48d6145b34b6fa3334 100644
--- a/root/Scripts.tsx
+++ b/root/Scripts.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { useContext } from "solid-js";
 import { HydrationScript, isServer, NoHydration } from "solid-js/web";
 import { ServerContext } from "../server/ServerContext";
diff --git a/root/index.tsx b/root/index.tsx
index 9eb3f5af97343122402178f4705556d67d5fd2fd..81ac335413c91f4f8c9f7372baed30525c13abfe 100644
--- a/root/index.tsx
+++ b/root/index.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 // isomorphic exports
 
 export { Body, Head, Html } from "./Document";
diff --git a/router.tsx b/router.tsx
index 56ba9635d9ad97aafd53ec9dbdabb774134df9de..bd94fc188b559bf53a1fd21b4ca6aaf6ebddee1c 100644
--- a/router.tsx
+++ b/router.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import {
   A as BaseA,
   Location,
diff --git a/server/ServerContext.tsx b/server/ServerContext.tsx
index 006547d06ec1ee197d1a7dc282f30b473d5a7252..a9985d0e1f3befcfee9cf926cdd517f0751c8d7c 100644
--- a/server/ServerContext.tsx
+++ b/server/ServerContext.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { PageEvent } from "./types";
 
 import { createContext, useContext } from "solid-js";
diff --git a/server/browser.ts b/server/browser.ts
index 7e7c11106a1478f90e46e2af73a80097360014bc..de98980568a7bf7f30a23e03f12954064659ddac 100644
--- a/server/browser.ts
+++ b/server/browser.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 export { server$ as default } from "./server-functions/browser";
 export * from "./shared";
 
diff --git a/server/components/HttpHeader.tsx b/server/components/HttpHeader.tsx
index 2138abd68ebe2b417f8932306e3e62a5fddb634e..5452c8fc704b61524e8ea19068cfd4a3ad53c839 100644
--- a/server/components/HttpHeader.tsx
+++ b/server/components/HttpHeader.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { onCleanup, useContext } from "solid-js";
 import { isServer } from "solid-js/web";
 import { ServerContext } from "../ServerContext";
diff --git a/server/components/HttpStatusCode.tsx b/server/components/HttpStatusCode.tsx
index 75b56ffce0f09c96ffc39af1c1b2f102988a43aa..8afc9df064f9ca5b73a72f3a6cdebce488569d89 100644
--- a/server/components/HttpStatusCode.tsx
+++ b/server/components/HttpStatusCode.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { onCleanup, useContext } from "solid-js";
 import { isServer } from "solid-js/web";
 import { ServerContext } from "../ServerContext";
diff --git a/server/data.ts b/server/data.ts
index d65e4225f0bb5563a00ab7ca9e4d988e06d23a72..f4708093a04523d56a204a9b8169a7834903ebe3 100644
--- a/server/data.ts
+++ b/server/data.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { createRouteAction, createRouteData, createRouteMultiAction } from "../data";
 export { ServerError } from "../data";
 export const createServerData$ = createRouteData;
diff --git a/server/index.ts b/server/index.ts
index e3a17c6cbd5577bb7f1e2b92d2a9c6d1f51d6c2e..512470beac8f60b0af4d6b51d3d4c827953ab5e5 100644
--- a/server/index.ts
+++ b/server/index.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 // This file only exists to make the TypeScript tsconfig setting `"moduleResolution": "node"` work.
 // See ./server.ts for the server entrypoint and ./browser.ts for the browser entrypoint
 import server$ from "./server";
diff --git a/server/middleware.ts b/server/middleware.ts
index 610d050a9e9005ceb7f45a24c6596381e5b80718..78d1a97d75b352fbda37d883650d2bf21ad37bc4 100644
--- a/server/middleware.ts
+++ b/server/middleware.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { internalFetch } from "../api/internalFetch";
 import { Middleware as ServerMiddleware } from "../entry-server/StartServer";
 import { ContentTypeHeader, XSolidStartContentTypeHeader, XSolidStartOrigin } from "./responses";
diff --git a/server/responses.ts b/server/responses.ts
index 194cb45de063007a9c5a7ba942359d586542d953..0146b5cfa7f6159898ad3ea5deca1e486fc466f8 100644
--- a/server/responses.ts
+++ b/server/responses.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 export const XSolidStartStatusCodeHeader = "x-solidstart-status-code";
 export const XSolidStartLocationHeader = "x-solidstart-location";
 export const LocationHeader = "Location";
diff --git a/server/server-functions/browser.ts b/server/server-functions/browser.ts
index 834e86b75fc6b784e07e28c636bba515faa0feca..e704d37dbb6f6429dc4c841d5cc81427c3cefa1f 100644
--- a/server/server-functions/browser.ts
+++ b/server/server-functions/browser.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import {
   ContentTypeHeader,
   JSONResponseType,
diff --git a/server/server-functions/server.ts b/server/server-functions/server.ts
index d09165c339aa0db4c865ca83da65505c1e9234da..4be754d92aff1a6c4831a7e3c04dddad6c0c0d50 100644
--- a/server/server-functions/server.ts
+++ b/server/server-functions/server.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { sharedConfig } from "solid-js";
 import { internalFetch } from "../../api/internalFetch";
 import { FormError } from "../../data";
diff --git a/server/server-functions/types.ts b/server/server-functions/types.ts
index 78930a0953fb13a896a7ae489eca4c9528e0746f..62cf0e6a5756ca2ed5452357755237a6bf1a402d 100644
--- a/server/server-functions/types.ts
+++ b/server/server-functions/types.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { FetchEvent } from "../types";
 
 export type ServerFunction<E extends any[], T extends (...args: [...E]) => void> = ((
diff --git a/server/server.ts b/server/server.ts
index 832b5cb0c8319efda5b9941269b0613cca48d226..5eca0453cb74a197e86fe302d6ad666049bb3d35 100644
--- a/server/server.ts
+++ b/server/server.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { server$ } from "./server-functions/server";
 
 export default server$;
diff --git a/server/shared.ts b/server/shared.ts
index 79bf4402dd2048f4f7fb703e9502a9a8917814f3..2442b2a6638cfec8da17efe0e73f8b41192651cb 100644
--- a/server/shared.ts
+++ b/server/shared.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 export { HttpHeader } from "./components/HttpHeader";
 export { HttpStatusCode } from "./components/HttpStatusCode";
 export { createServerAction$, createServerData$, createServerMultiAction$, ServerError } from "./data";
diff --git a/server/types.tsx b/server/types.tsx
index e3d6c7dcb374d8a1bce8d186dc528b05dab4ff4d..64072e3c758596c15a6b59c17c0b63b0a860c6a9 100644
--- a/server/types.tsx
+++ b/server/types.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 export type ManifestEntry = {
   type: string;
   href: string;
diff --git a/session/cookie.ts b/session/cookie.ts
index aca73114f9608471748c6871ad65f2aff8d07fe3..ccd6ca2a27b1fd671a69d9871ab4cf5b2f1b36f3 100644
--- a/session/cookie.ts
+++ b/session/cookie.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 /*!
  * cookie
  * Copyright(c) 2012-2014 Roman Shtylman
diff --git a/session/cookieSigning.ts b/session/cookieSigning.ts
index f40346021b546c8c62054b6e05612701514817fe..f66167f1172172fd5258d7496b907babf46299b6 100644
--- a/session/cookieSigning.ts
+++ b/session/cookieSigning.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 /*!
  * Original code by Remix Sofware Inc
  * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details
diff --git a/session/cookieStorage.ts b/session/cookieStorage.ts
index 3689da23584bb7da5f302e34756b7dc12322672e..becd6011bb5b4c2a201b7817d14b156814eeddd0 100644
--- a/session/cookieStorage.ts
+++ b/session/cookieStorage.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 /*!
  * Original code by Remix Sofware Inc
  * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details
diff --git a/session/cookies.ts b/session/cookies.ts
index bfde0bb156e909595bebd86f267e78ba4a8b1fc6..e439d9df1fc39d2bc88299572e0375de9e492f31 100644
--- a/session/cookies.ts
+++ b/session/cookies.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 /*!
  * Original code by Remix Sofware Inc
  * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details
diff --git a/session/index.ts b/session/index.ts
index d5d93809440f15109fc813f084306cd203f168f8..7c05352769025763ec03302ad91efe0ee61733f3 100644
--- a/session/index.ts
+++ b/session/index.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 /*!
  * Original code by Remix Sofware Inc
  * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details
diff --git a/session/memoryStorage.ts b/session/memoryStorage.ts
index fac4ebeff7fea9a3b61e2c4600e01e0e7f33a866..d0cdd5ee7ff4df7f46d53e20ca11badc6625deda 100644
--- a/session/memoryStorage.ts
+++ b/session/memoryStorage.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 /*!
  * Original code by Remix Sofware Inc
  * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details
diff --git a/session/sessions.ts b/session/sessions.ts
index 457fb85bd1a9052a701bb175a524b4f5ca6ad7ef..108d3bdccfeec62b8379eec95bc8b5d5891ac9f6 100644
--- a/session/sessions.ts
+++ b/session/sessions.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 /*!
  * Original code by Remix Sofware Inc
  * MIT Licensed, Copyright(c) 2021 Remix software Inc, see LICENSE.remix.md for details
diff --git a/types.ts b/types.ts
index c44a14c87794f1fa85517870d563aab998ca3409..0dd9dccab02e543b09269e6832801b118742cb69 100644
--- a/types.ts
+++ b/types.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import type { Debugger } from "debug";
 import type { Component } from "solid-js";
 
diff --git a/virtual/entry-client.tsx b/virtual/entry-client.tsx
index ba4824e2f301b055ac3e5906d5b00e98cbf0801e..0e148eabc078b0f3c648589c0915fe571d793471 100644
--- a/virtual/entry-client.tsx
+++ b/virtual/entry-client.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { mount, StartClient } from "../entry-client";
 
 mount(() => <StartClient />, document);
diff --git a/virtual/entry-server.tsx b/virtual/entry-server.tsx
index 4e4a3cefb478c59568070fc89dae6489d9dc2f55..21d88e5351c6b07b8a0c1fd2b0bffba5f6b2bffd 100644
--- a/virtual/entry-server.tsx
+++ b/virtual/entry-server.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { createHandler, renderAsync, StartServer } from "../entry-server";
 
 export default createHandler(renderAsync(event => <StartServer event={event} />));
diff --git a/virtual/root.tsx b/virtual/root.tsx
index c329426a209eb448e30b31f4c89f1ed87b014d71..fb23d7fbf14dfca663b0c906136a5a2e150b7339 100644
--- a/virtual/root.tsx
+++ b/virtual/root.tsx
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 // @refresh reload
 import { Suspense } from "solid-js";
 import { Body, ErrorBoundary, FileRoutes, Head, Html, Meta, Routes, Scripts } from "../";
diff --git a/vite/index.d.ts b/vite/index.d.ts
index 3d615d7ccebe8e03715347d5d2279ee1625ac834..4d382e7e6141b032c5d2c9b3d8cf2e226ddbbb71 100644
--- a/vite/index.d.ts
+++ b/vite/index.d.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { Plugin } from "node_modules/vite";
 import { Options } from "./plugin";
 
diff --git a/vite/plugin.d.ts b/vite/plugin.d.ts
index a964f0ef59e2860a829680b3c52248886f04aafc..52f201861667fcc963d1a97d45025e9bf510862b 100644
--- a/vite/plugin.d.ts
+++ b/vite/plugin.d.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 export type Adapter = {
   start(options: Options): Promise<void>;
   build(options: Options): Promise<void>;
diff --git a/websocket/do.ts b/websocket/do.ts
index 542f779703cd578772567d2fb13e1ca3042febee..27f0e589b40431e7aaa6f1f7d13c91b37663af77 100644
--- a/websocket/do.ts
+++ b/websocket/do.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { webSocketHandlers } from "./webSocketHandlers";
 export interface DurableObject {
   fetch(request: Request): Promise<Response>;
diff --git a/websocket/index.ts b/websocket/index.ts
index 8fc00b70316c3e9bb8cf9d8ff9223c35b4ec3536..9353fb7981e465221e4d117f6fbc7919efcd9e14 100644
--- a/websocket/index.ts
+++ b/websocket/index.ts
@@ -1,3 +1,5 @@
+// @ts-nocheck
+
 import { ServerFunction } from "../server/server-functions/types";
 import { webSocketHandlers } from "./webSocketHandlers";
 
diff --git a/websocket/types.ts b/websocket/types.ts
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..47bb5ec9e1f63a1e4c7ee0e2756e5311a28d8e0a 100644
--- a/websocket/types.ts
+++ b/websocket/types.ts
@@ -0,0 +1,2 @@
+// @ts-nocheck
+
diff --git a/websocket/webSocketHandlers.ts b/websocket/webSocketHandlers.ts
index aac5b958ee406101c4acee104903e582fa965fea..192a07272eb874bdffca65207bcd0380e8e32221 100644
--- a/websocket/webSocketHandlers.ts
+++ b/websocket/webSocketHandlers.ts
@@ -1 +1,3 @@
+// @ts-nocheck
+
 export const webSocketHandlers: { url: string; handler: any }[] = [];

@baodart
Copy link

baodart commented Jun 8, 2023

My workaround is to use https://www.npmjs.com/package/tsc-silent:

tsc-silent -p tsconfig.json --suppress @/node_modules/solid-start/

@knpwrs
Copy link
Contributor

knpwrs commented Aug 26, 2023

This is how I've been making new patches using fd:

fd --type f --extension tsx --extension ts --exclude '*.d.ts' --full-path node_modules/solid-start --no-ignore -x sed -i '1s/^/\/\/ @ts-nocheck\n\n/'

And then

npx patch-package solid-start

@yume-chan
Copy link
Contributor

"skipLibCheck": true option only ignores .d.ts files, but Solid Start is exporting .tsx file as typing:

"types": "./index.tsx",

This is totally wrong!

skipLibCheck option is for reducing build time, not fixing library typing bugs! https://www.typescriptlang.org/tsconfig#skipLibCheck

@AlexErrant
Copy link
Contributor

I tweaked luy19's solution to iterate through all the ts(x) files because I also wanted "noUncheckedIndexedAccess": true which required more files to be ignored, so I said "f it ignore 'em all".

const readdirSync = (p, a = []) => {
	if (fs.statSync(p).isDirectory())
		fs.readdirSync(p).map((f) => readdirSync(a[a.push(path.join(p, f)) - 1], a))
	return a
}
const FILES = readdirSync('node_modules/solid-start').filter(
	(f) => f.endsWith('.ts') || f.endsWith('.tsx'),
)

The final add-ts-nocheck.cjs.

@ryansolid
Copy link
Member

In setting up for SolidStarts next Beta Phase built on Nitro and Vinxi we are closing all PRs/Issues that will not be merged due to the system changing. If you feel your issue was closed in mistake. Feel free to re-open it after updating/testing against 0.4.x release. Thank you for your patience.

See #1139 for more details.

@RanolP
Copy link

RanolP commented Jan 11, 2024

It seems not fixed even in 0.4.x. tsc-silent is a very useful workaround for me.

@knpwrs
Copy link
Contributor

knpwrs commented Jan 11, 2024

@ryansolid this issue should be re-opened

@RanolP
Copy link

RanolP commented Jan 11, 2024

I think #1228 (which is talking about the way - creating the .d.ts instead of exposing .ts - to solve this issue) could be a new place for talking about this.

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

No branches or pull requests