feat(core): packages linking
MODIFY
package-lock.json
package-lock.json
"js-tokens": "^3.0.0"
}
},
- "@marblejs/core": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@marblejs/core/-/core-0.2.2.tgz",
- "integrity": "sha512-SplTT7sfF6uzkZSp7NAQ659mPCVF0wsRo3A8r4OGnD/jll3X0YkaOtRlOzzovtcVeqJx9ZzZpMrR6G0ospoOZQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "path-to-regexp": "^2.2.1"
- }
- },
- "@types/events": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
- "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==",
- "dev": true
- },
- "@types/fs-extra": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.1.tgz",
- "integrity": "sha512-h3wnflb+jMTipvbbZnClgA2BexrT4w0GcfoCz5qyxd0IRsbqhLSyesM6mqZTAnhbVmhyTm5tuxfRu9R+8l+lGw==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/glob": {
- "version": "5.0.35",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.35.tgz",
- "integrity": "sha512-wc+VveszMLyMWFvXLkloixT4n0harUIVZjnpzztaZ0nKLuul7Z32iMt2fUFGAaZ4y1XWjFRMtCI5ewvyh4aIeg==",
- "dev": true,
- "requires": {
- "@types/events": "*",
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "@types/handlebars": {
- "version": "4.0.36",
- "resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.0.36.tgz",
- "integrity": "sha512-LjNiTX7TY7wtuC6y3QwC93hKMuqYhgV9A1uXBKNvZtVC8ZvyWAjZkJ5BvT0K7RKqORRYRLMrqCxpw5RgS+MdrQ==",
- "dev": true
- },
- "@types/highlight.js": {
- "version": "9.12.2",
- "resolved": "https://registry.npmjs.org/@types/highlight.js/-/highlight.js-9.12.2.tgz",
- "integrity": "sha512-y5x0XD/WXDaGSyiTaTcKS4FurULJtSiYbGTeQd0m2LYZGBcZZ/7fM6t5H/DzeUF+kv8y6UfmF6yJABQsHcp9VQ==",
- "dev": true
- },
"@types/jest": {
"version": "22.2.3",
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-22.2.3.tgz",
"integrity": "sha512-e74sM9W/4qqWB6D4TWV9FQk0WoHtX1X4FJpbjxucMSVJHtFjbQOH3H6yp+xno4br0AKG0wz/kPtaN599GUOvAg==",
"dev": true
},
- "@types/lodash": {
- "version": "4.14.104",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.104.tgz",
- "integrity": "sha512-ufQcVg4daO8xQ5kopxRHanqFdL4AI7ondQkV+2f+7mz3gvp0LkBx2zBRC6hfs3T87mzQFmf5Fck7Fi145Ul6NQ==",
- "dev": true
- },
- "@types/marked": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.3.0.tgz",
- "integrity": "sha512-CSf9YWJdX1DkTNu9zcNtdCcn6hkRtB5ILjbhRId4ZOQqx30fXmdecuaXhugQL6eyrhuXtaHJ7PHI+Vm7k9ZJjg==",
- "dev": true
- },
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
- "dev": true
- },
"@types/node": {
"version": "10.0.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.0.8.tgz",
"integrity": "sha512-MFFKFv2X4iZy/NFl1m1E8uwE1CR96SGwJjgHma09PLtqOWoj3nqeJHMG+P/EuJGVLvC2I6MdQRQsr4TcRduIow==",
"dev": true
},
- "@types/shelljs": {
- "version": "0.7.8",
- "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.7.8.tgz",
- "integrity": "sha512-M2giRw93PxKS7YjU6GZjtdV9HASdB7TWqizBXe4Ju7AqbKlWvTr0gNO92XH56D/gMxqD/jNHLNfC5hA34yGqrQ==",
- "dev": true,
- "requires": {
- "@types/glob": "*",
- "@types/node": "*"
- }
- },
"@types/superagent": {
"version": "3.5.8",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.5.8.tgz",
"sntp": "2.x.x"
}
},
- "highlight.js": {
- "version": "9.12.0",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
- "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=",
- "dev": true
- },
"hoek": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
"through": "^2.3.6"
}
},
- "interpret": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
- "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
- "dev": true
- },
"invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
"object-visit": "^1.0.0"
}
},
- "marked": {
- "version": "0.3.19",
- "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz",
- "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==",
- "dev": true
- },
"math-random": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
"integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
"dev": true
},
- "path-to-regexp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz",
- "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==",
- "dev": true
- },
"path-type": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"dev": true
},
- "progress": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
- "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
- "dev": true
- },
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"util.promisify": "^1.0.0"
}
},
- "rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
- "dev": true,
- "requires": {
- "resolve": "^1.1.6"
- }
- },
"redent": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
"jsonify": "~0.0.0"
}
},
- "shelljs": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz",
- "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==",
- "dev": true,
- "requires": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- }
- },
"shellwords": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
- "typedoc": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.11.1.tgz",
- "integrity": "sha512-jdNIoHm5wkZqxQTe/g9AQ3LKnZyrzHXqu6A/c9GUOeJyBWLxNr7/Dm3rwFvLksuxRNwTvY/0HRDU9sJTa9WQSg==",
- "dev": true,
- "requires": {
- "@types/fs-extra": "5.0.1",
- "@types/handlebars": "4.0.36",
- "@types/highlight.js": "9.12.2",
- "@types/lodash": "4.14.104",
- "@types/marked": "0.3.0",
- "@types/minimatch": "3.0.3",
- "@types/shelljs": "0.7.8",
- "fs-extra": "^5.0.0",
- "handlebars": "^4.0.6",
- "highlight.js": "^9.0.0",
- "lodash": "^4.17.5",
- "marked": "^0.3.17",
- "minimatch": "^3.0.0",
- "progress": "^2.0.0",
- "shelljs": "^0.8.1",
- "typedoc-default-themes": "^0.5.0",
- "typescript": "2.7.2"
- },
- "dependencies": {
- "fs-extra": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz",
- "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "typescript": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz",
- "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==",
- "dev": true
- }
- }
- },
- "typedoc-default-themes": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz",
- "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=",
- "dev": true
- },
- "typedoc-plugin-external-module-name": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/typedoc-plugin-external-module-name/-/typedoc-plugin-external-module-name-1.1.1.tgz",
- "integrity": "sha512-Erc0MyKDGYIN7kSlIjgifVieZEogg8YwOH8bjW6RXb0y44hVeTER0UoW6Rh+n8leg6rvlPdnH092aFfcd8kRlA==",
- "dev": true
- },
- "typedoc-plugin-internal-external": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/typedoc-plugin-internal-external/-/typedoc-plugin-internal-external-1.0.10.tgz",
- "integrity": "sha512-RxNVuG53s1XjRU9AureonuWvVmkeANXtfM0rnmqrLlmrWJXUVPDJs9L3Ds87YX9fvVVDc9evT8iSQquP8/tNNQ==",
- "dev": true
- },
"typescript": {
"version": "2.8.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-2.8.3.tgz",

MODIFY
package.json
package.json
"description": "Reactive Node APIs made easy",
"scripts": {
"postinstall": "npm run build",
- "build": "lerna bootstrap --hoist",
+ "build": "lerna link && lerna bootstrap --hoist",
"benchmark": "npm run build && make -C benchmarks",
"lint": "tslint --config tslint.json --project tsconfig.spec.json",
"test": "jest --expand",
"rxjs": "~6.1.0"
},
"devDependencies": {
- "@marblejs/core": "^0.2.2",
"@types/jest": "^22.2.3",
"@types/supertest": "^2.0.4",
"husky": "^0.14.0",
"ts-jest": "~22.4.4",
"tsc": "~1.20150623.0",
"tslint": "~5.9.1",
- "typedoc": "~0.11.1",
- "typedoc-plugin-external-module-name": "^1.1.1",
- "typedoc-plugin-internal-external": "^1.0.10",
"typescript": "~2.8.3"
}
}

MODIFY
packages/core/src/index.spec.ts
packages/core/src/index.spec.ts
@@ -9,6 +9,7 @@ describe('@marblejs/core public API', () => {
expect(API.HttpError).toBeDefined();
expect(API.error$).toBeDefined();
expect(API.combineRoutes).toBeDefined();
+ expect(API.ContentType).toBeDefined();
});
});

MODIFY
packages/core/src/index.ts
packages/core/src/index.ts
@@ -5,3 +5,4 @@ export * from './operators';
export * from './http.interface';
export * from './http.listener';
export { HttpError } from './util/error.util';
+export { ContentType } from './util/contentType.util';

MODIFY
packages/middleware-body/package.json
packages/middleware-body/package.json
"@marblejs/core": "^0.2.2",
"rxjs": "~6.1.0"
},
+ "devDependencies": {
+ "@marblejs/core": "^0.2.2"
+ },
"publishConfig": {
"access": "public"
}

MODIFY
packages/middleware-body/src/index.ts
packages/middleware-body/src/index.ts
-import { Effect, HttpError, HttpRequest, HttpStatus } from '@marblejs/core';
+import {
+ ContentType,
+ Effect,
+ HttpError,
+ HttpRequest,
+ HttpStatus
+} from '@marblejs/core';
import { Observable, of, throwError } from 'rxjs';
import { catchError, map, switchMap, tap, toArray } from 'rxjs/operators';
-import { ContentType } from '../../core/src/util/contentType.util';
const fromReadableStream = (stream: HttpRequest): Observable<any> => {
stream.pause();

MODIFY
packages/middleware-logger/package.json
packages/middleware-logger/package.json
"chalk": "^2.4.1"
},
"devDependencies": {
+ "@marblejs/core": "^0.2.2",
"@types/chalk": "^2.2.0"
},
"publishConfig": {

feat(core): packages linking