solid-start icon indicating copy to clipboard operation
solid-start copied to clipboard

Typescript `tsc` can not exclude `node_modules/solid-start/`

Open P233 opened this issue 2 years ago • 8 comments

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

P233 avatar Aug 17 '22 07:08 P233

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.

viridia avatar Oct 17 '22 18:10 viridia

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

luy19 avatar Oct 19 '22 12:10 luy19

Good news, I found a workaround: https://github.com/microsoft/TypeScript/issues/38538#issuecomment-892555422

luy19 avatar Oct 19 '22 15:10 luy19

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

nirtamir2 avatar Nov 07 '22 19:11 nirtamir2

@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);
  }
}

luy19 avatar Nov 08 '22 10:11 luy19

@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

thetarnav avatar Nov 08 '22 20:11 thetarnav

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.

knpwrs avatar Nov 29 '22 12:11 knpwrs

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

atk avatar Nov 29 '22 12:11 atk

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.

milesj avatar Dec 20 '22 22:12 milesj

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.

aminya avatar Dec 28 '22 22:12 aminya

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)

Dindaleon avatar Feb 05 '23 19:02 Dindaleon

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 }[] = [];

aminya avatar Feb 05 '23 20:02 aminya

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

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

baodart avatar Jun 08 '23 11:06 baodart

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

knpwrs avatar Aug 26 '23 01:08 knpwrs

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

https://github.com/solidjs/solid-start/blob/8f550a6aacd27ff9a9e2d27223dfa9591b28c4a8/packages/start/package.json#L54

This is totally wrong!

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

yume-chan avatar Aug 27 '23 17:08 yume-chan

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.

AlexErrant avatar Aug 30 '23 19:08 AlexErrant

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 https://github.com/solidjs/solid-start/pull/1139 for more details.

ryansolid avatar Dec 18 '23 21:12 ryansolid

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

RanolP avatar Jan 11 '24 17:01 RanolP

@ryansolid this issue should be re-opened

knpwrs avatar Jan 11 '24 17:01 knpwrs

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.

RanolP avatar Jan 11 '24 17:01 RanolP