/jss

Software development kit for JavaScript developers building web applications with Sitecore Experience Platform

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Sitecore JavaScript Rendering SDK (JSS)

Build Status PRs Welcome

This repository contains source code for all Sitecore JSS packages and sample applications to help you get started using Sitecore JSS.

This repository contains the following sample applications:

  1. Next.js

    The Next.js-based sample application demonstrates common use cases.

    Features:

    • Written in TypeScript.
    • Support for Next.js static HTML export, incremental static site generation, server-side rendering, and hybrid rendering.
    • Dynamic author-defined URLs via Next.js pages and the Sitecore Layout Service.
    • Dynamic component rendering based on author-defined page layouts.
    • Helper components for rendering various Sitecore field types.
    • Sitecore Experience Editor integration via Next.js Preview Mode.
    • Sitecore route querying for static site generation.
    • Next.js client-side routing support for Sitecore link and rich text fields.
    • Internationalization support via Sitecore language versions and Next.js internationalized routing.
    • Fetching of layout and dictionary data using REST or GraphQL.
    • Component-level data fetching for Sitecore-driven components.
    • Sitecore tracking, analytics, and personalization support (SSR-only).
    • Support for JSS code-first workflow and mock Sitecore services.
    • Other great built-in Next.js features like component-level CSS, code splitting, fast refresh, and more.
    • Vercel deployment compatible.

    Consult the documentation and remember to check out the heavily commented code in the sample application.

  2. React

    Built using create-react-app as a starting point. Supports out-of-the-box Sitecore functionalities (i18n, routing, GraphQL, set <title> tags) and demonstrates how to work with various Sitecore data types, placeholder nesting, and wrapping techniques, and other helpful JSS patterns. The application code is heavily commented, but documentation also exists.

  3. Vue

    Built using @vue/cli as a starting point. Supports out-of-the-box Sitecore functionalities (i18n, routing, GraphQL, set <title> tags) and demonstrates how to work with various Sitecore data types, placeholder nesting, and wrapping techniques, and other helpful JSS patterns. The application code is heavily commented, but documentation also exists.

  4. Angular

    Built using angular-cli as a starting point. Supports out-of-the-box Sitecore functionalities (i18n, routing, GraphQL, set <title> tags) and demonstrates how to work with various Sitecore data types, placeholder nesting, and wrapping techniques, and other helpful JSS patterns. The application code is heavily commented, but documentation also exists.

  5. Embedded JSS App within Sitecore MVC

    This app demonstrates how to embed a client-side JSS application inside an existing Sitecore MVC site instead of running a standalone JSS site. This technique essentially embeds the JSS app's markup and app wrapper tag within a Sitecore rendering. Documentation.

  6. React Native

    This app demonstrates experimental JSS usage with React Native. Due to the experimental nature of React Native support in JSS, this app does not have feature parity with the other framework samples (e.g., React, Vue). Documentation

  7. Sitecore JavaScript rendering [Deprecated]

    This project demonstrates experimental support for creating Sitecore renderings that will server-side render individual JavaScript components or apps. The Sitecore JavaScript renderings can be used alongside traditional MVC-based renderings. Documentation

  8. Headless Server-Side Rendering with Node.js

    JSS supports headless server-side rendering using any service that supports hosting Node.js applications. Documentation.

Getting started with JSS

Contributions

We are very grateful to the community for contributing bug fixes and improvements. We welcome all efforts to evolve and improve Sitecore JavaScript Services; read below to learn how to participate in those efforts.

Sitecore has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Read our contributing guide to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes to React.

License

Sitecore JavaScript Services is using the Apache 2.0 license.