Skip to content

Commit

Permalink
feat: add Rollup plugin for HBS templates
Browse files Browse the repository at this point in the history
  • Loading branch information
alexlafroscia committed Jul 1, 2021
1 parent 4af550f commit 2bf646c
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
/packages/webpack/**/*.d.ts
/packages/hbs-loader/**/*.js
/packages/hbs-loader/**/*.d.ts
/packages/rollup-plugin-hbs/**/*.js
/packages/rollup-plugin-hbs/**/*.d.ts
/test-packages/support/**/*.js
/test-packages/**/*.d.ts
/tests/scenarios/**/*.js
Expand Down
7 changes: 7 additions & 0 deletions packages/rollup-plugin-hbs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/node_modules
/src/**/*.js
/src/**/*.d.ts
/src/**/*.map
/*/tests/**/*.js
/*/tests/**/*.d.ts
/*/tests/**/*.map
36 changes: 36 additions & 0 deletions packages/rollup-plugin-hbs/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"name": "@embroider/rollup-plugin-hbs",
"version": "0.42.3",
"private": false,
"description": "Glimmer handlebars plugin for Rollup",
"repository": {
"type": "git",
"url": "https://github.com/embroider-build/embroider.git",
"directory": "packages/rollup-plugin-hbs"
},
"license": "MIT",
"author": "Alex LaFroscia",
"main": "src/index.js",
"files": [
"src/**/*.js",
"src/**/*.d.ts",
"src/**/*.js.map"
],
"scripts": {
"prepare": "tsc"
},
"peerDependencies": {
"@embroider/core": "0.42.3"
},
"devDependencies": {
"@embroider/core": "0.42.3",
"rollup": "^2.52.6",
"typescript": "~4.0.0"
},
"engines": {
"node": "10.* || 12.* || >= 14"
},
"volta": {
"extends": "../../package.json"
}
}
25 changes: 25 additions & 0 deletions packages/rollup-plugin-hbs/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { parse } from 'path';
import type { Plugin as RollupPlugin } from 'rollup';
import { applyVariantToTemplateCompiler, Variant } from '@embroider/core';

export interface Options {
templateCompilerFile: string;
variant: Variant;
}

export default function glimmerTemplateCompilerPlugin({ templateCompilerFile, variant }: Options): RollupPlugin {
// eslint-disable-next-line @typescript-eslint/no-require-imports
const templateCompiler = applyVariantToTemplateCompiler(variant, require(templateCompilerFile)).compile;

return {
name: '@embroider/rollup-plugin-hbs',

transform(src, id) {
const parsedFilePath = parse(id);

if (parsedFilePath.ext === '.hbs') {
return templateCompiler(id, src);
}
},
};
}
9 changes: 8 additions & 1 deletion yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -10683,7 +10683,7 @@ fsevents@^1.2.7:
bindings "^1.5.0"
nan "^2.12.1"

fsevents@~2.3.1:
fsevents@~2.3.1, fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
Expand Down Expand Up @@ -16022,6 +16022,13 @@ rollup@^1.12.0:
"@types/node" "*"
acorn "^7.1.0"

rollup@^2.52.6:
version "2.52.6"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.52.6.tgz#7c7546d170dead0e7db0b6c709f7f34398498a8e"
integrity sha512-H+Xudmwf8KO+xji8njQNoIQRp8l+iQge/NdUR20JngTxVYdEEnlpkMvQ71YGLl3+xZcPecmdj4q2lrClKaPdRA==
optionalDependencies:
fsevents "~2.3.2"

rsvp@^3.0.14, rsvp@^3.0.17, rsvp@^3.0.18, rsvp@^3.0.21, rsvp@^3.0.6, rsvp@^3.1.0:
version "3.6.2"
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
Expand Down

0 comments on commit 2bf646c

Please sign in to comment.