Procházet zdrojové kódy

feat(server): Create barrel files for public exports

Relates to #44
Michael Bromley před 7 roky
rodič
revize
51b9c957fe

+ 1 - 0
.gitignore

@@ -389,6 +389,7 @@ docker-compose.yml
 dist
 server/e2e/__data__/*
 server/assets
+server/dist
 !server/e2e/__data__/.gitkeep
 server/test-emails
 server/src/email/preview/output

+ 8 - 0
server/build/gulpfile.ts

@@ -0,0 +1,8 @@
+import * as gulp from 'gulp';
+import * as path from 'path';
+
+gulp.task('copy-schemas', () => {
+    return gulp.src(['../src/**/*.graphql']).pipe(gulp.dest('../dist/server/src'));
+});
+
+gulp.task('default', gulp.series('copy-schemas'));

+ 10 - 0
server/build/tsconfig.build.json

@@ -0,0 +1,10 @@
+{
+  "extends": "../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../dist",
+    "rootDirs": ["../src", "../../../shared"]
+  },
+  "files": [
+    "../src/index.ts"
+  ]
+}

+ 0 - 11
server/gulpfile.js

@@ -1,11 +0,0 @@
-const gulp = require('gulp');
-
-gulp.task('copy-schemas', () => {
-    return gulp.src([
-        'src/**/*.graphql'
-    ]).pipe(
-        gulp.dest('dist')
-    );
-})
-
-gulp.task('default', gulp.series('copy-schemas'));

+ 3 - 2
server/package.json

@@ -13,10 +13,10 @@
     "test:cov": "jest --coverage",
     "test:e2e": "jest --config ./e2e/config/jest-e2e.json --runInBand",
     "test:e2e:watch": "jest --config ./e2e/config/jest-e2e.json --watch --runInBand",
-    "build": "rimraf dist && tsc -p tsconfig.build.json && gulp",
+    "build": "rimraf dist && tsc -p ./build/tsconfig.build.json && gulp -f ./build/gulpfile.ts",
     "generate-email-preview": "node -r ts-node/register src/email/preview/generate-email-preview.ts"
   },
-  "main": "dist/index.js",
+  "main": "dist/server/src/index.js",
   "files": [
     "dist/**/*"
   ],
@@ -64,6 +64,7 @@
     "@types/express": "^4.0.39",
     "@types/faker": "^4.1.4",
     "@types/fs-extra": "^5.0.4",
+    "@types/gulp": "^4.0.5",
     "@types/handlebars": "^4.0.39",
     "@types/i18next": "^11.9.3",
     "@types/i18next-express-middleware": "^0.0.33",

+ 23 - 0
server/src/config/index.ts

@@ -0,0 +1,23 @@
+export * from './asset-naming-strategy/asset-naming-strategy';
+export * from './asset-naming-strategy/default-asset-naming-strategy';
+export * from './asset-preview-strategy/asset-preview-strategy';
+export * from './asset-storage-strategy/asset-storage-strategy';
+export * from './email/email-options';
+export * from './email/email-transport-options';
+export * from './entity-id-strategy/auto-increment-id-strategy';
+export * from './entity-id-strategy/entity-id-strategy';
+export * from './entity-id-strategy/uuid-id-strategy';
+export * from './order-merge-strategy/order-merge-strategy';
+export * from './payment-method/fakepal-payment-method-config';
+export * from './payment-method/gripe-payment-method-config';
+export * from './payment-method/payment-method-handler';
+export * from './promotion/default-promotion-actions';
+export * from './promotion/default-promotion-conditions';
+export * from './promotion/promotion-action';
+export * from './promotion/promotion-condition';
+export * from './shipping-method/default-shipping-calculator';
+export * from './shipping-method/default-shipping-eligibility-checker';
+export * from './shipping-method/shipping-calculator';
+export * from './shipping-method/shipping-eligibility-checker';
+export * from './vendure-config';
+export * from './vendure-plugin/vendure-plugin';

+ 3 - 0
server/src/email/index.ts

@@ -0,0 +1,3 @@
+export * from './default-email-types';
+export * from './email-context';
+export * from './handlebars-mjml-generator';

+ 3 - 0
server/src/index.ts

@@ -1 +1,4 @@
 export { bootstrap } from './bootstrap';
+export * from './config/index';
+export * from './email/index';
+export * from './plugin/index';

+ 3 - 0
server/src/plugin/index.ts

@@ -0,0 +1,3 @@
+export * from './default-asset-server/default-asset-server-plugin';
+export * from './default-asset-server/default-asset-preview-strategy';
+export * from './default-asset-server/default-asset-storage-strategy';

+ 0 - 10
server/tsconfig.build.json

@@ -1,10 +0,0 @@
-{
-  "extends": "./tsconfig.json",
-  "compilerOptions": {
-    "outDir": "../dist",
-    "rootDirs": ["./src", "../../shared"]
-  },
-  "files": [
-    "./src/index.ts"
-  ]
-}

+ 1 - 1
server/tsconfig.json

@@ -10,7 +10,7 @@
     "allowSyntheticDefaultImports": true,
     "emitDecoratorMetadata": true,
     "experimentalDecorators": true,
-    "target": "es6",
+    "target": "es2017",
     "strict": true,
     "strictPropertyInitialization": false,
     "sourceMap": true

+ 69 - 0
server/yarn.lock

@@ -179,6 +179,14 @@
     "@types/connect" "*"
     "@types/node" "*"
 
+"@types/chokidar@*":
+  version "1.7.5"
+  resolved "https://registry.yarnpkg.com/@types/chokidar/-/chokidar-1.7.5.tgz#1fa78c8803e035bed6d98e6949e514b133b0c9b6"
+  integrity sha512-PDkSRY7KltW3M60hSBlerxI8SFPXsO3AL/aRVsO4Kh9IHRW74Ih75gUuTd/aE4LSSFqypb10UIX3QzOJwBQMGQ==
+  dependencies:
+    "@types/events" "*"
+    "@types/node" "*"
+
 "@types/connect@*":
   version "3.4.32"
   resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28"
@@ -235,10 +243,36 @@
   dependencies:
     "@types/node" "*"
 
+"@types/glob-stream@*":
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/@types/glob-stream/-/glob-stream-6.1.0.tgz#7ede8a33e59140534f8d8adfb8ac9edfb31897bc"
+  integrity sha512-RHv6ZQjcTncXo3thYZrsbAVwoy4vSKosSWhuhuQxLOTv74OJuFQxXkmUuZCr3q9uNBEVCvIzmZL/FeRNbHZGUg==
+  dependencies:
+    "@types/glob" "*"
+    "@types/node" "*"
+
+"@types/glob@*":
+  version "7.1.1"
+  resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
+  integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==
+  dependencies:
+    "@types/events" "*"
+    "@types/minimatch" "*"
+    "@types/node" "*"
+
 "@types/graphql@0.12.6":
   version "0.12.6"
   resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.12.6.tgz#3d619198585fcabe5f4e1adfb5cf5f3388c66c13"
 
+"@types/gulp@^4.0.5":
+  version "4.0.5"
+  resolved "https://registry.yarnpkg.com/@types/gulp/-/gulp-4.0.5.tgz#f5f498d5bf9538364792de22490a12c0e6bc5eb4"
+  integrity sha512-nx1QjPTiRpvLfYsZ7MBu7bT6Cm7tAXyLbY0xbdx2IEMxCK2v2urIhJMQZHW0iV1TskM71Xl6p2uRRuWDbk+/7g==
+  dependencies:
+    "@types/chokidar" "*"
+    "@types/undertaker" "*"
+    "@types/vinyl-fs" "*"
+
 "@types/handlebars@^4.0.39":
   version "4.0.39"
   resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.0.39.tgz#961fb54db68030890942e6aeffe9f93a957807bd"
@@ -274,6 +308,11 @@
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b"
 
+"@types/minimatch@*":
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
+  integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
+
 "@types/mjml@^4.0.1":
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/@types/mjml/-/mjml-4.0.1.tgz#749bd69aafe683a355e9910481735e4aea60f0e5"
@@ -330,6 +369,36 @@
   dependencies:
     "@types/node" "*"
 
+"@types/undertaker-registry@*":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/@types/undertaker-registry/-/undertaker-registry-1.0.1.tgz#4306d4a03d7acedb974b66530832b90729e1d1da"
+  integrity sha512-Z4TYuEKn9+RbNVk1Ll2SS4x1JeLHecolIbM/a8gveaHsW0Hr+RQMraZACwTO2VD7JvepgA6UO1A1VrbktQrIbQ==
+
+"@types/undertaker@*":
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/@types/undertaker/-/undertaker-1.2.0.tgz#d39a81074b4f274eb656870fc904a70737e00f8e"
+  integrity sha512-bx/5nZCGkasXs6qaA3B6SVDjBZqdyk04UO12e0uEPSzjt5H8jEJw0DKe7O7IM0hM2bVHRh70pmOH7PEHqXwzOw==
+  dependencies:
+    "@types/events" "*"
+    "@types/undertaker-registry" "*"
+
+"@types/vinyl-fs@*":
+  version "2.4.9"
+  resolved "https://registry.yarnpkg.com/@types/vinyl-fs/-/vinyl-fs-2.4.9.tgz#d312c24b5ba8d2db456d23ee4a66f9d016af82ea"
+  integrity sha512-Q0EXd6c1fORjiOuK4ZaKdfFcMyFzJlTi56dqktwaWVLIDAzE49wUs3bKnYbZwzyMWoH+NcMWnRuR73S9A0jnRA==
+  dependencies:
+    "@types/events" "*"
+    "@types/glob-stream" "*"
+    "@types/node" "*"
+    "@types/vinyl" "*"
+
+"@types/vinyl@*":
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/@types/vinyl/-/vinyl-2.0.2.tgz#4f3b8dae8f5828d3800ef709b0cff488ee852de3"
+  integrity sha512-2iYpNuOl98SrLPBZfEN9Mh2JCJ2EI9HU35SfgBEb51DcmaHkhp8cKMblYeBqMQiwXMgAD3W60DbQ4i/UdLiXhw==
+  dependencies:
+    "@types/node" "*"
+
 "@types/ws@^6.0.0":
   version "6.0.1"
   resolved "https://registry.yarnpkg.com/@types/ws/-/ws-6.0.1.tgz#ca7a3f3756aa12f62a0a62145ed14c6db25d5a28"