Browse Source

Merge branch 'master' into minor

Michael Bromley 4 years ago
parent
commit
d4143d88d8

+ 29 - 27
packages/admin-ui/src/lib/catalog/src/catalog.module.ts

@@ -28,34 +28,36 @@ import { ProductVariantsTableComponent } from './components/product-variants-tab
 import { UpdateProductOptionDialogComponent } from './components/update-product-option-dialog/update-product-option-dialog.component';
 import { VariantPriceDetailComponent } from './components/variant-price-detail/variant-price-detail.component';
 
+const CATALOG_COMPONENTS = [
+    ProductListComponent,
+    ProductDetailComponent,
+    FacetListComponent,
+    FacetDetailComponent,
+    GenerateProductVariantsComponent,
+    ProductVariantsListComponent,
+    ApplyFacetDialogComponent,
+    AssetListComponent,
+    ProductAssetsComponent,
+    VariantPriceDetailComponent,
+    CollectionListComponent,
+    CollectionDetailComponent,
+    CollectionTreeComponent,
+    CollectionTreeNodeComponent,
+    CollectionContentsComponent,
+    ProductVariantsTableComponent,
+    ProductSearchInputComponent,
+    OptionValueInputComponent,
+    UpdateProductOptionDialogComponent,
+    ProductVariantsEditorComponent,
+    AssignProductsToChannelDialogComponent,
+    AssetDetailComponent,
+    ConfirmVariantDeletionDialogComponent,
+    ProductOptionsEditorComponent,
+];
+
 @NgModule({
     imports: [SharedModule, RouterModule.forChild(catalogRoutes)],
-    exports: [],
-    declarations: [
-        ProductListComponent,
-        ProductDetailComponent,
-        FacetListComponent,
-        FacetDetailComponent,
-        GenerateProductVariantsComponent,
-        ProductVariantsListComponent,
-        ApplyFacetDialogComponent,
-        AssetListComponent,
-        ProductAssetsComponent,
-        VariantPriceDetailComponent,
-        CollectionListComponent,
-        CollectionDetailComponent,
-        CollectionTreeComponent,
-        CollectionTreeNodeComponent,
-        CollectionContentsComponent,
-        ProductVariantsTableComponent,
-        ProductSearchInputComponent,
-        OptionValueInputComponent,
-        UpdateProductOptionDialogComponent,
-        ProductVariantsEditorComponent,
-        AssignProductsToChannelDialogComponent,
-        AssetDetailComponent,
-        ConfirmVariantDeletionDialogComponent,
-        ProductOptionsEditorComponent,
-    ],
+    exports: [...CATALOG_COMPONENTS],
+    declarations: [...CATALOG_COMPONENTS],
 })
 export class CatalogModule {}

+ 1 - 1
packages/admin-ui/src/lib/catalog/src/components/product-assets/product-assets.component.ts

@@ -42,7 +42,7 @@ export interface AssetChange {
 export class ProductAssetsComponent {
     @Input('assets') set assetsSetter(val: Asset[]) {
         // create a new non-readonly array of assets
-        this.assets = val.slice();
+        this.assets = (val || []).slice();
     }
 
     @Input() featuredAsset: Asset | undefined;

+ 1 - 1
packages/core/src/plugin/default-search-plugin/indexer/indexer.controller.ts

@@ -401,7 +401,7 @@ export class IndexerController {
             }
         }
 
-        await this.queue.push(() => this.connection.getRepository(SearchIndexItem).save(items));
+        await this.queue.push(() => this.connection.getRepository(SearchIndexItem).save(items, { chunk: 2500 }));
     }
 
     /**

+ 2 - 1
packages/core/src/service/services/asset.service.ts

@@ -16,6 +16,7 @@ import { ID, PaginatedList, Type } from '@vendure/common/lib/shared-types';
 import { notNullOrUndefined } from '@vendure/common/lib/shared-utils';
 import { unique } from '@vendure/common/lib/unique';
 import { ReadStream } from 'fs-extra';
+import { ReadStream as FSReadStream } from 'fs';
 import mime from 'mime-types';
 import path from 'path';
 import { Readable, Stream } from 'stream';
@@ -393,7 +394,7 @@ export class AssetService {
         stream: ReadStream | Readable,
         maybeFilePath?: string,
     ): Promise<CreateAssetResult> {
-        const filePath = stream instanceof ReadStream ? stream.path : maybeFilePath;
+        const filePath = stream instanceof ReadStream || stream instanceof FSReadStream ? stream.path : maybeFilePath;
         if (typeof filePath === 'string') {
             const filename = path.basename(filePath);
             const mimetype = mime.lookup(filename) || 'application/octet-stream';