Giter Site home page Giter Site logo

eshimischi / solid-start Goto Github PK

View Code? Open in Web Editor NEW

This project forked from solidjs/solid-start

1.0 1.0 0.0 12.33 MB

SolidStart, the Solid app framework

Home Page: https://start.solidjs.com

License: MIT License

JavaScript 3.81% TypeScript 34.73% CSS 2.35% SCSS 4.25% HTML 54.87%

solid-start's Introduction

Solid Docs

SolidStart

SolidStart has just entered a new Release Candidate Phase

v0.4.x marked a significant change in the project. Please check the updated docs and example projects to see how things have changed. A summary of the changes can be found in the RFC.


This is the home of the SolidStart, the Solid app framework.

Features

  • File-system based routing
  • Supports all rendering modes:
    • Server-side rendering (SSR)
    • Streaming SSR
    • Client-side rendering (CSR)
    • Static site generation (SSG)
  • Streaming
  • Build optimizations with code splitting, tree shaking and dead code elimination
  • API Routes
  • Built on Web standards like Fetch, Streams, and WebCrypto
  • Adapters for deployment to all popular platforms
  • CSS Modules, SASS/SCSS Support
  • TypeScript-first

Getting started

Create a SolidStart application and run a development server using your preferred package manager:

mkdir my-app
cd my-app

# with npm
npm init solid@latest
npm install
npm run dev

# or with pnpm
pnpm create solid@latest
pnpm install
pnpm dev

# or with Bun
bun create solid@latest
bun install
bun run dev

Development

You should use a Node.js version manager compatible with .node-version (asdf-vm is a great option macOS/Linux users)

The monorepo uses pnpm as the package manager. To install pnpm, run the following command in your terminal.

npm install -g pnpm

Run pnpm install to install all the dependencies for the packages and examples in your monorepo.

Run pnpm build to build SolidStart project

Monorepo & project.json "workspace" support

If you are using SolidStart within a monorepo that takes advantage of the package.json "workspaces" property (e.g. Yarn workspaces) with hoisted dependencies (the default for Yarn), you must include #solidjs/start within the optional "nohoist" (for Yarn v2 or higher, see further down for instructions) workspaces property.

  • In the following, "workspace root" refers to the root of your repository while "project root" refers to the root of a child package within your repository.

For example, if specifying "nohoist" options from the workspace root (i.e. for all packages):

// in workspace root
{
  "workspaces": {
    "packages": [
      /* ... */
    ],
    "nohoist": ["**/@solidjs/start"]
  }
}

If specifying "nohoist" options for a specific package using @solidjs/start:

// in project root of a workspace child
{
  "workspaces": {
    "nohoist": ["@solidjs/start"]
  }
}

Regardless of where you specify the nohoist option, you also need to include @solidjs/start as a devDependency in the child package.json.

The reason why this is necessary is because @solidjs/start creates an index.html file within your project which expects to load a script located in /node_modules/@solidjs/start/runtime/entry.jsx (where / is the path of your project root). By default, if you hoist the @solidjs/start dependency into the workspace root then that script will not be available within the package's node_modules folder.

Yarn v2 or higher

The nohoist option is no longer available in Yarn v2+. In this case, we can use the installConfig property in the package.json (either workspace package or a specific project package) to make sure our deps are not hoisted.

// in project root of a workspace child
{
  "installConfig": {
    "hoistingLimits": "dependencies"
  }
}

solid-start's People

Contributors

ryansolid avatar nksaraf avatar nsarafpure avatar lxsmnsyc avatar birkskyum avatar ghalle avatar edivados avatar davedbase avatar femincan avatar btakita avatar orjdev avatar boehs avatar lightyaer avatar g3root avatar caseybaggz avatar brendonovich avatar fezproof avatar atk avatar arbassett avatar fictitious avatar benbender avatar mhyfritz avatar emdede avatar frenzzy avatar zachiah avatar utkukaratas avatar marvin-j97 avatar pawelblaszczyk5 avatar katywings avatar harshmangalam avatar

Stargazers

Roman avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.