diff --git a/packages/dollie-core/src/constants.ts b/packages/dollie-core/src/constants.ts index 9b3dbaa..ec0e753 100644 --- a/packages/dollie-core/src/constants.ts +++ b/packages/dollie-core/src/constants.ts @@ -2,7 +2,8 @@ const TEMPLATE_CACHE_PATHNAME_PREFIX = '/template'; const EXTEND_TEMPLATE_LABEL_PREFIX = 'extend:'; const EXTEND_TEMPLATE_PATHNAME_PREFIX = '/extends'; const MAIN_TEMPLATE_PATHNAME_PREFIX = '/main'; -const TEMPLATE_FILE_IDENTITY = '__template.'; +const TEMPLATE_FILE_IDENTITY_LEGACY = '__template.'; +const TEMPLATE_FILE_IDENTITY = '.dollie'; const TEMPLATE_CONFIG_FILE_NAMES = [ 'dollie.js', '.dollie.js', @@ -16,7 +17,8 @@ export { EXTEND_TEMPLATE_LABEL_PREFIX, EXTEND_TEMPLATE_PATHNAME_PREFIX, MAIN_TEMPLATE_PATHNAME_PREFIX, - TEMPLATE_FILE_IDENTITY, + TEMPLATE_FILE_IDENTITY_LEGACY, TEMPLATE_CONFIG_FILE_NAMES, EXTEND_TEMPLATE_PREFIX, + TEMPLATE_FILE_IDENTITY, }; diff --git a/packages/dollie-core/src/generator.abstract.ts b/packages/dollie-core/src/generator.abstract.ts index 6048859..cd379ee 100644 --- a/packages/dollie-core/src/generator.abstract.ts +++ b/packages/dollie-core/src/generator.abstract.ts @@ -428,14 +428,6 @@ abstract class Generator { } } - private checkFile(pathname: string): boolean { - const absolutePathname = path.resolve(TEMPLATE_CACHE_PATHNAME_PREFIX, pathname); - return ( - this.volume.existsSync(absolutePathname) && - this.volume.statSync(absolutePathname).isFile() - ); - } - private readTemplateFileBuffer(pathname: string): Buffer { return this.volume.readFileSync(path.resolve( TEMPLATE_CACHE_PATHNAME_PREFIX, diff --git a/packages/dollie-core/src/utils/loader.ts b/packages/dollie-core/src/utils/loader.ts index 5316850..5b173f9 100644 --- a/packages/dollie-core/src/utils/loader.ts +++ b/packages/dollie-core/src/utils/loader.ts @@ -8,6 +8,7 @@ import { import fs from 'fs'; import { TEMPLATE_CACHE_PATHNAME_PREFIX, + TEMPLATE_FILE_IDENTITY_LEGACY, TEMPLATE_FILE_IDENTITY, } from '../constants'; import { @@ -98,9 +99,20 @@ const readTemplateEntities = ( let relativePathname = initialRelativePathname; let absolutePathname = initialAbsolutePathname; - if (initialEntityName.startsWith(TEMPLATE_FILE_IDENTITY)) { + if ( + initialEntityName.startsWith(TEMPLATE_FILE_IDENTITY_LEGACY) || + initialEntityName.endsWith(TEMPLATE_FILE_IDENTITY) + ) { isTemplateFile = true; - entityName = initialEntityName.slice(TEMPLATE_FILE_IDENTITY.length); + } + + if (initialEntityName.startsWith(TEMPLATE_FILE_IDENTITY_LEGACY)) { + entityName = initialEntityName.slice(TEMPLATE_FILE_IDENTITY_LEGACY.length); + } else if (initialEntityName.endsWith(TEMPLATE_FILE_IDENTITY)) { + entityName = initialEntityName.slice(0, initialEntityName.length - TEMPLATE_FILE_IDENTITY.length); + } + + if (isTemplateFile) { relativePathname = `${relativeDirectoryPathname ? `${relativeDirectoryPathname}/` : ''}${entityName}`; absolutePathname = `${absoluteDirectoryPathname ? `${absoluteDirectoryPathname}/` : ''}${entityName}`; }