Skip to content

Commit

Permalink
fix: Merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
olivermrbl committed Jul 12, 2022
2 parents b402b9f + 6a2fd3b commit fb0346f
Show file tree
Hide file tree
Showing 418 changed files with 76,265 additions and 16,764 deletions.
11 changes: 7 additions & 4 deletions .github/workflows/generate-reference.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: Generate References
on:
push:
on:
pull_request:
types:
- closed
branches:
- "master"
paths:
Expand All @@ -17,6 +19,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v2.3.5
with:
token: ${{ secrets.REFERENCE_PAT }}
fetch-depth: 0

- name: Setup Node.js environment
Expand All @@ -37,7 +40,7 @@ jobs:
run: yarn generate:services

- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Automatically Generated Services Reference
with:
commit_message: "docs: automatically Generated Services Reference"
file_pattern: docs/content/*
skip_dirty_check: false
6 changes: 5 additions & 1 deletion .github/workflows/test-cli-with-database.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
name: CLI Pipeline
on: [pull_request]
on:
pull_request:
paths-ignore:
- "docs/**"
- "www/**"

jobs:
test-cli-with-database:
Expand Down
167 changes: 85 additions & 82 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,13 @@
</h1>

<h4 align="center">
<a href="https://github.com/medusajs/admin">Medusa Admin</a> |
<a href="https://www.medusajs.com">Website</a> |
<a href="https://www.medusajs.com/blog">Blog</a> |
<a href="https://www.linkedin.com/company/medusa-commerce">LinkedIn</a> |
<a href="https://twitter.com/medusajs">Twitter</a> |
<a href="https://docs.medusajs.com">Documentation</a> |
<a href="https://medusajs.notion.site/medusajs/Medusa-Home-3485f8605d834a07949b17d1a9f7eafd">Notion</a>
<a href="https://demo.medusajs.com/">Medusa Admin Demo</a> |
<a href="https://www.medusajs.com">Website</a>
</h4>

<p align="center">
Medusa is an open-source headless commerce engine that enables developers to create amazing digital commerce experiences.
An open-source composable commerce engine built for developers.
</p>
<p align="center">
<a href="https://github.com/medusajs/medusa/blob/master/LICENSE">
Expand All @@ -39,106 +35,113 @@ Medusa is an open-source headless commerce engine that enables developers to cre
</a>
</p>

## Quickstart
## Getting Started

### Deploy in 5 minutes

You can deploy your Medusa server in 5 minutes just by clicking the button below.

<p align="center">
<a href="https://heroku.com/deploy?template=https://github.com/medusajs/medusa-starter-default/tree/feat/deploy-heroku">
<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy">
</a>
</p>

### Install Locally

You can install Medusa locally or manually on your server by either following our [Quickstart guide](https://docs.medusajs.com/quickstart/quick-start) or the following steps:

1. **Install Medusa CLI**
```bash
npm install -g @medusajs/medusa-cli
```

```bash
npm install -g @medusajs/medusa-cli
```

2. **Create a new Medusa project**
```
medusa new my-medusa-store --seed
```

```bash
medusa new my-medusa-store --seed
```

3. **Start your Medusa engine**
```bash
medusa develop
```
4. **Use the API**
```bash
curl localhost:9000/store/products | python -m json.tool
```

We have a prebuilt admin dashboard that you can use to configure and manage your store find it here: [Medusa Admin](https://github.com/medusajs/admin)
```bash
medusa develop
```

### Requirements

- Node v14.0 or higher.
- SQLite or PostgreSQL (SQLite is only for getting started; PostgreSQL is recommended)
- Redis

You can check out [this documentation for more details about setting up your environment](https://docs.medusajs.com/tutorial/set-up-your-development-environment).

After these four steps and only a couple of minutes, you now have a complete commerce engine running locally. You may now explore [the documentation](https://docs.medusajs.com/api) to learn how to interact with the Medusa API. You may also add [plugins](https://github.com/medusajs/medusa/tree/master/packages) to your Medusa store by specifying them in your `medusa-config.js` file.
## What is Medusa?

## Roadmap 2022
Medusa is an open source composable commerce engine built with Node.js. Medusa enables developers to build scalable and sophisticated commerce setups with low effort and great developer experience.

Write-ups for all features will be made available in [Github discussions](https://github.com/medusajs/medusa/discussions) prior to starting the implementation process.
You can learn more about [Medusa’s architecture in our documentation](https://docs.medusajs.com/introduction).

### H1 2022
- [x] Admin revamp
- [x] Tax API
- [x] Tax Calculation Strategy
- [x] Cart Calculation Strategy
- [x] Customer Groups API
- [x] Promotions API
- [x] Price Lists API
- [x] Price Selection Strategy
- [ ] Bulk import / export
- [ ] Extended Product API (custom fields, publishing control, and more)
- [ ] Extended Order API (managing placed orders, improved inventory control, and more)
- [ ] Sales Channel API
- [ ] Multi-warehouse support
- [ ] GraphQL API
### Features

## Setting up a storefront for your Medusa project
- **Orders, Exchanges, and Returns APIs:** Aside from the standard order management that comes with ecommerce platforms, Medusa also provides an easy and automated way to manage swaps, returns, and claims.
- **Products and Collections APIs:** Add products with extensive customization settings and sort them into collections.
- **Region API:** Configure and manage multiple regions and currencies all from one platform.
- **Plugin API:** Easily integrate fulfillment providers, payment providers, notification services, and many other custom tools and third-party services.
- ****PriceList and Promotions APIs:**** Advanced pricing for products with conditions based on its amount in the cart or promotions and discounts.
- **Tax API:** Advanced tax configurations specific to multiple regions, with capability of specifying taxes for specific products.

Medusa is a headless commerce engine which means that it can be used for any type of digital commerce experience - you may use it as the backend for an app, a voice application, social commerce experiences or a traditional e-commerce website, you may even want to integrate Medusa into your own software to enable commerce functionality. All of these are use cases that Medusa supports - to learn more read the documentation or reach out.
See more of the [ecommerce features on our documentation](https://docs.medusajs.com/#features).

To provide a quick way to get you started with a storefront install one of our traditional e-commerce starters:
## Roadmap

- [Gatsby Starter](https://github.com/medusajs/gatsby-starter-medusa)
```
npm install -g gatsby-cli
gatsby new my-medusa-storefront https://github.com/medusajs/gatsby-starter-medusa
```
- [Nextjs Starter](https://github.com/medusajs/nextjs-starter-medusa)
```
npx create-next-app -e https://github.com/medusajs/nextjs-starter-medusa my-medusa-storefront
```
Write-ups for all features will be made available in [Github discussions](https://github.com/medusajs/medusa/discussions) prior to starting the implementation process.

With your starter and your Medusa store running you can open http://localhost:8000 (for Gatsby) or http://localhost:3000 (for Nextjs) in your browser and view the products in your store, build a cart, add shipping details and pay and complete an order.
### **2022**

## Features
- [x] Admin revamp
- [x] Tax API
- [x] Tax Calculation Strategy
- [x] Cart Calculation Strategy
- [x] Customer Groups API
- [x] Promotions API
- [x] Price Lists API
- [x] Price Selection Strategy
- [ ] Import / Export API
- [ ] Sales Channel API
- [ ] Extended Product API (custom fields, publishing control, and more)
- [ ] Extended Order API (managing placed orders, improved inventory control, and more)
- [ ] Multi-warehouse support
- [ ] GraphQL API

Medusa comes with a set of building blocks that allow you to create amazing digital commerce experiences, below is a list of some of the features that Medusa come with out of the box:
## Plugins

- **Headless**: Medusa is a highly customizable commerce API which means that you may use any presentation layer such as a website, app, chatbots, etc.
- **Regions** allow you to specify currencies, payment providers, shipping providers, tax rates and more for one or more countries for truly international sales.
- **Orders** come with all the functionality necessary to perform powerful customer service operations with ease.
- **Carts** allow customers to collect products for purchase, add shipping details and complete payments.
- **Products** come with relevant fields for customs, stock keeping and sales. Medusa supports multiple options and unlimited variants.
- **Swaps** allow customers to exchange products after purchase (e.g. for incorrect sizes). Accounting, payment and fulfillment plugins handle all the tedious work for you for automated customer service.
- **Claims** can be created if customers experience problems with one of their products. Plugins make sure to automate sending out replacements, handling refunds and collecting valuable data for analysis.
- **Returns** allow customers to send back products and can be configured to function in a 100% automated flow through accounting and payment plugins.
- **Fulfillment API** makes it easy to integrate with any fulfillment provider by creating fulfillment plugins, check the `/packages` directory for a full list of plugins.
- **Payments API** makes it easy to integrate with any payment provider by creating payment plugins, we already support Stripe, Paypal and Klarna.
- **Notification API** allow integrations with email providers, chatbots, Slack channels, etc.
- **Customer Login** to give customers a way of managing their data, viewing their orders and saving payment details.
- **Shipping Options & Profiles** enable powerful rules for free shipping limits, multiple fulfillment methods and more.
- **Medusa's Plugin Architecture** makes it intuitive and easy to manage your integrations, switch providers and grow with ease.
- **Customization** is supported for those special use cases that all the other e-commerce platforms can't accommodate.
As a headless and extendible solution, Medusa allows you to integrate third-party services or add custom features into Medusa by installing Plugins.

## Database support
Check out [our available plugins](https://github.com/medusajs/medusa/tree/master/packages) that you can install and use instantly on your Medusa server.

In production Medusa requires Postgres and Redis, but SQLite is supported for development and testing purposes. If you plan on using Medusa for a project it is recommended that you install Postgres and Redis on your dev machine.
## Contributions

- [Install PostgreSQL](https://www.postgresql.org/download/)
- [Install Redis](https://redis.io/download)
Medusa is all about the community. Therefore, we would love for you to help us build the most robust and powerful commerce engine on the market.

To use Postgres and Redis you should provide a `database_url` and `redis_url` in your `medusa-config.js`.
Whether it is fixing bugs, improving our documentation or simply spreading the word, please feel free to join in. Please check [our contribution guide](https://github.com/medusajs/medusa/blob/master/CONTRIBUTING.md) for further details about how to contribute.

## Contribution
## Community & Support

Medusa is all about the community. Therefore, we would love for you to help us build the most robust and powerful commerce engine on the market. Whether it is fixing bugs, improving our documentation or simply spreading the word, please feel free to join in. Please check [our contribution guide](https://github.com/medusajs/medusa/blob/master/CONTRIBUTING.md) for further details about how to contribute.
Use these channels to be part of the community, ask for help while using Medusa, or just learn more about Medusa:

## Repository structure
- [Discord](https://discord.gg/medusajs): This is the main channel to join the community. You can ask for help, showcase your work with Medusa, and stay up to date with everything Medusa.
- [GitHub Issues](https://github.com/medusajs/medusa/issues): for sending in any issues you face or bugs you find while using Medusa.
- [GitHub Discussions](https://github.com/medusajs/medusa/discussions): for joining discussions and submitting your ideas.
- [Medusa Blog](https://medusajs.com/blog/): find diverse tutorials and company news.
- [Twitter](https://twitter.com/medusajs)
- [LinkedIn](https://www.linkedin.com/company/medusajs)

The Medusa repository is a mono-repository managed using Lerna. Lerna allows us to have all Medusa packages in one place, and still distribute them as separate NPM packages.
## Upgrade Guides

## Licensed
Follow our [upgrade guides](https://docs.medusajs.com/advanced/backend/upgrade-guides/) on the documentation to keep your Medusa project up-to-date.

Licensed under the [MIT License](https://github.com/medusajs/medusa/blob/master/LICENSE)
## License

## Thank you!
Licensed under the [MIT License](https://github.com/medusajs/medusa/blob/master/LICENSE)
35 changes: 35 additions & 0 deletions docs-util/typedoc-plugins/typedoc-frontmatter-plugin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# typedoc-frontmatter-plugin

A Typedoc plugin that allows inserting frontmatter key-value pairs at the top of the exported Markdown files.

## Configurations

The following options are optional and can be used to customize the configurations of the plugin.

### frontmatterData

`frontmatterData` is an object of key-value pairs. If none provided, no frontmatter variables will be added to the Markdown files.

An example of passing it in a JavaScript configuration file:

```js
frontmatterData: {
displayed_sidebar: "jsClientSidebar",
},
```

If passing the option in the command line the value should be a JSON object.

### pagesPattern

`pagesPattern` is a string that contains a regular expression. This allows you to limit the pages the frontmatter variables should be added to.

By default, the frontmatter variables will be added to all files.

An example of passing it in a JavaScript configuration file:

```js
frontmatterData: {
pagesPattern: "internal\\.",
},
```
49 changes: 49 additions & 0 deletions docs-util/typedoc-plugins/typedoc-frontmatter-plugin/dist/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

32 changes: 32 additions & 0 deletions docs-util/typedoc-plugins/typedoc-frontmatter-plugin/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"name": "typedoc-frontmatter-plugin",
"version": "1.0.0",
"description": "Plugin to add frontmatter key-values at the top of pages",
"main": "./dist/index.js",
"exports": "./dist/index.js",
"files": [
"dist"
],
"author": "Shahed Nasser",
"license": "MIT",
"scripts": {
"build": "tsc"
},
"peerDependencies": {
"typedoc": "0.22.x"
},
"devDependencies": {
"@types/node": "^16.11.10",
"typedoc": "^0.22.10",
"@typescript-eslint/eslint-plugin": "5.6.0",
"@typescript-eslint/parser": "5.6.0",
"typescript": "4.5.2"
},
"keywords": [
"typedocplugin",
"packages",
"monorepo",
"lerna",
"typedoc"
]
}
Loading

0 comments on commit fb0346f

Please sign in to comment.