UNPKG

sharec-core

Version:

[![.github/workflows/main.yml](https://github.com/lamartire/sharec/workflows/.github/workflows/main.yml/badge.svg)](https://github.com/lamartire/sharec/actions) [![npm](https://img.shields.io/npm/v/sharec)](https://npmjs.com/sharec) ![MIT License](https:/

53 lines (48 loc) 1.72 kB
// @ts-check const { isMap } = require('sharec-utils').map const { compose, fork } = require('sharec-schema').actions const { hashAtom, listConcatAtom, primitiveAtom, commandAtom } = require('sharec-schema').atoms const { eslintJson } = require('../eslint/schema') const { babelJson } = require('../babel/schema') const { postcssJson } = require('../postcss/schema') const { lintStagedJson } = require('../lintStaged/schema') const { yaspellerJson } = require('../yaspeller/schema') const { huskyJson } = require('../husky/schema') const { jestJson } = require('../jest/schema') const { prettierJson } = require('../prettier/schema') const packageJson = compose({ // Default fields keywords: listConcatAtom, homepage: primitiveAtom, bugs: fork([[isMap, hashAtom], primitiveAtom]), license: fork([[isMap, hashAtom], primitiveAtom]), author: fork([[isMap, hashAtom], primitiveAtom]), repository: fork([[isMap, hashAtom], primitiveAtom]), scripts: compose({ $$default: commandAtom, }), config: hashAtom, engines: hashAtom, dependencies: hashAtom, devDependencies: hashAtom, peerDependencies: hashAtom, optionalDependencies: hashAtom, bundledDependencies: hashAtom, // Tools fields eslintConfig: eslintJson, eslintIgnore: listConcatAtom, babel: babelJson, postcss: postcssJson, browserslist: listConcatAtom, 'lint-staged': lintStagedJson, yaspeller: yaspellerJson, husky: huskyJson, jest: jestJson, prettier: prettierJson, // Handle other fields $$ignore: ['sharec', 'name', 'version', 'description', 'people', 'man', 'os', 'cpu', 'preferGlobal', 'private'], $$default: fork([[isMap, hashAtom], primitiveAtom]), }) module.exports = { packageJson, }