Publish Vertical Slice POC on NPM

Created on 2 October 2023, about 1 year ago
Updated 1 November 2023, about 1 year ago

Problem/Motivation

Publish vertical slice POC on NPM to make it easier for developers to experiment and provide feedback.

Under what namespace would it make sense to publish this? It won't be @drupal

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

πŸ“Œ Task
Status

Fixed

Component

Miscellaneous

Created by

πŸ‡ΊπŸ‡ΈUnited States brianperry

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @brianperry
  • πŸ‡ΊπŸ‡ΈUnited States brianperry

    Things to consider here:
    * Should we implement changesets prior to publishing?
    * Should we adopt conventional commits - https://www.conventionalcommits.org/en/v1.0.0/
    * Will it be possible to automate this process before we're under the Drupal namespace? Will we have to mirror the codebase somewhere? Or publish manually?

  • πŸ‡ΊπŸ‡ΈUnited States brianperry

    Versioning while working on 1.x. I'm now thinking we should keep this simple. Publish an initial 0.x version representing the POC. We can then declare that specific version as the vertical slice POC version. Beyond that, we can keep working on 1.0 and publishing our ongoing work as incremental 0.x releases until we complete our scope for 1.0.

  • πŸ‡ΊπŸ‡ΈUnited States brianperry

    Ensuring publishing is based on main, and docs publishing is based on main as well.

  • @brianperry opened merge request.
  • Assigned to brianperry
  • Status changed to Needs work about 1 year ago
  • πŸ‡ΊπŸ‡ΈUnited States brianperry

    Had to make more changes than I expected here as a result of the package namespaces changing. Should be close, but tsc is now complaining about:

    > tsc --noEmit
    
    packages/api-client/tsup.config.ts:17:5 - error TS2322: Type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.19.5/node_modules/esbuild/lib/main").Plugin' is not assignable to type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main").Plugin'.
      Types of property 'setup' are incompatible.
        Type '(build: import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.19.5/node_modules/esbuild/lib/main").PluginBuild) => void | Promise<void>' is not assignable to type '(build: import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main").PluginBuild) => void | Promise<void>'.
          Types of parameters 'build' and 'build' are incompatible.
            Type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main").PluginBuild' is not assignable to type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.19.5/node_modules/esbuild/lib/main").PluginBuild'.
              The types of 'initialOptions.plugins' are incompatible between these types.
                Type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main").Plugin[] | undefined' is not assignable to type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.19.5/node_modules/esbuild/lib/main").Plugin[] | undefined'.
                  Type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main").Plugin[]' is not assignable to type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.19.5/node_modules/esbuild/lib/main").Plugin[]'.
                    Type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main").Plugin' is not assignable to type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.19.5/node_modules/esbuild/lib/main").Plugin'.
                      Types of property 'setup' are incompatible.
                        Type '(build: import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main").PluginBuild) => void | Promise<void>' is not assignable to type '(build: import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.19.5/node_modules/esbuild/lib/main").PluginBuild) => void | Promise<void>'.
                          Types of parameters 'build' and 'build' are incompatible.
                            Type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.19.5/node_modules/esbuild/lib/main").PluginBuild' is not assignable to type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main").PluginBuild'.
                              The types of 'initialOptions.tsconfigRaw' are incompatible between these types.
                                Type 'string | import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.19.5/node_modules/esbuild/lib/main").TsconfigRaw | undefined' is not assignable to type 'string | import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main").TsconfigRaw | undefined'.
                                  Type 'TsconfigRaw' is not assignable to type 'string | TsconfigRaw | undefined'.
                                    Type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.19.5/node_modules/esbuild/lib/main").TsconfigRaw' is not assignable to type 'import("/Users/brianperry/repos/api_client/node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main").TsconfigRaw'.
                                      Types of property 'compilerOptions' are incompatible.
                                        Type '{ alwaysStrict?: boolean | undefined; baseUrl?: string | undefined; experimentalDecorators?: boolean | undefined; importsNotUsedAsValues?: "error" | "remove" | "preserve" | undefined; ... 9 more ...; verbatimModuleSyntax?: boolean | undefined; } | undefined' is not assignable to type '{ alwaysStrict?: boolean | undefined; baseUrl?: boolean | undefined; experimentalDecorators?: boolean | undefined; importsNotUsedAsValues?: "error" | "remove" | "preserve" | undefined; ... 9 more ...; verbatimModuleSyntax?: boolean | undefined; } | undefined'.
                                          Type '{ alwaysStrict?: boolean | undefined; baseUrl?: string | undefined; experimentalDecorators?: boolean | undefined; importsNotUsedAsValues?: "error" | "remove" | "preserve" | undefined; ... 9 more ...; verbatimModuleSyntax?: boolean | undefined; }' is not assignable to type '{ alwaysStrict?: boolean | undefined; baseUrl?: boolean | undefined; experimentalDecorators?: boolean | undefined; importsNotUsedAsValues?: "error" | "remove" | "preserve" | undefined; ... 9 more ...; verbatimModuleSyntax?: boolean | undefined; }'.
                                            Types of property 'baseUrl' are incompatible.
                                              Type 'string | undefined' is not assignable to type 'boolean | undefined'.
                                                Type 'string' is not assignable to type 'boolean | undefined'.
    
     17     polyfillNode({
            ~~~~~~~~~~~~~~
     18       globals: {
        ~~~~~~~~~~~~~~~~
    ... 
     20       },
        ~~~~~~~~
     21     }),
        ~~~~~~
    
    
    Found 1 error in packages/api-client/tsup.config.ts:17
    

    Any ideas?

  • Issue was unassigned.
  • Status changed to Fixed about 1 year ago
  • πŸ‡ΊπŸ‡ΈUnited States cosmicdreams Minneapolis/St. Paul

    On the NPM page, it might be helpful to publish a user story / user stories that help people know that this vertical slice either addresses or doesn't address their use case.

    It's difficult to know what scenarios this would be used for, with just the NPM page's documentation.

  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024