@nordicsemiconductor/asset-tracker-cloud-code-style

Code style definitions for all nRF Asset Tracker projects.

Usage no npm install needed!

<script type="module">
  import nordicsemiconductorAssetTrackerCloudCodeStyle from 'https://cdn.skypack.dev/@nordicsemiconductor/asset-tracker-cloud-code-style';
</script>

README

Code Style definitions npm version

GitHub Actions semantic-release Renovate Mergify Status Commitizen friendly code style: prettier ESLint: TypeScript

Code Style definitions for all nRF Asset Tracker projects

Installation

npm i --save-dev @nordicsemiconductor/asset-tracker-cloud-code-style

Usage

Update your package.json:

{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{ts,tsx}": ["prettier --write", "eslint --ext .js,.ts"],
    "*.{md,json,yaml,yml,js}": ["prettier --write"]
  }
}

Then:

npm i --save-dev @nordicsemiconductor/asset-tracker-cloud-code-style
cp node_modules/@nordicsemiconductor/asset-tracker-cloud-code-style/templates/* ./
cp node_modules/@nordicsemiconductor/asset-tracker-cloud-code-style/templates/.* ./

Use with React

npm install eslint-plugin-react --save-dev

Use this .eslintrc

{
  "extends": [
    "@nordicsemiconductor/eslint-config-asset-tracker-cloud-typescript",
    "plugin:react/recommended"
  ],
  "settings": {
    "react": {
      "version": "latest"
    }
  }
}

tsconfig.json:

{
  "extends": "@nordicsemiconductor/asset-tracker-cloud-code-style/tsconfig.json",
  "include": ["src/*.tsx", "src/*.ts"],
  "exclude": ["src/*.spec.ts"],
  "compilerOptions": {
    "outDir": "dist/",
    "jsx": "react",
    "lib": ["DOM", "ES5"],
    "target": "es2018",
    "esModuleInterop": true
  }
}

Use with Creat React App

Use this .eslintrc

{
  "extends": [
    "@nordicsemiconductor/eslint-config-asset-tracker-cloud-typescript",
    "react-app"
  ]
}
npm i --save-dev babel-eslint@10.0.2 eslint-config-react-app@5.0.1 eslint-plugin-flowtype@4.2.0 eslint-plugin-import@2.18.2 eslint-plugin-jsx-a11y@6.2.3 eslint-plugin-react@7.14.3 eslint-plugin-react-app@6.0.0 eslint-plugin-react-hooks@1.7.0

Do not use tsconfig.json from code-style.

Migrating to @nordicsemiconductor/asset-tracker-cloud-code-style

For converting projects to use code-style:

npm uninstall --save --save-dev @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier lint-staged prettier semantic-release @nordicsemiconductor/asset-tracker-cloud-code-style tslint lint-staged prettier typescript