Selaa lähdekoodia

chore: Fix bad imports

Michael Bromley 6 vuotta sitten
vanhempi
sitoutus
f5cb277517

+ 1 - 1
packages/admin-ui/src/app/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.ts

@@ -1,11 +1,11 @@
 import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
 import { FormControl } from '@angular/forms';
-import { NotificationService } from '@vendure/admin-ui/src/app/core/providers/notification/notification.service';
 import { combineLatest, from, Observable } from 'rxjs';
 import { map, startWith, switchMap } from 'rxjs/operators';
 
 import { GetChannels, ProductVariantFragment } from '../../../common/generated-types';
 import { _ } from '../../../core/providers/i18n/mark-for-extraction';
+import { NotificationService } from '../../../core/providers/notification/notification.service';
 import { DataService } from '../../../data/providers/data.service';
 import { Dialog } from '../../../shared/providers/modal/modal.service';
 

+ 1 - 1
packages/admin-ui/src/app/catalog/components/collection-tree/collection-tree-node.component.ts

@@ -1,10 +1,10 @@
 import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
 import { ChangeDetectionStrategy, Component, Input, OnInit, Optional, SkipSelf } from '@angular/core';
-import { DataService } from '@vendure/admin-ui/src/app/data/providers/data.service';
 import { Observable } from 'rxjs';
 import { map, shareReplay } from 'rxjs/operators';
 
 import { Permission } from '../../../common/generated-types';
+import { DataService } from '../../../data/providers/data.service';
 
 import { RootNode, TreeNode } from './array-to-tree';
 import { CollectionPartial, CollectionTreeComponent } from './collection-tree.component';

+ 2 - 2
packages/admin-ui/src/app/catalog/components/product-detail/product-detail.component.ts

@@ -2,8 +2,6 @@ import { Location } from '@angular/common';
 import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
 import { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';
 import { ActivatedRoute, Router } from '@angular/router';
-import { AssignProductsToChannelDialogComponent } from '@vendure/admin-ui/src/app/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component';
-import { DataService } from '@vendure/admin-ui/src/app/data/providers/data.service';
 import { combineLatest, EMPTY, merge, Observable } from 'rxjs';
 import {
     distinctUntilChanged,
@@ -38,10 +36,12 @@ import { createUpdatedTranslatable } from '../../../common/utilities/create-upda
 import { flattenFacetValues } from '../../../common/utilities/flatten-facet-values';
 import { _ } from '../../../core/providers/i18n/mark-for-extraction';
 import { NotificationService } from '../../../core/providers/notification/notification.service';
+import { DataService } from '../../../data/providers/data.service';
 import { ServerConfigService } from '../../../data/server-config';
 import { ModalService } from '../../../shared/providers/modal/modal.service';
 import { ProductDetailService } from '../../providers/product-detail.service';
 import { ApplyFacetDialogComponent } from '../apply-facet-dialog/apply-facet-dialog.component';
+import { AssignProductsToChannelDialogComponent } from '../assign-products-to-channel-dialog/assign-products-to-channel-dialog.component';
 import { CreateProductVariantsConfig } from '../generate-product-variants/generate-product-variants.component';
 import { VariantAssetChange } from '../product-variants-list/product-variants-list.component';
 

+ 5 - 5
packages/admin-ui/src/app/catalog/components/product-variants-editor/product-variants-editor.component.ts

@@ -1,10 +1,5 @@
 import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
 import { ActivatedRoute } from '@angular/router';
-import { ProductDetailService } from '@vendure/admin-ui/src/app/catalog/providers/product-detail.service';
-import { getDefaultLanguage } from '@vendure/admin-ui/src/app/common/utilities/get-default-language';
-import { NotificationService } from '@vendure/admin-ui/src/app/core/providers/notification/notification.service';
-import { DataService } from '@vendure/admin-ui/src/app/data/providers/data.service';
-import { ModalService } from '@vendure/admin-ui/src/app/shared/providers/modal/modal.service';
 import { EMPTY, forkJoin, Observable, of } from 'rxjs';
 import { filter, map, mergeMap, switchMap, take } from 'rxjs/operators';
 import { normalizeString } from 'shared/normalize-string';
@@ -19,7 +14,12 @@ import {
     LanguageCode,
     ProductOptionGroupFragment,
 } from '../../../common/generated-types';
+import { getDefaultLanguage } from '../../../common/utilities/get-default-language';
 import { _ } from '../../../core/providers/i18n/mark-for-extraction';
+import { NotificationService } from '../../../core/providers/notification/notification.service';
+import { DataService } from '../../../data/providers/data.service';
+import { ModalService } from '../../../shared/providers/modal/modal.service';
+import { ProductDetailService } from '../../providers/product-detail.service';
 
 export interface VariantInfo {
     productVariantId?: string;

+ 4 - 2
packages/admin-ui/src/app/data/query-result.ts

@@ -1,11 +1,13 @@
-import { GetUserStatus } from '@vendure/admin-ui/src/app/common/generated-types';
-import { GET_USER_STATUS } from '@vendure/admin-ui/src/app/data/definitions/client-definitions';
 import { Apollo, QueryRef } from 'apollo-angular';
 import { ApolloQueryResult, NetworkStatus } from 'apollo-client';
 import { merge, Observable, Subject } from 'rxjs';
 import { distinctUntilChanged, filter, finalize, map, skip, take, takeUntil, tap } from 'rxjs/operators';
 import { notNullOrUndefined } from 'shared/shared-utils';
 
+import { GetUserStatus } from '../common/generated-types';
+
+import { GET_USER_STATUS } from './definitions/client-definitions';
+
 /**
  * This class wraps the Apollo Angular QueryRef object and exposes some getters
  * for convenience.

+ 3 - 3
packages/admin-ui/src/app/marketing/components/promotion-list/promotion-list.component.ts

@@ -1,14 +1,14 @@
 import { ChangeDetectionStrategy, Component } from '@angular/core';
 import { ActivatedRoute, Router } from '@angular/router';
-import { _ } from '@vendure/admin-ui/src/app/core/providers/i18n/mark-for-extraction';
-import { NotificationService } from '@vendure/admin-ui/src/app/core/providers/notification/notification.service';
-import { ModalService } from '@vendure/admin-ui/src/app/shared/providers/modal/modal.service';
 import { EMPTY } from 'rxjs';
 import { switchMap } from 'rxjs/operators';
 
 import { BaseListComponent } from '../../../common/base-list.component';
 import { GetPromotionList } from '../../../common/generated-types';
+import { _ } from '../../../core/providers/i18n/mark-for-extraction';
+import { NotificationService } from '../../../core/providers/notification/notification.service';
 import { DataService } from '../../../data/providers/data.service';
+import { ModalService } from '../../../shared/providers/modal/modal.service';
 
 @Component({
     selector: 'vdr-promotion-list',

+ 1 - 1
packages/admin-ui/src/app/settings/components/channel-detail/channel-detail.component.ts

@@ -1,7 +1,6 @@
 import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
 import { FormBuilder, FormGroup, Validators } from '@angular/forms';
 import { ActivatedRoute, Router } from '@angular/router';
-import { getDefaultLanguage } from '@vendure/admin-ui/src/app/common/utilities/get-default-language';
 import { Observable } from 'rxjs';
 import { map, mergeMap, take } from 'rxjs/operators';
 import { DEFAULT_CHANNEL_CODE } from 'shared/shared-constants';
@@ -15,6 +14,7 @@ import {
     LanguageCode,
     UpdateChannelInput,
 } from '../../../common/generated-types';
+import { getDefaultLanguage } from '../../../common/utilities/get-default-language';
 import { _ } from '../../../core/providers/i18n/mark-for-extraction';
 import { NotificationService } from '../../../core/providers/notification/notification.service';
 import { DataService } from '../../../data/providers/data.service';

+ 3 - 3
packages/admin-ui/src/app/settings/components/channel-list/channel-list.component.ts

@@ -1,13 +1,13 @@
 import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { _ } from '@vendure/admin-ui/src/app/core/providers/i18n/mark-for-extraction';
-import { NotificationService } from '@vendure/admin-ui/src/app/core/providers/notification/notification.service';
-import { ModalService } from '@vendure/admin-ui/src/app/shared/providers/modal/modal.service';
 import { EMPTY, Observable, Subject } from 'rxjs';
 import { mergeMap, startWith, switchMap } from 'rxjs/operators';
 import { DEFAULT_CHANNEL_CODE } from 'shared/shared-constants';
 
 import { Channel } from '../../../common/generated-types';
+import { _ } from '../../../core/providers/i18n/mark-for-extraction';
+import { NotificationService } from '../../../core/providers/notification/notification.service';
 import { DataService } from '../../../data/providers/data.service';
+import { ModalService } from '../../../shared/providers/modal/modal.service';
 
 @Component({
     selector: 'vdr-channel-list',

+ 1 - 1
packages/admin-ui/src/app/shared/components/action-bar-items/action-bar-items.component.ts

@@ -8,11 +8,11 @@ import {
     SimpleChanges,
 } from '@angular/core';
 import { ActivatedRoute } from '@angular/router';
-import { ActionBarItem } from '@vendure/admin-ui/src/app/core/providers/nav-builder/nav-builder-types';
 import { BehaviorSubject, combineLatest, Observable, of } from 'rxjs';
 import { filter, map } from 'rxjs/operators';
 import { assertNever } from 'shared/shared-utils';
 
+import { ActionBarItem } from '../../../core/providers/nav-builder/nav-builder-types';
 import { NavBuilderService } from '../../../core/providers/nav-builder/nav-builder.service';
 
 @Component({

+ 2 - 2
packages/admin-ui/src/app/shared/components/datetime-picker/constants.ts

@@ -1,7 +1,7 @@
-import { DayOfWeek } from '@vendure/admin-ui/src/app/shared/components/datetime-picker/types';
-
 import { _ } from '../../../core/providers/i18n/mark-for-extraction';
 
+import { DayOfWeek } from './types';
+
 export const dayOfWeekIndex: { [day in DayOfWeek]: number } = {
     sun: 0,
     mon: 1,

+ 2 - 1
packages/admin-ui/src/app/shared/components/datetime-picker/datetime-picker.component.ts

@@ -10,10 +10,11 @@ import {
     ViewChild,
 } from '@angular/core';
 import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
-import { DropdownComponent } from '@vendure/admin-ui/src/app/shared/components/dropdown/dropdown.component';
 import { Observable, Subscription } from 'rxjs';
 import { map } from 'rxjs/operators';
 
+import { DropdownComponent } from '../dropdown/dropdown.component';
+
 import { dayOfWeekIndex, weekDayNames } from './constants';
 import { DatetimePickerService } from './datetime-picker.service';
 import { CalendarView, DayCell, DayOfWeek } from './types';

+ 1 - 1
packages/admin-ui/src/app/shared/components/datetime-picker/datetime-picker.service.ts

@@ -1,9 +1,9 @@
 import { Injectable } from '@angular/core';
-import { dayOfWeekIndex } from '@vendure/admin-ui/src/app/shared/components/datetime-picker/constants';
 import * as dayjs from 'dayjs';
 import { BehaviorSubject, combineLatest, Observable } from 'rxjs';
 import { map } from 'rxjs/operators';
 
+import { dayOfWeekIndex } from './constants';
 import { CalendarView, DayCell, DayOfWeek } from './types';
 
 @Injectable()

+ 2 - 1
packages/admin-ui/src/app/shared/pipes/has-permission.pipe.ts

@@ -1,7 +1,8 @@
 import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';
-import { DataService } from '@vendure/admin-ui/src/app/data/providers/data.service';
 import { Observable, Subscription } from 'rxjs';
 
+import { DataService } from '../../data/providers/data.service';
+
 /**
  * A pipe which checks the provided permission against all the permissions of the current user.
  * Returns `true` if the current user has that permission.

+ 0 - 1
packages/dev-server/dev-config.ts

@@ -1,6 +1,5 @@
 /* tslint:disable:no-console */
 import { AdminUiPlugin } from '@vendure/admin-ui-plugin';
-import { LanguageCode } from '@vendure/admin-ui/src/app/common/generated-types';
 import { AssetServerPlugin } from '@vendure/asset-server-plugin';
 import { ADMIN_API_PATH, API_PORT, SHOP_API_PATH } from '@vendure/common/lib/shared-constants';
 import {

+ 19 - 5
scripts/check-imports.ts

@@ -9,15 +9,23 @@ const find = require('find');
  * source files of the monorepo packages. This prevents bad imports (which work locally
  * and go undetected) from getting into published releases of Vendure.
  */
-const illegalImportPatters: RegExp[] = [
+const illegalImportPatterns: RegExp[] = [
     /@vendure\/common\/src/,
+    /@vendure\/core\/src/,
+    /@vendure\/admin-ui\/src/,
 ];
 
-findInFiles(illegalImportPatters, path.join(__dirname, '../packages'), /\.ts$/);
+const exclude: string[] = [
+    path.join(__dirname, '../packages/dev-server'),
+];
+
+findInFiles(illegalImportPatterns, path.join(__dirname, '../packages'), /\.ts$/, exclude);
 
-function findInFiles(patterns: RegExp[], directory: string, fileFilter: RegExp) {
+function findInFiles(patterns: RegExp[], directory: string, fileFilter: RegExp, excludePaths: string[]) {
     find.file(fileFilter, directory, async (files: string[]) => {
-        const matches = await getMatchedFiles(patterns, files);
+        const nonNodeModulesFiles = files.filter(f => !f.includes('node_modules'));
+        console.log(`Checking imports in ${nonNodeModulesFiles.length} files...`);
+        const matches = await getMatchedFiles(patterns, nonNodeModulesFiles, excludePaths);
         if (matches.length) {
             console.error(`Found illegal imports in the following files:`);
             console.error(matches.join('\n'));
@@ -28,9 +36,15 @@ function findInFiles(patterns: RegExp[], directory: string, fileFilter: RegExp)
     });
 }
 
-async function getMatchedFiles(patterns: RegExp[], files: string[]) {
+async function getMatchedFiles(patterns: RegExp[], files: string[], excludePaths: string[]) {
     const matchedFiles = [];
+    outer:
     for (let i = files.length - 1; i >= 0; i--) {
+        for (const excludedPath of excludePaths) {
+            if (files[i].includes(excludedPath)) {
+                continue outer;
+            }
+        }
         const content = await readFile(files[i]);
         for (const pattern of patterns) {
             if (pattern.test(content)) {