Skip to content

Latest commit

 

History

History
89 lines (74 loc) · 3.1 KB

CONTRIBUTING.md

File metadata and controls

89 lines (74 loc) · 3.1 KB

Contributing to Shopify monorepo

We are open and grateful for any contribution made by the community. If you're interested in contributing to Shopify monorepo, this document might make the process for you easier.

The Open Source Guides website has a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open-source project. Contributors and people new to open source will find the following guides especially useful:

Please read the full text, so that you are able to understand what interpersonal actions will and will not be tolerated.

🌟 Style Guide

package.json structure

The structure of the package.json file in this project should adhere to a specific format, as illustrated by the example structure below. This structure is based on the npm documentation for creating a package.json file.

{
	"name": "@repo/example",
	"version": "0.0.1",
	"description": "Description of the package",
	"private": true,
	"scripts": {
		"build": "shx rm -rf dist && ../../scripts/cli.sh bundle",
		"start:dev": "tsc -w",
		"lint": "eslint --ext .js,.ts src/",
		"clean": "shx rm -rf dist && shx rm -rf node_modules && shx rm -rf .turbo",
		"install:clean": "pnpm run clean && pnpm install",
		"test": "echo \"Error: no test specified\" && exit 1"
	},
	// "type": "module",
	// "source": "./src/index.ts",
	// "main": "./dist/cjs/index.js",
	// "module": "./dist/esm/index.js",
	// "types": "./dist/types/index.d.ts",
	"repository": {
		"type": "git",
		"url": "https://github.com/builder-group/shopify.git"
	},
	"keywords": [],
	"author": "@bennobuilder",
	"license": "AGPL-3.0-or-later",
	"bugs": {
		"url": "https://github.com/builder-group/shopify/issues"
	},
	"homepage": "",
	"dependencies": {
		// Project dependencies here
	},
	"peerDependencies": {
		// Project peerDependencies here
	},
	"devDependencies": {
		// Project devDependencies here
	},
	"files": ["dist", "README.md"]
}

For specific packages, additional fields should be included as shown below. Note that the fields source, main, module, types, and files are usually required in packages:

{
	// ..
	// "scripts": ..,
	"source": "./src/index.ts", // Entry file (source code)
	"main": "./dist/cjs/index.js", // Entry point (CommonJS)
	"module": "./dist/esm/index.js", // Entry point (ES Module)
	"types": "./dist/types/index.d.ts", // Type definitions
	// ..
	// "devDependencies": {},
	"files": [
		// List of files to be included in your package
	]
}

📄 License

By contributing to the Shopify monorepo, you agree that your contributions will be licensed under the license defined in LICENSE.md.

🎉 Credits