Skip to content

chore(scaffold): run init via @rtcamp/wp-tooling/init#721

Closed
aryanjasala wants to merge 5 commits into
feat/hmrfrom
feat/init-via-wp-tooling
Closed

chore(scaffold): run init via @rtcamp/wp-tooling/init#721
aryanjasala wants to merge 5 commits into
feat/hmrfrom
feat/init-via-wp-tooling

Conversation

@aryanjasala

Copy link
Copy Markdown
Member

What this does

Switches npm run init to the relocated init engine: require('@rtcamp/wp-tooling/init') instead of probing vendor/rtcamp/wp-framework/bin/scaffold.js. The engine is now an npm dependency, not a Composer vendor path.

Changes

  • bin/init.js — require the engine from @rtcamp/wp-tooling/init; drop the vendor existence check and the now-unused fs require.

Blocked on

rtCamp/wp-tooling#32 (the ./init export) being published + bumping the @rtcamp/wp-tooling version pin here. Until then npm run init resolves the engine only via a local link/pack. Draft until published.

Gates GenerateTailwindThemePlugin (from @rtcamp/wp-tooling) on the entry
file src/css/frontend/tailwind.css, guard-requiring wp-tooling so the build
still works when it is absent. Dormant until the Tailwind feature creates
the entry.
Toggleable in manage mode: copies the entry CSS + PostCSS config and adds
the tailwindcss / @tailwindcss/postcss devDeps; detected via the entry
file. The build side lives in webpack.config.js.
functions.php now defaults ELEMENTARY_THEME_ENABLE_TAILWIND to false (the
scaffold feature flips it); the webpack token plugin is still entry-file gated
at build time, and the wp-tooling catch only skips that plugin, not Tailwind
compilation.
HMR (BrowserSync live reload) is now a toggleable feature, gated on a
single ENABLE_HMR flag in .env.local that both the build and PHP read:

- webpack only starts the BrowserSync server when ENABLE_HMR is not off
- Assets.php only enqueues the client under the same flag
- the scaffold feature flips ENABLE_HMR in .env.local on enable/disable

Default is on, so existing setups are unaffected. browser-sync deps stay
installed (they are dev-only), so the toggle is a fast local switch.
DISABLE_BS still works for the finer client-only case. Toggle from
`npm run init` (manage mode) or by editing .env.local directly.
Resolve the init engine from the @rtcamp/wp-tooling npm dependency instead of probing vendor/rtcamp/wp-framework. Drops the Composer vendor path and the fs existence check.
@Adi-ty Adi-ty force-pushed the feat/hmr branch 2 times, most recently from 0faace2 to 91be41f Compare June 23, 2026 13:54
@Adi-ty

Adi-ty commented Jun 23, 2026

Copy link
Copy Markdown

This one's content is already folded into #716. We can close this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants