Giter VIP home page Giter VIP logo

create-near-app's Introduction

Create NEAR App

Gitpod Ready-to-Code

Quickly build apps backed by the NEAR blockchain

Prerequisites

Make sure you have a current version of Node.js installed โ€“ we are targeting versions 16+ for JS contracts and 18+ for frontend/gateways.

Read about other prerequisites in our docs.

Getting Started

To create a new NEAR project run this and follow interactive prompts:

npx create-near-app@latest

Follow the instructions in the README.md in the project you just created! ๐Ÿš€

Contracts

You can create contracts written in:

  • Javascript
  • Rust

::: We strongly recommend you to follow our smart contract quickstart if you are new to NEAR contracts. :::

For testing we use a sandboxed environment. You can write the tests in JavaScript or Rust.

WebApps

You can create a web application in:

::: We strongly recommend you to follow our web app quickstart if you are new to NEAR WebApps. :::

Consider using pnpm to handle the frontend, since it is much faster than npm and yarn.

Using CLI arguments to run create-near-app

This CLI supports arguments to skip interactive prompts:

npx create-near-app
  <project-name>
  --frontend next-app|next-page|none
  --contract js|rs|none
  --install

Use --install to automatically install dependencies from all package.json files.

When using arguments, all arguments are required, except for --install.

Getting Help

Check out our documentation or chat with us on Discord. We'd love to hear from you!

Contributing to create-near-app

To make changes to create-near-app itself:

  • clone the repository (Windows users, use git clone -c core.symlinks=true)
  • in your terminal, enter one of the folders inside templates, such as templates/frontend/next-app
  • now you can run pnpm install to install dependencies and pnpm run dev to run the local development server, just like you can in a new app created with create-near-app

About commit messages

create-near-app uses semantic versioning and auto-generates nice release notes & a changelog all based off of the commits. We do this by enforcing Conventional Commits. In general the pattern mostly looks like this:

type(scope?): subject  #scope is optional; multiple scopes are supported (current delimiter options: "/", "\" and ",")

Real world examples can look like this:

chore: run tests with GitHub Actions

fix(server): send cors headers

feat(blog): add comment section

If your change should show up in release notes as a feature, use feat:. If it should show up as a fix, use fix:. Otherwise, you probably want refactor: or chore:. More info

Deploy create-near-app

If you want to deploy a new version, you will need two prerequisites:

  1. Get publish-access to the NPM package
  2. Get write-access to the GitHub repository
  3. Obtain a personal access token (it only needs the "repo" scope).
  4. Make sure the token is available as an environment variable called GITHUB_TOKEN

Then run one script:

npm run release

Or just release-it

License

This repository is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See LICENSE and LICENSE-APACHE for details.

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.