Explorar el Código

chore: Convert newlines to LF

Relates to #185
Michael Bromley hace 6 años
padre
commit
a21cc9c9ed
Se han modificado 2 ficheros con 224 adiciones y 222 borrados
  1. 169 167
      packages/core/src/entity/register-custom-entity-fields.ts
  2. 55 55
      scripts/check-imports.ts

+ 169 - 167
packages/core/src/entity/register-custom-entity-fields.ts

@@ -1,167 +1,169 @@
-import { CustomFieldType } from '@vendure/common/lib/shared-types';
-import { assertNever } from '@vendure/common/lib/shared-utils';
-import { Column, ColumnOptions, ColumnType, ConnectionOptions } from 'typeorm';
-import { DateUtils } from 'typeorm/util/DateUtils';
-
-import { CustomFields } from '../config/custom-field/custom-field-types';
-import { Logger } from '../config/logger/vendure-logger';
-import { VendureConfig } from '../config/vendure-config';
-
-import {
-    CustomAddressFields,
-    CustomCollectionFields,
-    CustomCollectionFieldsTranslation,
-    CustomCustomerFields,
-    CustomFacetFields,
-    CustomFacetFieldsTranslation,
-    CustomFacetValueFields,
-    CustomFacetValueFieldsTranslation,
-    CustomGlobalSettingsFields,
-    CustomOrderFields,
-    CustomOrderLineFields,
-    CustomProductFields,
-    CustomProductFieldsTranslation,
-    CustomProductOptionFields,
-    CustomProductOptionFieldsTranslation,
-    CustomProductOptionGroupFields,
-    CustomProductOptionGroupFieldsTranslation,
-    CustomProductVariantFields,
-    CustomProductVariantFieldsTranslation,
-    CustomUserFields,
-} from './custom-entity-fields';
-
-/**
- * The maximum length of the "length" argument of a MySQL varchar column.
- */
-const MAX_STRING_LENGTH = 65535;
-
-/**
- * Dynamically add columns to the custom field entity based on the CustomFields config.
- */
-function registerCustomFieldsForEntity(
-    config: VendureConfig,
-    entityName: keyof CustomFields,
-    // tslint:disable-next-line:callable-types
-    ctor: { new (): any },
-    translation = false,
-) {
-    const customFields = config.customFields && config.customFields[entityName];
-    const dbEngine = config.dbConnectionOptions.type;
-    if (customFields) {
-        for (const customField of customFields) {
-            const { name, type, defaultValue, nullable } = customField;
-            const registerColumn = () => {
-                const options: ColumnOptions = {
-                    type: getColumnType(dbEngine, type),
-                    default:
-                        type === 'datetime' ? formatDefaultDatetime(dbEngine, defaultValue) : defaultValue,
-                    name,
-                    nullable: nullable === false ? false : true,
-                };
-                if (customField.type === 'string') {
-                    const length = customField.length || 255;
-                    if (MAX_STRING_LENGTH < length) {
-                        throw new Error(
-                            `ERROR: The "length" property of the custom field "${customField.name}" is greater than the maximum allowed value of ${MAX_STRING_LENGTH}`,
-                        );
-                    }
-                    options.length = length;
-                }
-                Column(options)(new ctor(), name);
-            };
-
-            if (translation) {
-                if (type === 'localeString') {
-                    registerColumn();
-                }
-            } else {
-                if (type !== 'localeString') {
-                    registerColumn();
-                }
-            }
-        }
-    }
-}
-
-function formatDefaultDatetime(dbEngine: ConnectionOptions['type'], datetime: any): Date | string {
-    if (!datetime) {
-        return datetime;
-    }
-    switch (dbEngine) {
-        case 'sqlite':
-        case 'sqljs':
-            return DateUtils.mixedDateToUtcDatetimeString(datetime);
-        case 'mysql':
-        case 'postgres':
-        default:
-            return DateUtils.mixedDateToDate(datetime, true, true);
-    }
-}
-
-function getColumnType(dbEngine: ConnectionOptions['type'], type: CustomFieldType): ColumnType {
-    switch (type) {
-        case 'string':
-        case 'localeString':
-            return 'varchar';
-        case 'boolean':
-            switch (dbEngine) {
-                case 'mysql':
-                    return 'tinyint';
-                case 'postgres':
-                    return 'bool';
-                case 'sqlite':
-                case 'sqljs':
-                default:
-                    return 'boolean';
-            }
-        case 'int':
-            return 'int';
-        case 'float':
-            return 'double';
-        case 'datetime':
-            switch (dbEngine) {
-                case 'postgres':
-                    return 'timestamp';
-                case 'mysql':
-                case 'sqlite':
-                case 'sqljs':
-                default:
-                    return 'datetime';
-            }
-        default:
-            assertNever(type);
-    }
-    return 'varchar';
-}
-
-/**
- * Dynamically registers any custom fields with TypeORM. This function should be run at the bootstrap
- * stage of the app lifecycle, before the AppModule is initialized.
- */
-export function registerCustomEntityFields(config: VendureConfig) {
-    registerCustomFieldsForEntity(config, 'Address', CustomAddressFields);
-    registerCustomFieldsForEntity(config, 'Collection', CustomCollectionFields);
-    registerCustomFieldsForEntity(config, 'Collection', CustomCollectionFieldsTranslation, true);
-    registerCustomFieldsForEntity(config, 'Customer', CustomCustomerFields);
-    registerCustomFieldsForEntity(config, 'Facet', CustomFacetFields);
-    registerCustomFieldsForEntity(config, 'Facet', CustomFacetFieldsTranslation, true);
-    registerCustomFieldsForEntity(config, 'FacetValue', CustomFacetValueFields);
-    registerCustomFieldsForEntity(config, 'FacetValue', CustomFacetValueFieldsTranslation, true);
-    registerCustomFieldsForEntity(config, 'Order', CustomOrderFields);
-    registerCustomFieldsForEntity(config, 'OrderLine', CustomOrderLineFields);
-    registerCustomFieldsForEntity(config, 'Product', CustomProductFields);
-    registerCustomFieldsForEntity(config, 'Product', CustomProductFieldsTranslation, true);
-    registerCustomFieldsForEntity(config, 'ProductOption', CustomProductOptionFields);
-    registerCustomFieldsForEntity(config, 'ProductOption', CustomProductOptionFieldsTranslation, true);
-    registerCustomFieldsForEntity(config, 'ProductOptionGroup', CustomProductOptionGroupFields);
-    registerCustomFieldsForEntity(
-        config,
-        'ProductOptionGroup',
-        CustomProductOptionGroupFieldsTranslation,
-        true,
-    );
-    registerCustomFieldsForEntity(config, 'ProductVariant', CustomProductVariantFields);
-    registerCustomFieldsForEntity(config, 'ProductVariant', CustomProductVariantFieldsTranslation, true);
-    registerCustomFieldsForEntity(config, 'User', CustomUserFields);
-    registerCustomFieldsForEntity(config, 'GlobalSettings', CustomGlobalSettingsFields);
-}
+import { CustomFieldType } from '@vendure/common/lib/shared-types';
+import { assertNever } from '@vendure/common/lib/shared-utils';
+import { Column, ColumnOptions, ColumnType, ConnectionOptions } from 'typeorm';
+import { DateUtils } from 'typeorm/util/DateUtils';
+
+import { CustomFields } from '../config/custom-field/custom-field-types';
+import { Logger } from '../config/logger/vendure-logger';
+import { VendureConfig } from '../config/vendure-config';
+
+import {
+    CustomAddressFields,
+    CustomCollectionFields,
+    CustomCollectionFieldsTranslation,
+    CustomCustomerFields,
+    CustomFacetFields,
+    CustomFacetFieldsTranslation,
+    CustomFacetValueFields,
+    CustomFacetValueFieldsTranslation,
+    CustomGlobalSettingsFields,
+    CustomOrderFields,
+    CustomOrderLineFields,
+    CustomProductFields,
+    CustomProductFieldsTranslation,
+    CustomProductOptionFields,
+    CustomProductOptionFieldsTranslation,
+    CustomProductOptionGroupFields,
+    CustomProductOptionGroupFieldsTranslation,
+    CustomProductVariantFields,
+    CustomProductVariantFieldsTranslation,
+    CustomUserFields,
+} from './custom-entity-fields';
+
+/**
+ * The maximum length of the "length" argument of a MySQL varchar column.
+ */
+const MAX_STRING_LENGTH = 65535;
+
+/**
+ * Dynamically add columns to the custom field entity based on the CustomFields config.
+ */
+function registerCustomFieldsForEntity(
+    config: VendureConfig,
+    entityName: keyof CustomFields,
+    // tslint:disable-next-line:callable-types
+    ctor: { new (): any },
+    translation = false,
+) {
+    const customFields = config.customFields && config.customFields[entityName];
+    const dbEngine = config.dbConnectionOptions.type;
+    if (customFields) {
+        for (const customField of customFields) {
+            const { name, type, defaultValue, nullable } = customField;
+            const registerColumn = () => {
+                const options: ColumnOptions = {
+                    type: getColumnType(dbEngine, type),
+                    default:
+                        type === 'datetime' ? formatDefaultDatetime(dbEngine, defaultValue) : defaultValue,
+                    name,
+                    nullable: nullable === false ? false : true,
+                };
+                if (customField.type === 'string') {
+                    const length = customField.length || 255;
+                    if (MAX_STRING_LENGTH < length) {
+                        throw new Error(
+                            `ERROR: The "length" property of the custom field "${
+                                customField.name
+                            }" is greater than the maximum allowed value of ${MAX_STRING_LENGTH}`,
+                        );
+                    }
+                    options.length = length;
+                }
+                Column(options)(new ctor(), name);
+            };
+
+            if (translation) {
+                if (type === 'localeString') {
+                    registerColumn();
+                }
+            } else {
+                if (type !== 'localeString') {
+                    registerColumn();
+                }
+            }
+        }
+    }
+}
+
+function formatDefaultDatetime(dbEngine: ConnectionOptions['type'], datetime: any): Date | string {
+    if (!datetime) {
+        return datetime;
+    }
+    switch (dbEngine) {
+        case 'sqlite':
+        case 'sqljs':
+            return DateUtils.mixedDateToUtcDatetimeString(datetime);
+        case 'mysql':
+        case 'postgres':
+        default:
+            return DateUtils.mixedDateToDate(datetime, true, true);
+    }
+}
+
+function getColumnType(dbEngine: ConnectionOptions['type'], type: CustomFieldType): ColumnType {
+    switch (type) {
+        case 'string':
+        case 'localeString':
+            return 'varchar';
+        case 'boolean':
+            switch (dbEngine) {
+                case 'mysql':
+                    return 'tinyint';
+                case 'postgres':
+                    return 'bool';
+                case 'sqlite':
+                case 'sqljs':
+                default:
+                    return 'boolean';
+            }
+        case 'int':
+            return 'int';
+        case 'float':
+            return 'double';
+        case 'datetime':
+            switch (dbEngine) {
+                case 'postgres':
+                    return 'timestamp';
+                case 'mysql':
+                case 'sqlite':
+                case 'sqljs':
+                default:
+                    return 'datetime';
+            }
+        default:
+            assertNever(type);
+    }
+    return 'varchar';
+}
+
+/**
+ * Dynamically registers any custom fields with TypeORM. This function should be run at the bootstrap
+ * stage of the app lifecycle, before the AppModule is initialized.
+ */
+export function registerCustomEntityFields(config: VendureConfig) {
+    registerCustomFieldsForEntity(config, 'Address', CustomAddressFields);
+    registerCustomFieldsForEntity(config, 'Collection', CustomCollectionFields);
+    registerCustomFieldsForEntity(config, 'Collection', CustomCollectionFieldsTranslation, true);
+    registerCustomFieldsForEntity(config, 'Customer', CustomCustomerFields);
+    registerCustomFieldsForEntity(config, 'Facet', CustomFacetFields);
+    registerCustomFieldsForEntity(config, 'Facet', CustomFacetFieldsTranslation, true);
+    registerCustomFieldsForEntity(config, 'FacetValue', CustomFacetValueFields);
+    registerCustomFieldsForEntity(config, 'FacetValue', CustomFacetValueFieldsTranslation, true);
+    registerCustomFieldsForEntity(config, 'Order', CustomOrderFields);
+    registerCustomFieldsForEntity(config, 'OrderLine', CustomOrderLineFields);
+    registerCustomFieldsForEntity(config, 'Product', CustomProductFields);
+    registerCustomFieldsForEntity(config, 'Product', CustomProductFieldsTranslation, true);
+    registerCustomFieldsForEntity(config, 'ProductOption', CustomProductOptionFields);
+    registerCustomFieldsForEntity(config, 'ProductOption', CustomProductOptionFieldsTranslation, true);
+    registerCustomFieldsForEntity(config, 'ProductOptionGroup', CustomProductOptionGroupFields);
+    registerCustomFieldsForEntity(
+        config,
+        'ProductOptionGroup',
+        CustomProductOptionGroupFieldsTranslation,
+        true,
+    );
+    registerCustomFieldsForEntity(config, 'ProductVariant', CustomProductVariantFields);
+    registerCustomFieldsForEntity(config, 'ProductVariant', CustomProductVariantFieldsTranslation, true);
+    registerCustomFieldsForEntity(config, 'User', CustomUserFields);
+    registerCustomFieldsForEntity(config, 'GlobalSettings', CustomGlobalSettingsFields);
+}

+ 55 - 55
scripts/check-imports.ts

@@ -1,55 +1,55 @@
-/* tslint:disable:no-console */
-import fs from 'fs';
-import path from 'path';
-// tslint:disable-next-line:no-var-requires
-const find = require('find');
-
-/**
- * An array of regular expressions defining illegal import patterns to be checked in the
- * 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[] = [
-    /@vendure\/common\/src/,
-];
-
-findInFiles(illegalImportPatters, path.join(__dirname, '../packages'), /\.ts$/);
-
-function findInFiles(patterns: RegExp[], directory: string, fileFilter: RegExp) {
-    find.file(fileFilter, directory, async (files: string[]) => {
-        const matches = await getMatchedFiles(patterns, files);
-        if (matches.length) {
-            console.error(`Found illegal imports in the following files:`);
-            console.error(matches.join('\n'));
-            process.exitCode = 1;
-        } else {
-            console.log('Imports check ok!');
-        }
-    });
-}
-
-async function getMatchedFiles(patterns: RegExp[], files: string[]) {
-    const matchedFiles = [];
-    for (let i = files.length - 1; i >= 0; i--) {
-        const content = await readFile(files[i]);
-        for (const pattern of patterns) {
-            if (pattern.test(content)) {
-                matchedFiles.push(files[i]);
-                continue;
-            }
-        }
-    }
-    return matchedFiles;
-}
-
-function readFile(filePath: string): Promise<string> {
-    return new Promise((resolve, reject) => {
-        fs.readFile(filePath, 'utf-8', (err, data) => {
-            if (err) {
-                reject(err);
-            } else {
-                resolve(data);
-            }
-        });
-    });
-}
+/* tslint:disable:no-console */
+import fs from 'fs';
+import path from 'path';
+// tslint:disable-next-line:no-var-requires
+const find = require('find');
+
+/**
+ * An array of regular expressions defining illegal import patterns to be checked in the
+ * 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[] = [
+    /@vendure\/common\/src/,
+];
+
+findInFiles(illegalImportPatters, path.join(__dirname, '../packages'), /\.ts$/);
+
+function findInFiles(patterns: RegExp[], directory: string, fileFilter: RegExp) {
+    find.file(fileFilter, directory, async (files: string[]) => {
+        const matches = await getMatchedFiles(patterns, files);
+        if (matches.length) {
+            console.error(`Found illegal imports in the following files:`);
+            console.error(matches.join('\n'));
+            process.exitCode = 1;
+        } else {
+            console.log('Imports check ok!');
+        }
+    });
+}
+
+async function getMatchedFiles(patterns: RegExp[], files: string[]) {
+    const matchedFiles = [];
+    for (let i = files.length - 1; i >= 0; i--) {
+        const content = await readFile(files[i]);
+        for (const pattern of patterns) {
+            if (pattern.test(content)) {
+                matchedFiles.push(files[i]);
+                continue;
+            }
+        }
+    }
+    return matchedFiles;
+}
+
+function readFile(filePath: string): Promise<string> {
+    return new Promise((resolve, reject) => {
+        fs.readFile(filePath, 'utf-8', (err, data) => {
+            if (err) {
+                reject(err);
+            } else {
+                resolve(data);
+            }
+        });
+    });
+}