Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-27858] Webpack: Move configuration to independent packages

GitHub Issuen/a
TypeStory
PriorityNone
StatusClosed
ResolutionFixed
Resolution Date2020-08-25T00:36:54.000+0000
Affected Version/sn/a
Fix Version/sn/a
ComponentsTooling
Labelsn/a
ReporterJan Vennemann
AssigneeJan Vennemann
Created2020-04-21T17:11:09.000+0000
Updated2020-08-25T00:36:54.000+0000

Description

appcd-plugin-webpack has grown into huge monolithic package that contains the configuration and required dependencies for the different project types (Classic, Alloy, Vue, Angular). Refactoring this into independent packages that are installed per project gives several benefits: * Better maintainability due to smaller packages and less dependencies. * Only related dependencies like loaders and compilers are present in each package. * Dependencies can be manages per project. The global appcd webpack plugin only provides the base configuration. The configuration for a specific project type is installed locally into the project. This allows to upgrade a single project to newer versions of e.g. Alloy, Vue or Angular. * Out of the box warnings for missing peer dependencies. *Project types* * @titanium-sdk/webpack-plugin-classic * @titanium-sdk/webpack-plugin-alloy * @titanium-sdk/webpack-plugin-vue * @titanium-sdk/webpack-plugin-angular *General plugins* * @titanium-sdk/webpack-plugin-babel

Comments

  1. Jan Vennemann 2020-05-08

    Plugins containing configuration for a specific project type: Classic: https://github.com/appcelerator/webpack-plugin-classic Alloy: https://github.com/appcelerator/webpack-plugin-alloy Vue: https://github.com/appcelerator/webpack-plugin-vue Angular: Will be done in TIMOB-27800 Plugins to add new tooling to a project Babel: https://github.com/appcelerator/webpack-plugin-babel TypeScript: https://github.com/appcelerator/webpack-plugin-typescript
  2. Jan Vennemann 2020-05-15

    PR: https://github.com/appcelerator/appcd-plugin-webpack/pull/13
  3. Lokesh Choudhary 2020-08-25

    Closing.

JSON Source