From 8e7785fcac09034dfabc1efde02477f0fd176a15 Mon Sep 17 00:00:00 2001 From: Patrick Michalina Date: Sun, 12 Aug 2018 17:20:44 -0500 Subject: [PATCH 1/4] fix(ci): make dist root directory --- circle.yml | 2 +- package.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 5c99c0e..f290437 100644 --- a/circle.yml +++ b/circle.yml @@ -46,7 +46,7 @@ jobs: command: npm run build - run: name: Semantic Release - command: node_modules/.bin/semantic-release + command: cd dist && npm run release workflows: version: 2 diff --git a/package.json b/package.json index 1bba1e0..a5d48f1 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "scripts": { "test": "jest", "build": "tsc", + "release": "semantic-release", "lint": "tslint --project tsconfig.json --config tslint.json" }, "release": { From 6fd465ba00d9a01c5c7440be845bf0442902b3a1 Mon Sep 17 00:00:00 2001 From: Patrick Michalina Date: Sun, 12 Aug 2018 18:40:00 -0500 Subject: [PATCH 2/4] fix: ci improvements --- circle.yml | 2 +- package.json | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/circle.yml b/circle.yml index f290437..5c99c0e 100644 --- a/circle.yml +++ b/circle.yml @@ -46,7 +46,7 @@ jobs: command: npm run build - run: name: Semantic Release - command: cd dist && npm run release + command: node_modules/.bin/semantic-release workflows: version: 2 diff --git a/package.json b/package.json index a5d48f1..6c69c61 100644 --- a/package.json +++ b/package.json @@ -24,16 +24,11 @@ "scripts": { "test": "jest", "build": "tsc", - "release": "semantic-release", "lint": "tslint --project tsconfig.json --config tslint.json" }, "release": { "pkgRoot": "dist", - "assets": [ - "package.json", - "LICENSE", - "README.md" - ] + "assets": ["package.json", "LICENSE", "README.md"] }, "devDependencies": { "@types/jest": "^23.3.1", From 57582e67ed3cde4c61ddb4f9692152257d783b41 Mon Sep 17 00:00:00 2001 From: Patrick Michalina Date: Sun, 12 Aug 2018 18:42:25 -0500 Subject: [PATCH 3/4] wip --- package.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 6c69c61..1bba1e0 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,11 @@ }, "release": { "pkgRoot": "dist", - "assets": ["package.json", "LICENSE", "README.md"] + "assets": [ + "package.json", + "LICENSE", + "README.md" + ] }, "devDependencies": { "@types/jest": "^23.3.1", From 537386cf04e6361a10eb1df825c8a97d28cbbcbb Mon Sep 17 00:00:00 2001 From: Patrick Michalina Date: Sun, 12 Aug 2018 19:57:45 -0500 Subject: [PATCH 4/4] fix: semantic release fixes --- circle.yml | 3 +++ package-lock.json | 58 +++++++++++++++++++++++++++++++++++++++++ package.json | 8 +++--- scripts/publish-prep.ts | 34 ++++++++++++++++++++++++ 4 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 scripts/publish-prep.ts diff --git a/circle.yml b/circle.yml index 5c99c0e..8fa6bdd 100644 --- a/circle.yml +++ b/circle.yml @@ -41,6 +41,9 @@ jobs: - run: name: Install npm command: npm install + - run: + name: Prep Dist Folder + command: npm run dist - run: name: Build command: npm run build diff --git a/package-lock.json b/package-lock.json index a13ef2c..e649226 100644 --- a/package-lock.json +++ b/package-lock.json @@ -285,6 +285,12 @@ "integrity": "sha512-/UMY+2GkOZ27Vrc51pqC5J8SPd39FKt7kkoGAtWJ8s4msj0b15KehDWIiJpWY3/7tLxBQLLzJhIBhnEsXdzpgw==", "dev": true }, + "@types/node": { + "version": "10.5.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.8.tgz", + "integrity": "sha512-sWSjw+bYW/2W+1V3m8tVsm9PKJcxk3NHN7oRqNUfEdofKg0Imbdu1dQbFvLKjZQXEDXRN6IfSMACjJ7Wv4NGCQ==", + "dev": true + }, "JSONStream": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.3.tgz", @@ -4321,6 +4327,12 @@ "yallist": "^2.1.2" } }, + "make-error": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz", + "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", + "dev": true + }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", @@ -9751,6 +9763,46 @@ "lodash": "^4.17.10" } }, + "ts-node": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", + "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "buffer-from": "^1.1.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.6", + "yn": "^2.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.8.tgz", + "integrity": "sha512-WqAEWPdb78u25RfKzOF0swBpY0dKrNdjc4GvLwm7ScX/o9bj8Eh/YL8mcMhBHYDGl87UkkSXDOFnW4G7GhWhGg==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", @@ -10270,6 +10322,12 @@ "dev": true } } + }, + "yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true } } } diff --git a/package.json b/package.json index 1bba1e0..5bf5ccf 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "typescript-monads", "version": "0.0.0-development", "description": "Write better TypeScript code", - "main": "dist/index.js", + "main": "index.js", "author": "Patrick Michalina (https://patrickmichalina.com)", "license": "MIT", "repository": { @@ -18,12 +18,10 @@ "either", "functional" ], - "files": [ - "dist/" - ], "scripts": { "test": "jest", "build": "tsc", + "dist": "node_modules/.bin/ts-node ./scripts/publish-prep.ts", "lint": "tslint --project tsconfig.json --config tslint.json" }, "release": { @@ -36,11 +34,13 @@ }, "devDependencies": { "@types/jest": "^23.3.1", + "@types/node": "^10.5.8", "codecov": "^3.0.4", "jest": "23.4.2", "jest-junit": "^5.1.0", "semantic-release": "^15.9.8", "ts-jest": "23.1.3", + "ts-node": "^7.0.1", "tslint": "^5.11.0", "tslint-immutable": "^4.6.0", "typescript": "^3.0.1" diff --git a/scripts/publish-prep.ts b/scripts/publish-prep.ts new file mode 100644 index 0000000..74e3ad6 --- /dev/null +++ b/scripts/publish-prep.ts @@ -0,0 +1,34 @@ +import { mkdir, copyFileSync } from 'fs' +import { resolve } from 'path' + +const targetDir = 'dist' +const filesToCopy: ReadonlyArray = [ + 'package.json', + 'README.md', + 'LICENSE' +] + +function run(dir: string) { + return function(files: ReadonlyArray) { + mkdir(resolve(dir), dirResolved(files)(dir)) + } +} + +function mapper(dir: string) { + return function (file: string) { + return { + from: resolve(file), + to: resolve(dir, file) + } + } +} + +function dirResolved(files: ReadonlyArray) { + return function(dir: string) { + return function (_err?: any) { + files.map(mapper(dir)).forEach(paths => copyFileSync(paths.from, paths.to)) + } + } +} + +run(targetDir)(filesToCopy) \ No newline at end of file