From 7ccd2268efe25651347bcb28c7d14938f8e31b71 Mon Sep 17 00:00:00 2001 From: Chirag Patel Date: Wed, 15 Sep 2021 10:41:26 -0700 Subject: [PATCH] Pass through correct filename as modulename to precompile --- __tests__/template-literal-tests.js | 11 +++++++- __tests__/template-tag-tests.js | 11 +++++++- __tests__/tests.js | 44 ++++++++++++++++++++++++++++- index.js | 7 +++++ 4 files changed, 70 insertions(+), 3 deletions(-) diff --git a/__tests__/template-literal-tests.js b/__tests__/template-literal-tests.js index ab9d2ef2..e406b536 100644 --- a/__tests__/template-literal-tests.js +++ b/__tests__/template-literal-tests.js @@ -3,6 +3,7 @@ const babel = require('@babel/core'); const HTMLBarsInlinePrecompile = require('../index'); const TransformModules = require('@babel/plugin-transform-modules-amd'); +const { join } = require('path'); const { preprocessEmbeddedTemplates } = HTMLBarsInlinePrecompile; @@ -18,13 +19,15 @@ const TEMPLATE_LITERAL_CONFIG = { includeTemplateTokens: true, }; +const FILENAME = join(process.cwd(), 'foo-bar.js'); + describe('htmlbars-inline-precompile: useTemplateLiteralProposalSemantics', function () { let precompile, plugins, optionsReceived; function transform(code) { return babel .transform(code, { - filename: 'foo-bar.js', + filename: FILENAME, plugins, }) .code.trim(); @@ -238,6 +241,9 @@ describe('htmlbars-inline-precompile: useTemplateLiteralProposalSemantics', func isProduction: undefined, locals: ['baz', 'foo', 'bar'], strictMode: true, + meta: { + moduleName: FILENAME, + }, }); }); @@ -502,6 +508,9 @@ describe('htmlbars-inline-precompile: useTemplateLiteralProposalSemantics', func isProduction: undefined, locals: ['Baz', 'foo', 'bar'], strictMode: true, + meta: { + moduleName: FILENAME, + }, }); }); diff --git a/__tests__/template-tag-tests.js b/__tests__/template-tag-tests.js index 2acdf2f0..b8046acd 100644 --- a/__tests__/template-tag-tests.js +++ b/__tests__/template-tag-tests.js @@ -3,6 +3,7 @@ const babel = require('@babel/core'); const HTMLBarsInlinePrecompile = require('../index'); const TransformModules = require('@babel/plugin-transform-modules-amd'); +const { join } = require('path'); const { preprocessEmbeddedTemplates } = HTMLBarsInlinePrecompile; @@ -18,13 +19,15 @@ const TEMPLATE_TAG_CONFIG = { includeTemplateTokens: true, }; +const FILENAME = join(process.cwd(), 'foo-bar.js'); + describe('htmlbars-inline-precompile: useTemplateTagProposalSemantics', function () { let precompile, plugins, optionsReceived; function transform(code) { return babel .transform(code, { - filename: 'foo-bar.js', + filename: FILENAME, plugins, }) .code.trim(); @@ -243,6 +246,9 @@ describe('htmlbars-inline-precompile: useTemplateTagProposalSemantics', function isProduction: undefined, locals: ['baz', 'foo', 'bar'], strictMode: true, + meta: { + moduleName: FILENAME, + }, }); }); @@ -560,6 +566,9 @@ describe('htmlbars-inline-precompile: useTemplateTagProposalSemantics', function isProduction: undefined, locals: ['Baz', 'foo', 'bar'], strictMode: true, + meta: { + moduleName: FILENAME, + }, }); }); diff --git a/__tests__/tests.js b/__tests__/tests.js index c14f3cfe..93cedfe2 100644 --- a/__tests__/tests.js +++ b/__tests__/tests.js @@ -8,6 +8,9 @@ const TransformTemplateLiterals = require('@babel/plugin-transform-template-lite const TransformModules = require('@babel/plugin-transform-modules-amd'); const TransformUnicodeEscapes = require('@babel/plugin-transform-unicode-escapes'); const { stripIndent } = require('common-tags'); +const { join } = require('path'); + +const FILENAME = join(process.cwd(), 'foo-bar.js'); describe('htmlbars-inline-precompile', function () { let precompile, plugins, optionsReceived; @@ -15,7 +18,7 @@ describe('htmlbars-inline-precompile', function () { function transform(code) { return babel .transform(code, { - filename: 'foo-bar.js', + filename: FILENAME, plugins, }) .code.trim(); @@ -118,6 +121,9 @@ describe('htmlbars-inline-precompile', function () { expect(optionsReceived).toEqual({ contents: source, + meta: { + moduleName: FILENAME, + }, }); }); @@ -144,6 +150,9 @@ describe('htmlbars-inline-precompile', function () { expect(optionsReceived).toEqual({ contents: source, isProduction: true, + meta: { + moduleName: FILENAME, + }, }); }); @@ -170,6 +179,9 @@ describe('htmlbars-inline-precompile', function () { expect(optionsReceived).toEqual({ contents: source, isProduction: true, + meta: { + moduleName: FILENAME, + }, }); }); @@ -197,6 +209,9 @@ describe('htmlbars-inline-precompile', function () { isProduction: true, locals: null, strictMode: false, + meta: { + moduleName: FILENAME, + }, }); }); @@ -206,6 +221,9 @@ describe('htmlbars-inline-precompile', function () { expect(optionsReceived).toEqual({ contents: source, + meta: { + moduleName: FILENAME, + }, }); }); @@ -240,6 +258,9 @@ describe('htmlbars-inline-precompile', function () { stringifiedThing: { foo: 'baz', }, + meta: { + moduleName: FILENAME, + }, }); }); @@ -312,6 +333,9 @@ describe('htmlbars-inline-precompile', function () { isProduction: undefined, locals: null, strictMode: false, + meta: { + moduleName: FILENAME, + }, }); }); @@ -861,6 +885,9 @@ describe('htmlbars-inline-precompile', function () { expect(optionsReceived).toEqual({ contents: source, locals: ['foo', 'bar'], + meta: { + moduleName: FILENAME, + }, }); }); @@ -873,6 +900,9 @@ describe('htmlbars-inline-precompile', function () { expect(optionsReceived).toEqual({ contents: source, locals: ['foo', 'bar'], + meta: { + moduleName: FILENAME, + }, }); }); @@ -884,6 +914,9 @@ describe('htmlbars-inline-precompile', function () { expect(optionsReceived).toEqual({ contents: source, locals: ['foo', 'bar'], + meta: { + moduleName: FILENAME, + }, }); }); @@ -895,6 +928,9 @@ describe('htmlbars-inline-precompile', function () { expect(optionsReceived).toEqual({ contents: source, locals: ['foo', 'bar'], + meta: { + moduleName: FILENAME, + }, }); }); @@ -906,6 +942,9 @@ describe('htmlbars-inline-precompile', function () { expect(optionsReceived).toEqual({ contents: source, locals: ['foo', 'bar'], + meta: { + moduleName: FILENAME, + }, }); }); @@ -917,6 +956,9 @@ describe('htmlbars-inline-precompile', function () { expect(optionsReceived).toEqual({ contents: source, locals: ['foo', 'bar'], + meta: { + moduleName: FILENAME, + }, }); }); diff --git a/index.js b/index.js index 700b3d67..46cdbc00 100644 --- a/index.js +++ b/index.js @@ -425,6 +425,9 @@ module.exports = function (babel) { isProduction, locals, strictMode, + meta: { + moduleName: state.file.opts.filename, + }, }), options ); @@ -519,6 +522,10 @@ module.exports = function (babel) { compilerOptions.strictMode = true; } + compilerOptions.meta = { + moduleName: state.file.opts.filename, + }; + replacePath( path, state,