open-index/open-npm huggingface dataset:
npm package: @hdsydsvenskan/eslint-config-hds
Description: HD-Sydsvenskan ESLint shareable config. Based on semistandard
Author: HD-Sydsvenskan
Latest version: 20.0.3

# HD-Sydsvenskan JavaScript Style Guide

*Another mostly reasonable approach to JavaScript*

<!--[![dependencies Status](https://david-dm.org/@hdsydsvenskan/eslint-config-hds/status.svg)](https://david-dm.org/Sydsvenskan/eslint-config-hds)
[![Build Status](https://travis-ci.com/Sydsvenskan/eslint-config-hds.svg?branch=master)](https://travis-ci.com/Sydsvenskan/eslint-config-hds)-->
[![Downloads](https://img.shields.io/npm/dm/@hdsydsvenskan/eslint-config-hds.svg)](https://www.npmjs.com/package/@hdsydsvenskan/eslint-config-hds)
[![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg?style=flat)](https://github.com/Flet/semistandard)

Node.js focused config, built on top of Standard JS and our shared config [eslint-config-hds-core](https://github.com/Sydsvenskan/eslint-config-hds-core).

## Installation

Be sure to install versions of peer dependencies that are valid according to the peer dependency specification of this module.

As ESLint configs and dependencies can and will change their rules with major releases you will likely get an incorrect ruleset otherwise.

To easily install all correct peer dependencies, you can use [`install-peerdeps`](https://www.npmjs.com/package/install-peerdeps):

```bash
install-peerdeps @hdsydsvenskan/eslint-config-hds
```

## License

(The MIT License)

Copyright (c) 2020 Bonnier News AB

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
npm package: @hdsydsvenskan/eslint-config-hds-browser
Description: HD-Sydsvenskan eslint sharable config base on semistandard
Author: HD-Sydsvenskan
Latest version: 14.0.2

# HD-Sydsvenskan Browser JavaScript Style Guide

*Another mostly reasonable approach to JavaScript in the browser*

<!--
[![Build Status](https://travis-ci.com/Sydsvenskan/eslint-config-hds-typescript.svg?branch=master)](https://travis-ci.com/Sydsvenskan/eslint-config-hds-typescript)
[![dependencies Status](https://david-dm.org/@hdsydsvenskan/eslint-config-hds-typescript/status.svg)](https://david-dm.org/Sydsvenskan/eslint-config-hds-typescript)
[![Downloads](https://img.shields.io/npm/dm/@hdsydsvenskan/eslint-config-hds-typescript.svg)](https://www.npmjs.com/package/@hdsydsvenskan/eslint-config-hds-typescript)
[![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg?style=flat)](https://github.com/Flet/semistandard)
-->

## License

(The MIT License)

Copyright (c) 2020 Bonnier News AB

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
npm package: @hdsydsvenskan/eslint-config-hds-core
Description: HD-Sydsvenskan ESLint shareable config for core linting rules
Author: HD-Sydsvenskan
Latest version: 2.0.2

# HD-Sydsvenskan JavaScript Core

Contains additional rules which we use on top of [Standard JS](https://standardjs.com/) in our linting setups for browser js, node, typescript and such.

Include this config after the [Standard JS ESLint config](https://github.com/standard/eslint-config-standard). Bundles the [Semistandard](https://github.com/standard/eslint-config-semistandard) modifications.

[![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg?style=flat)](https://github.com/Flet/semistandard)
<!--
[![Build Status](https://travis-ci.com/Sydsvenskan/eslint-config-hds-core.svg?branch=master)](https://travis-ci.com/Sydsvenskan/eslint-config-hds-core)
[![dependencies Status](https://david-dm.org/@hdsydsvenskan/eslint-config-hds-core/status.svg)](https://david-dm.org/Sydsvenskan/eslint-config-hds-core)
[![Downloads](https://img.shields.io/npm/dm/@hdsydsvenskan/eslint-config-hds-core.svg)](https://www.npmjs.com/package/@hdsydsvenskan/eslint-config-hds-core)
-->

## License

(The MIT License)

Copyright (c) 2020 Bonnier News AB

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
npm package: @hdsydsvenskan/graphql-partials
Description: Experimental transformer implementing support for partials in GraphQL Schemas
Author: Pelle Wessman
Latest version: 0.3.1

# GraphQL Partials

Experimental transformer implementing support for partials in GraphQL Schemas.

This module's sole purpose is as an experimental implementation of the concepts brought up in [graphql/graphql-js#703](https://github.com/graphql/graphql-js/issues/703#issuecomment-315776310). It's not intended as a long term solution by itself, but as an experiment with a possible future extension of the GraphQL Schema itself.

[![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg?style=flat)](https://github.com/Flet/semistandard)

## Usage

### Command line

```bash
npm install -g @hdsydsvenskan/graphql-partials
```

Then run it to output the transformed schema:

```bash
graphql-partials <path-to-schema-with-partials.graphql>
```

### npm script build step

```bash
npm install --save-dev @hdsydsvenskan/graphql-partials
```

Then:

```
"scripts": {
  "build": "graphql-partials schema-partials.graphql > schema.graphql"
}
```

### Programmatic use

```bash
npm install --save @hdsydsvenskan/graphql-partials
```

```javascript
const renderSchemaWithPartials = require('@hdsydsvenskan/graphql-partials');

const schemaWithoutPartials = renderSchemaWithPartials('partial abc { ... } type xyz using abc { ... }');
```

## Experimental GraphQL Schema syntax

This transformer provides a way to import field definitions from a defined `partial` to an `interface` and/or `type`, thus complementing `interface`:s by providing a mechanism to reduce repition of fields while not messing with any existing semantics.

This model is similar to what eg. PHP does with [traits](http://php.net/manual/en/language.oop5.traits.php), but as GraphQL Schema's `interface` and `type` are more similar than `interface` and `class` in PHP, the `using` keyword here applies to both `interface` and `type`, allowing field definitions to be imported into both of them.

### Syntax

#### Entity: `partial`

This transformer introduced a new experimental entity with the name `partial`. This entity defines a set of fields, similar to what an `interface` does, and it's sole purpose is to be referenced by the new `using` keyword.

#### Keyword: `using`

Similar to how a `type` can reference an `interface` using the `implements` keyword both a `type` and an `interface` can reference a `partial` through the experimental keyword `using` that this transformer introduces. Like `implements` it accepts a comma separated list if one wants to apply multiple partials to the same definition.

The transformer makes no checks whether multiple partials conflicts with each other or whether any partial and the definition of the interface/type itself conflicts with each other. The only check it makes is whether a partial of the stated name actually exists and then it prepends the field definitions of that partial to the field definitions of the interface/type itself.
npm package: @hdsydsvenskan/travis-env-sync
Description: Syncs Travis settings and .travis.yml across a large number of repositories
Author: Pelle Wessman
Latest version: 1.5.1

# Travis-Env-Sync

Syncs Travis settings and `.travis.yml` across a large number of repositories

Sets Travis settings for only building when there's a `.travis.yml` and optionally sets cron and secret environment variables (adds or updates). Also builds and pushes a `.travis.yml` with optionally an encrypted Slack notification.

Built to support both both Travis _.org_ and _.com_, but only tested with _.com_.

[![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg?style=flat)](https://github.com/Flet/semistandard)

## Install

```bash
npm install -g @hdsydsvenskan/travis-env-sync
```

## Syntax

```bash
travis-env-sync config.yml
```

Or:

```bash
cat config.yml | travis-env-sync
```

## Flags

* `--keychain` / `-k` – use Keychain to store secrets (or non-Mac equivalent supported by [keytar](https://www.npmjs.com/package/keytar))
* `--reset` / `-r` – reset the data in the Keychain, so new data can be defined
* `--help`
* `--version`

## Config file

Example:

```yaml
repos:
  - 'example/example'
cron: 'weekly'
slack: 'slackorganization'
private_travis: true
secret_env_vars:
  - 'NPM_TOKEN'
travis:
  language: node_js
  node_js:
    - '8'
    - '6'
  sudo: false
  before_install:
    - echo "//registry.npmjs.org/:_authToken=\${NPM_TOKEN}" > .npmrc
```

### Config keys

* **repos** – a list of all the repos to update
* **travis** – the actual Travis configuration
* **[cron]** – _optional_ – set to `weekly`, `daily` or `monthly` to set up a cron job to run for `master` if it hasn't recently built
* **[private_travis]** – _optional_ – set to `true` if your targeting private repos (you can't target both private and public repos at once as Travis runs the two at two different API:s)
* **[secret_env_vars]** –  _optional_ – secret environment variables that should be saved to Travis and, if chosen, saved to Keychain. Value will be prompted for.
* **[slack]** –  _optional_ – the name of the Slack account to send notifications to
npm package: @hdsydsvenskan/ts-ignore-import
Description: Ignores unwanted dependencies in TypeScript definitions. Useful for autogenerated declarations
Latest version: 2.0.0

# TS Ignore Import

Ignores unwanted dependencies in TypeScript definitions. Useful for autogenerated declarations

[![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg?style=flat)](https://github.com/Flet/semistandard)

Adds `// @ts-ignore` to unwanted `import` and `require` targets in TypeScript definition files.

## Install

```bash
npm install -g @hdsydsvenskan/ts-ignore-import
```

## Syntax

```bash
ts-ignore-import [...declaration files]
```

## Programmatic use

Very similar to CLI-use. See [type file](./index.d.ts).

## Examples

### Simplest

```bash
ts-ignore-import
```

### Allow some dependencies

```bash
ts-ignore-import --allow=bunyan-adapter --allow=express
```

### Advanced

```bash
ts-ignore-import \
  --allow=bunyan-adapter \
  --allow=express \
  'lib/**/*.d.ts'
```

## Input

One or more declaration files that will be processed. Supports glob patterns.

## Flags

### Core Flags

* `--allow`, `-a` – Marks a module as allowed. It will then not have a `// @ts-ignore` added to it. (Already added ignores are kept though)
* `--skip`, `-s` – Skip a specific file. Follows .gitignore syntax. Matched against file paths relative to resolved path of ts-config.
* `--ts-config`, `-t` – Point to a `tsconfig.json` file to override any auto-discovered one


### Additional Flags

* `--debug` – Activates some very verbose logging
* `--dry-run` – Runs everything like normal, but doesn't save any changes
* `--help` – When set, this help will be printed
* `--silent` – When set, no feedback will be printed
* `--verbose`, `-v` – When set, more verbose feedback will be printed
* `--version` – When set, this tools version will be printed

## Config file

Optional. Uses [cosmiconfig](https://www.npmjs.com/package/cosmiconfig) to set it up. Useful for eg. `skipFiles`

### Possible file names

Non-exhaustive list:

* `.tsignoreimportrc` – JSON or YAML content
* `.tsignoreimportrc.json` – JSON content
* `.tsignoreimportrc.yml` – YAML content
* `tsignoreimportrc.config.js` – JS-file exporting the config
* `package.json` property: `tsIgnoreImport`

### Properties

* `allow` – an array of values that's same as `--allow`
* `files` – an array of one or more declaration files that will be processed. Supports glob patterns
* `skipFiles` – an array of values that's same as `--skip`
* `tsConfig` – same as `--ts-config`. Will get overriden by `--ts-config`
npm package: @hdtrucvn/hdtvnsum
Description: Một thư viện giúp bạn tính tổng của 2 số bất kỳ
Author: @hdtrucvn
Latest version: 1.0.1

- Cài đặt nodejs và npm tại https://nodejs.org/en

- Tải file và lưu ở desktop

- Truy cập github.com tạo repository với tên tea-xyz-quest (Phải để repo public)

- Truy cập https://www.npmjs.com để tạo tài khoản

- Sửa file package.json, theo format
  - name => @username_npm/tea-xyz-quest 
  - author => @username_npm
  - repository => link tới repo github vừa tạo

- Truy cập repo github vừa tạo và upload cả folder vừa sửa lên Github

- Mở terminal, gõ lệnh "npm -v" để kiểm tra xem đã cài đặt thành công npm ở bước 1 chưa

- Gõ tiếp lệnh "cd Desktop/tea-xyz-quest" để trỏ tới thư mục code 

- "npm login" => Có 1 đường dẫn để bấm vào sẽ mở trình duyệt dẫn tới web login npm

- Sau khi login thành công gõ lệnh "npm publish --access public" để public package lên npm publish. 

- Truy cập app.tea.xyz => Register a New OSS Project

- Tìm kiếm tên package vừa tạo. . Bước này có thể mất tới 2-3 ngày để package mới xuất hiện trên hệ thống của tea.xyz

- Sau đó tea sẽ cho 1 file có tên tea.yaml, tải về và quay lại repo github, upload tiếp file đó lên là xong
npm package: @hdtrucvn/hdtvntea
Description: A special Quest for tea.xyz
Author: @hdtrucvn
Latest version: 1.0.0

- Cài đặt nodejs và npm tại https://nodejs.org/en

- Tải file và lưu ở desktop

- Truy cập github.com tạo repository với tên tea-xyz-quest (Phải để repo public)

- Truy cập https://www.npmjs.com để tạo tài khoản

- Sửa file package.json, theo format
  - name => @username_npm/tea-xyz-quest 
  - author => @username_npm
  - repository => link tới repo github vừa tạo

- Truy cập repo github vừa tạo và upload cả folder vừa sửa lên Github

- Mở terminal, gõ lệnh "npm -v" để kiểm tra xem đã cài đặt thành công npm ở bước 1 chưa

- Gõ tiếp lệnh "cd Desktop/tea-xyz-quest" để trỏ tới thư mục code 

- "npm login" => Có 1 đường dẫn để bấm vào sẽ mở trình duyệt dẫn tới web login npm

- Sau khi login thành công gõ lệnh "npm publish --access public" để public package lên npm publish. 

- Truy cập app.tea.xyz => Register a New OSS Project

- Tìm kiếm tên package vừa tạo. . Bước này có thể mất tới 2-3 ngày để package mới xuất hiện trên hệ thống của tea.xyz

- Sau đó tea sẽ cho 1 file có tên tea.yaml, tải về và quay lại repo github, upload tiếp file đó lên là xong