NullVoxPopuli / ember-apply

Automatic integration and configuration from the EmberJS community
https://ember-apply.pages.dev
MIT License
38 stars 9 forks source link
automation hacktoberfest monorepo nodejs

ember-apply

npm version CI

Automatic integration and configuration from the community.

See the Documentation.

This is a framework and ecosystem agnostic collection of recommended configurations, applied via automation, that is compatible with any kind of project, new and old.

Individual configurations may have conventions specific to a an ecosystem, but ember-apply, itself, can be used with Svelte, React, or whatever you want. The tools provided by ember-apply only require Node 16+.

Maybe most importantly, is that ember-apply can be used for any tool that wishes to use high-level project-management and transformation utilities. See #Public API.

npm (tag) npm (tag)

NOTE: this package is a slightly experimental and prone to some API or organizational changes -- but is committed to strictly following semver.

Usage

npx ember-apply <feature-name>

where <feature-name> is one of the options under #Features

Compatibility

Internal applyables

typescript

npx ember-apply typescript

Automates setting up TypeScript for your V1 Addon or App.

volta

npx ember-apply volta

Automates setting up volta in a project, monorepo or solorepo.

tailwind

npx ember-apply tailwind

Automates the steps from Tailwind's installation docs

Known working capabilities:

Assumptions

tailwind-webpack

npx ember-apply tailwind-webpack

Automates the official Tailwind + Ember.js guide

embroider

npx ember-apply embroider

Automates the embroider migration from the classic ember build system for maximum-compatibility mode. See the Embroider docs

ssr

implementation tbd (pr's welcome!)

npx ember-apply ssr

Known working capabilities:

External applyables

Any package with as ESM with a default export

when using a package name for the <feature-name>, an ESM version of the package will attempt to be loaded and used, invoking the default export.

npx ember-apply @scope/feature-name

Local scripts may also be used. An example of this is maybe in a private monorepo where some scripts or packages aren't published to npm.

npx ember-apply ../../path/to/some/script.js # ESM required
# or
npx ember-apply ../../path/to/some/script.mjs

Adding a new applyable to this repository

For Transforming JS

JSCodeShift is used

For Transforming Ember Templates

ember-template-recast is used

For Transforming HTML

posthtml is used

Related Projects