Uploaded image for project: 'OpenShift Console'
  1. OpenShift Console
  2. CONSOLE-2952

Dynamic Plugin needs to be externally consumable

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Obsolete
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • False
    • False
    • undefined
    • Console - Sprint 207

      As an adopter of the @openshift-console/dynamic-plugin-sdk I want to easily integrate into my development pipeline so that I can extend the OCP console.

      Trying to pull in the dynamic-plugin-sdk into ACM is proving to be problematic. We would have to move to older dependencies. Integrating with webpack and typescript requires a very specific setup.

      The dynamic-plugin-sdk has only really been used internally by OCP and is strongly tied to the setup and dependencies of OCP. For the dynamic-plugin-sdk to be externally consumable by adopters, it should be as easy to use as other webpack plugins such as HtmlWebpackPlugin or CompressionPlugin.

      Acceptance Criteria

      • Uses up to date dependencies - not tied to specific versions OCP console uses
      • Includes it's own dependencies - does not require adopters to include those dependencies
      • Does not require extra configuration such as tsconfig paths - other webpack plugins do not require this and forcing it is not developer friendly
      • Should be able to be used with TypeScript - do not use package.json exports until it is supported
      • The dynamic demo plugin should be updated to use newer dependencies and use the plugin without a bunch of tweaks to tsconfig paths. 

      Currently

      • requires old dependencies including a beta version of webpack 
        • webpack 5.0.0-beta.16 → 5.51.0
        • webpack-cli 4.5.x → 4.8.x
        • webpack-dev-server ^3.11.2 → ^4.0.0
        • ts-loader 6.2.2 → 9.2.5
        • ts-node 5.0.1 → 10.2.1
        • typescript 3.8.3 → 4.3.5
      • requires adopters to include dependencies the adopters do not use
        • comment-json
        • read-pkg
      • uses package.json exports
        • this should not be used until it is fully supported - TS does not
        • this makes it so that TS config paths must be configured and does not work with newer versions of dependencies

       

            vszocs@redhat.com Vojtech Szocs
            jtalton James Talton
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: