Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/patricklx/ember-template-helper-imports
https://github.com/patricklx/ember-template-helper-imports
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/patricklx/ember-template-helper-imports
- Owner: patricklx
- License: mit
- Created: 2019-08-07T08:56:16.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-11T01:07:46.000Z (almost 2 years ago)
- Last Synced: 2024-04-26T02:43:50.420Z (7 months ago)
- Language: JavaScript
- Size: 1.46 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
ember-template-helper-import
==============================================================================forked from https://github.com/crashco/ember-template-component-import and changed to allow helper imports
This is to be used alongside https://github.com/crashco/ember-template-component-importThis addon allows you to use import-style syntax to create local bindings to
a helper within a template file.* More concise helpers invocation while making it explicit where it comes from
* No hyphens needed!
* Relative imports!* Currently only tested with simple helpers
Installation
------------------------------------------------------------------------------```
ember install ember-template-helper-import
```Usage
------------------------------------------------------------------------------Use the same kind of import syntax you are familiar with from Javascript:
```hbs
{{import myHelper from 'ui/helper'}}{{myHelper 'a'}}
{{import helper as ashelper from "ui/helpers" }}
{{import a as ahelper from "ui/helpers" }}
{{import "* as helpers" from "u/helpersi" }}
{{import "a, b" from "ui/helpers" }}
{{import "a as x, b as y" from "ui/helpers" }}
{{import "a as z, helper" from "ui/helpers" }}
```The helper is looked up from the given string using a direct lookup
pattern. I set the `resolveHelper` in the resolver.
All this addon does is taking that `{{import ...}}` statement
and replacing all helper invocations with `{{ember-template-helper-import/helpers/invoke-helper 'myHelper' ...}}`.Our helper then looks up the actual helper and calls `compute` with the other arguments
Motivation
------------------------------------------------------------------------------[ember-template-component-import](https://github.com/crashco/ember-template-component-import)
already gives us import for components, but I really miss the helper imports.
So I went ahead and added this functionality :)But what about Module Unification?
------------------------------------------------------------------------------Once Module Unification lands fully, this addon will be largely obsolete. MU
provides all these benefits and more.So on the one hand, your templates will start to look _something kinda like_
MU a little sooner, which is nice.But be warned - any official tooling to codemod templates into a new MU world
likely won't support this addon. So weigh the pros and cons carefully before
widely adopting this addon.License
------------------------------------------------------------------------------This project is licensed under the [MIT License](LICENSE.md).