open-index/open-npm huggingface dataset:
npm package: @satazor/stylelint-config
Description: My own stylelint configurations
Author: André Cruz
Latest version: 8.1.0

# stylelint-config

[![Dependency status][david-dm-image]][david-dm-url] [![Dev Dependency status][david-dm-dev-image]][david-dm-dev-url]

[david-dm-url]:https://david-dm.org/satazor/stylelint-config
[david-dm-image]:https://img.shields.io/david/satazor/stylelint-config.svg
[david-dm-dev-url]:https://david-dm.org/satazor/stylelint-config#info=devDependencies
[david-dm-dev-image]:https://img.shields.io/david/dev/satazor/stylelint-config.svg

My own [stylelint](http://stylelint.io/) configurations, based on [stylelint-config-suitcss](https://github.com/stylelint/stylelint-config-suitcss).


## Installation

`$ npm install --save-dev @satazor/stylelint-config`

This config was tested with `stylelint@^3.2.0`. Use other versions at your own risk. I will try to keep this project up to date with the changes of `stylelint` and the plugins used here.


## Usage

Create a `.stylelintrc` file with:

```json
{
    "extends": "@satazor/stylelint-config"
}
```

Feel free to override any rules you don't agree with.


## File name convention

All files should be lowercased with dashes as separators

```
// Good
my-button.css
app.css

// Bad
MyButton.css
my_button.css
App.css
```


## License

[MIT License](http://opensource.org/licenses/MIT)
npm package: @satche/satche
Description: A Swiss Army knife made of ink and pixel
Author: Thomas Robert
Latest version: 0.1.3

# Satche

**Thomas Robert**, aka *Satche*, is a multitool cross-platform DaaS (Developer as a Service).<br>
A Swiss Army knife made of ink and pixel.

## Usage

```bash
npx satche
```

## Roadmap

- Validate `software-engineer` <abbr title="Master of Science">MSc</abbr> <abbr title="Computer Science">CS</abbr> certificate @[HES-SO](https://www.hes-so.ch)
- Apply <abbr title="Depth-First Search">DFS</abbr> algorithm on `find-job` routine

Past changes are available in the [CHANGELOG](CHANGELOG.md).

## Contributing

If you want to contribute to the growth of this developer, please reach him out through the following channels.

[![E-mail](https://img.shields.io/badge/info@thomas–robert.ch-5b5d60?style=flat&logo=gmail&logoColor=white)](mailto:info@thomas-robert.ch)
[![LinkedIn](https://img.shields.io/badge/thomas–robert–dev-0077b5?style=flat&logo=LinkedIn&logoColor=white)](https://www.linkedin.com/in/thomas-robert-dev/)
[![Instagram](https://img.shields.io/badge/@satche.ch-dd247d?style=flat&logo=instagram&logoColor=white)](https://instagram.com/satche.ch)
[![Discord](https://img.shields.io/badge/Satche%235901-7982da?style=flat&logo=discord&logoColor=white)](https://discord.com/users/623403349240446986)
npm package: @satel/eslint-config-react
Description: Satel eslint config for react apps
Author: Quinn Blenkinsop
Latest version: 3.0.0

# Satel react eslint config

For more general documentation on using and configuring eslint please see the root of this repo [here](https://github.com/SatelCreative/eslint-plugin)

## Installation

First, make sure you have [Node.js](https://nodejs.org/en/download/) `v8.10.0` or above installed

```
$ node -v
v8.10.0
```

Next, install `eslint` and `@satel/eslint-config-react`

**npm**
```
$ npm i eslint @satel/eslint-config-react --save-dev
```

[**Yarn**](https://yarnpkg.com/en/docs/install)

```
$ yarn add eslint @satel/eslint-config-react -D
```

*Note* - the above should be run from your project directory

## Configure

Create (or modify) a `.eslintrc` file in the root of your project directory. Then you can use the `extends` property to apply the configuration

```json
{
  "extends": "@satel/react"
}
```

## Contents
- [eslint-config-airbnb](https://www.npmjs.com/package/eslint-config-airbnb)
- [eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import)
- [eslint-plugin-jsx-a11y](https://www.npmjs.com/package/eslint-plugin-jsx-a11y)
- [eslint-plugin-react](https://www.npmjs.com/package/eslint-plugin-react)
- [prettier](https://www.npmjs.com/package/prettier)
- [eslint-plugin-prettier](https://www.npmjs.com/package/eslint-plugin-prettier)
- [eslint-config-prettier](https://www.npmjs.com/package/eslint-config-prettier)
npm package: @satel/eslint-config-theme
Description: Satel eslint config for es5 shopify themes
Author: Quinn Blenkinsop
Latest version: 1.0.0

# Satel shopify theme eslint config

For more general documentation on using and configuring eslint please see the root of this repo [here](https://github.com/SatelCreative/eslint-plugin)

## Installation

First, make sure you have [Node.js](https://nodejs.org/en/download/) `v8.10.0` or above installed

```
$ node -v
v8.10.0
```

Next, install `eslint` and `@satel/eslint-config-theme`

**npm**
```
$ npm i eslint @satel/eslint-config-theme --save-dev
```

[**Yarn**](https://yarnpkg.com/en/docs/install)

```
$ yarn add eslint @satel/eslint-config-theme -D
```

*Note* - the above should be run from your project directory

## Configure

Create (or modify) a `.eslintrc` file in the root of your project directory. Then you can use the `extends` property to apply the configuration

```json
{
  "extends": "@satel/theme"
}
```

## Contents
- [eslint-plugin-es5](https://www.npmjs.com/package/eslint-plugin-es5)
- [eslint-plugin-html](https://www.npmjs.com/package/eslint-plugin-html)
- [prettier](https://www.npmjs.com/package/prettier)
- [eslint-plugin-prettier](https://www.npmjs.com/package/eslint-plugin-prettier)
- [eslint-config-prettier](https://www.npmjs.com/package/eslint-config-prettier)
npm package: @satel/eslint-plugin
Description: ESLint plugins & configs used at Satel
Author: Quinn Blenkinsop
Latest version: 2.0.0

# Satel eslint plugin

This plugin contains rules used by the eslint configurations also available in this monorepo. Some of them are custom and some of them are borrowed from other configurations in order to avoid pulling in too many dependencies.

For more general documentation on using and configuring eslint please see the root of this repo [here](https://github.com/SatelCreative/eslint-plugin)

## Installation

First, make sure you have [Node.js](https://nodejs.org/en/download/) `v8.10.0` or above installed

```
$ node -v
v8.10.0
```

Next, install `eslint` and `@satel/eslint-plugin`

**npm**
```
$ npm i eslint @satel/eslint-plugin --save-dev
```

[**Yarn**](https://yarnpkg.com/en/docs/install)

```
$ yarn add eslint @satel/eslint-plugin -D
```

*Note* - the above should be run from your project directory

## Configure

Create (or modify) a `.eslintrc` file in the root of your project directory. Then you can use the `extends` property to apply the configuration

```json
{
  "plugins": "@satel"
}
```

## Available Rules

- `@satel/jquery-dollar-sign-reference`
   - Requires that jquery variables are prefixed with `$`
   - From shopify's [eslint-plugin](https://github.com/Shopify/eslint-plugin-shopify/blob/master/lib/rules/jquery-dollar-sign-reference.js)
npm package: @satel/shopify-app-history
Description: Sync history in Shopify embedded apps
Author: Quinn Blenkinsop
Latest version: 1.0.0-beta.2

# Shopify App History

While attempting to use [`react-router`](https://github.com/ReactTraining/react-router) to handle routing in embedded [Shopify](https://www.shopify.ca/) apps we noticed that `window.top.location` was not staying in sync with `window.location`. This package attempts to solve that problem.

While it may work with other routing solutions, it is specifically targeting `react-router`.

## Usage

Install:

`$ npm install --save @satel/shopify-app-history`

`$ yarn add @satel/shopify-app-history`

Import:

```js
import { createBrowserHistory } from 'history';
import syncHistory from '@satel/shopify-app-history';
```

Initialize:
```js
const history = createHistory({
  easdk,
  history: createBrowserHistory(),
});
```

## Polaris Example
```js
import React from 'react';
import ReactDOM from 'react-dom';
import PropTypes from 'prop-types';
import { Router } from 'react-router-dom';
import { AppProvider } from '@shopify/polaris';
import syncHistory from '@satel/shopify-app-history';
import history from './path/to/custom/history';
import App from './App';

const ShopifyRouter = (({ children }, { easdk }) => {
  const history = syncHistory({
    easdk,
    history,
  });
  return (
    <Router history={history}>
      {children}
    </Router>
  );
});

// This tells react to bind the context
ShopifyRouter.contextTypes = { easdk: PropTypes.any.isRequired };

ReactDOM.render(
  <AppProvider
    apiKey="shh"
    shopOrigin="https://example.myshopify.com"
  >
    <ShopifyRouter>
      <App />
    </ShopifyRouter>
  </AppProvider>,
  document.getElementById('root'),
);
```

## EASDK Example
```html
<!-- Include the EASDK -->
<script src="https://cdn.shopify.com/s/assets/external/app.js"></script>
```

```js
import React from 'react';
import ReactDOM from 'react-dom';
import { Router } from 'react-router-dom';
import syncHistory from '@satel/shopify-app-history';
import history from './path/to/custom/history';
import App from './App';

syncHistory({
  easdk: window.ShopifyApp,
  history,
});

window.ShopifyApp.init({
  apiKey: "shh",
  shopOrigin: "https://example.myshopify.com",
});

window.ShopifyApp.ready(() => {
  ReactDOM.render(
    <Router history={history}>
      <App />
    </Router>,
    document.getElementById('root'),
  );
});
```

### Implementation

It is just tiny wrapper around [`history`](https://github.com/ReactTraining/history) that makes calls to `easdk.replaceState()` or `easdk.messenger.send()` depending on which library is used.
npm package: @satel/steel-config
Description: Generate configurations for Slate packages by applying values from slate.config.js to override default values
Author: Shopify Inc.
Latest version: 2.0.0-beta.4

# @shopify/slate-config

Handles all of Slate's configurable options. Slate packages can declare options in schema files and access the default values of these options in their code. Slate Config will also look for a `slate.config.js` file in the root of a Slate theme project and use any key/values declared in it to override default values declared in Slate packages.

### Example Schema

The format of Slate configurations relies on a flat object structure using unique keys to access each of its configuration items.

```js
const path = require('path');
const commonPaths = require('@shopify/slate-config/common/paths.schema');

module.exports = {
  // You can divide your config items across multiple files, import them, and then
  // spread them into your main config schema. Slate Config comes with common
  // config items like paths which might be used in any Slate package.
  ...commonPaths

  // Configuration values can be set directly
  'webpack.babel.enable': true,

  // Or computed when the schema file is require()'d by another file
  'paths.theme': process.cwd(),

  // Or even computed when requested by Slate Config's .get() method. This allows
  // configuration items to access other configuration items. The argument passed
  // to the function is an instance of the SlateConfig() class.
  'paths.theme.src': config => path.join(config.get('paths.theme'), 'src'),
};
```

### Methods

#### SlateConfig(schema)

The main class constructor which consumes a config schema and returns a config instance.

```
const SlateConfig = require('@shopify/slate-config');
const config = new SlateConfig(require('../../../slate-tools.schema'));
```

#### SlateConfig.prototype.get(key)

Fetches the value of a given config item, and throws an error if the item does not exist

```
const themeRoot = config.get('paths.theme');
```

#### SlateConfig.prototype.set(key, value, override)

Sets the value of config item, and throws an error in the key already has a value set to it, unless the override boolean is set to true.

```
config.set('newKey', 'newValue'); // Sets new key in your config instance
config.set('existingKey', 'someValue'); // Throws an error because key already exists
config.set('existingKey', 'newValue', true); // Doesn't throw an error because override is set to true
```

### Testing

Generally, it's considered a best practice to add unit tests to any configuration items you use in your code to catch any future unintentional regressions. To test a configuration item, you can modify the global object used to normally store `slate.config.js` values:

```
global.slateUserConfig['paths.theme'] = 'some/new/path/for/testing'
```
npm package: @satel/steel-cssvar-loader
Description: Finds CSS custom properties (variables) in your stylesheets and replaces them with their corresponding liquid variable
Author: Shopify Inc.
Latest version: 2.0.0-beta.4

[![npm version](https://badge.fury.io/js/%40shopify%2Fslate-cssvar-loader.svg)](https://badge.fury.io/js/%40shopify%2Fslate-cssvar-loader)

# @satel/steel-cssvar-loader

Finds CSS custom properties (variables) in your stylesheets and replaces them with their corresponding Liquid variable found in the provided `cssVariablesPath` option.

For more information, visit [the documentation website](https://shopify.github.io/slate/docs/slate-cssvar-loader).
npm package: @satel/steel-tools
Description: A modern development toolkit for Shopify themes
Author: Shopify
Latest version: 2.0.0-beta.4

[![npm version](https://badge.fury.io/js/%40shopify%2Fslate-tools.svg)](https://badge.fury.io/js/%40shopify%2Fslate-tools)

# @satel/steel-tools

Slate Tools provides a sophisticated development experience enabling users to build top-notch Shopify themes.