diff --git a/example/.storybook/addons.js b/example/.storybook/addons.js index 896c18f..cb0f817 100644 --- a/example/.storybook/addons.js +++ b/example/.storybook/addons.js @@ -1,3 +1,2 @@ -import '../../register' -import '@storybook/addons' -import '@storybook/addon-options/register' +import '../../register'; +import '@storybook/addon-options/register'; diff --git a/package.json b/package.json index d2202f7..59eb1fc 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ }, "scripts": { "prebuild": "rimraf lib", - "build": "babel src --out-dir lib --ignore spec.js,test.js --extensions .ts --extensions .js --extensions .tsx", + "build": "babel src --out-dir lib --ignore spec.js,test.js --extensions .ts --extensions .js --extensions .tsx && npm run build:types", "build:dev": "babel -w src --out-dir lib --ignore spec.js,test.js --extensions .ts --extensions .js --extensions .tsx", "netlify": "build-storybook -c ./example/.storybook", "prepare": "yarn build", @@ -22,7 +22,8 @@ "test": "yarn test:all", "test:all": "jest src", "test:dev": "jest src --watch", - "release": "./scripts/release.sh" + "release": "./scripts/release.sh", + "build:types": "tsc -p tsconfig.json" }, "jest": { "testURL": "http://localhost" @@ -36,7 +37,6 @@ "devDependencies": { "@babel/cli": "^7.1.2", "@babel/core": "^7.1.6", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", "@babel/preset-env": "^7.1.0", "@babel/preset-react": "^7.0.0", "@babel/preset-typescript": "^7.3.3", @@ -47,6 +47,7 @@ "@storybook/core-events": "^5.0.1", "@storybook/react": "^5.0.1", "@types/js-beautify": "^1.8.0", + "@types/prismjs": "^1.9.1", "@types/react": "^16.8.8", "@types/react-copy-to-clipboard": "^4.2.6", "@types/storybook__react": "^4.0.1", @@ -57,16 +58,17 @@ "husky": "^1.3.1", "jest": "test", "lint-staged": "^8.1.5", - "npm-run-all": "^4.1.5", "prettier": "^1.15.2", "prop-types": "^15.6.2", "react": "^16.8.4", "react-dom": "^16.8.4", "react-test-renderer": "^16.8.4", "regenerator-runtime": "^0.13.1", - "rimraf": "^2.6.2" + "rimraf": "^2.6.2", + "typescript": "^3.3.3333" }, "peerDependencies": { + "@storybook/addons": "^5.0.1", "@babel/core": "^7.1.2", "react": "^16.2.0", "react-dom": "^16.2.0" diff --git a/tsconfig.json b/tsconfig.json index b7cead7..f7c8683 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,6 +10,8 @@ "noUnusedLocals": true, "noUnusedParameters": true, "outDir": "dist", + "declarationDir": "lib", + "emitDeclarationOnly": true, "preserveConstEnums": true, "removeComments": false, "skipLibCheck": true, diff --git a/yarn.lock b/yarn.lock index 921732a..b929aff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1933,6 +1933,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.10.tgz#4fa76e6598b7de3f0cb6ec3abacc4f59e5b3a2ce" integrity sha512-8xZEYckCbUVgK8Eg7lf5Iy4COKJ5uXlnIOnePN0WUwSQggy9tolM+tDJf7wMOnT/JT/W9xDYIaYggt3mRV2O5w== +"@types/prismjs@^1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.9.1.tgz#e63b1ed46f184046615dd87b978f902c9f328649" + integrity sha512-6TjOUrpDM2yjyPE/bdenDqxfoR4E8ve7coEdtiKg5IMBsjqTGsIN7HF5dpaNg/Ab8VumNeRXI8EjQsyBYWPeNA== + "@types/prop-types@*": version "15.7.0" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.0.tgz#4c48fed958d6dcf9487195a0ef6456d5f6e0163a" @@ -4051,7 +4056,7 @@ create-react-context@^0.2.1: fbjs "^0.8.0" gud "^1.0.0" -cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@6.0.5, cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -7577,11 +7582,6 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= - meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -8058,21 +8058,6 @@ npm-path@^2.0.2: dependencies: which "^1.2.10" -npm-run-all@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" - integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== - dependencies: - ansi-styles "^3.2.1" - chalk "^2.4.1" - cross-spawn "^6.0.5" - memorystream "^0.3.1" - minimatch "^3.0.4" - pidtree "^0.3.0" - read-pkg "^3.0.0" - shell-quote "^1.6.1" - string.prototype.padend "^3.0.0" - npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -8599,11 +8584,6 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -pidtree@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.0.tgz#f6fada10fccc9f99bf50e90d0b23d72c9ebc2e6b" - integrity sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg== - pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -10004,7 +9984,7 @@ shebang-regex@^1.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= -shell-quote@1.6.1, shell-quote@^1.6.1: +shell-quote@1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= @@ -10864,6 +10844,11 @@ typescript-memoize@^1.0.0-alpha.3: dependencies: core-js "2.4.1" +typescript@^3.3.3333: + version "3.3.3333" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6" + integrity sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw== + typical@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d"