Skip to content

Releases: seek-oss/skuba

v3.7.0

24 Jun 05:11
dd8120c
Compare
Choose a tag to compare

This release focuses on enabling @seek/seek-module-toolkit and @seek/skuba users to migrate to the new skuba package and toolkit.

Minor Changes

  • 7a967cd: configure: Support migration from seek-module-toolkit

    seek-module-toolkit users can now install skuba and run skuba configure to migrate their configuration.

    Care should be taken around the change in build directories.

  • f2f3925: eslint: skuba is now usable as a shareable config

    // .eslintrc.js
    
    module.exports = {
      // This can be used in place of require.resolve('skuba/config/eslint')
      extends: ['skuba'],
    };
  • 03a7ac2: build, start: Support experimental Babel toolchain

    You can now build your project with Babel instead of tsc. Experimentally.

    See docs/babel.md for details.

  • b23bd23: jest: skuba is now usable as a preset

    // jest.config.js
    
    const { testPathIgnorePatterns } = require('skuba/config/jest');
    
    module.exports = {
      // This can be used in place of ...require('skuba/config/jest')
      preset: 'skuba',
    
      // This is still necessary as Jest doesn't deep-merge presets
      testPathIgnorePatterns: [...testPathIgnorePatterns, '/test\\.ts'],
    };
  • 5c138fb: configure: Replace relocated dependencies

    skuba configure now replaces the following dependencies and updates their import paths via naive find-and-replace:

    • @seek/koala → seek-koala
    • @seek/node-datadog-custom-metrics → seek-datadog-custom-metrics
    • @seek/skuba → skuba
    • @seek/skuba-dive → skuba-dive
  • b85b4b3: init: Commit initial template files and configure default remote

  • cbce20b: format, lint: Enforce TSDoc syntax

  • f39abdc: template/oss-npm-package: Add new template

    This is intended for seek-oss projects.

Patch Changes

  • 205f27d: configure: Delete test:build and test:jest scripts
  • 0cbe50e: configure: List skuba upgrade upfront
  • 5ec72d5: configure, init: Avoid unnecessary file writes during templating
  • 5753b38: template/lambda-sqs-worker: Drop hot-shots dependency
  • 0c1e129: configure, init: Sort dependencies
  • 93cdf6c: template: Redact Authorization headers in logs
  • 1b9b9c4: template/package: Make prompt unskippable
  • 5283618: configure, init: Exclude lib- directories from compilation
  • 676030a: template/private-npm-package: Fix ReferenceError on init
  • f36b136: help: Show build-package correctly
  • 1b7641f: configure: Migrate collectCoverageFrom Jest option
  • 967603c: configure: Tame newlines in ignore files
  • 9edfd74: configure: List filtered devDependencies upfront
  • 8f862f5: configure, init: .dockerignore the .gantry folder. This should decrease build times.
  • 14e7b92: template/koa-rest-api: Ensure lint passes on init
  • 35b4b2e: configure: Sort more package.json props
  • 23d4e09: init: Install matching skuba version
  • bac749a: init: Extend validation on initial GitHub fields
  • cbce20b: template/package: Drop module aliasing from tsconfig.json
  • b480dac: template: Redact err.config.sockets from logs
  • a52b995: template/koa-rest-api: Support improved Runtypes error messaging
  • 1fbb097: configure: Handle skuba-dive dependency upfront
  • fe86bdf: configure: Migrate select Jest options
  • 72c2e2c: configure: Reserve skuba-managed sections in ignore files
  • 77744b7: configure, init: .gitignore archives created by npm pack
  • bea10c7: template/private-npm-package: Include a half-decent README
  • 1b960a8: configure, init: Make mentioned commands actually runnable
  • 573ea6e: configure: Clean up ignore files during migration
  • eac8ae5: configure, init: .dockerignore the .git folder. This should decrease build times.
  • 63d9f01: configure: Add notice for smt migrations
  • b6296ac: cli: Suppress dependency deprecation warnings
  • fe3a1a2: configure: Delete .npmignore
  • 56cc9ef: template: Drop duplicate team name prompt
  • 2169513: template/koa-rest-api: Use Koala's error handler
  • aa6e1e8: configure, init: Reduce unintended stripping of _ filename prefix

v3.6.0

11 Jun 11:23
3e701d9
Compare
Choose a tag to compare

Minor Changes

  • 79bbd5b: template/private-npm-package: Add new template

    The private-npm-package template replaces smt init.

    This change also defaults TypeScript's moduleResolution to node.
    This shouldn't break any existing consumers as it is the default resolution strategy for CommonJS.

Patch Changes

  • 6db893a: template/koa-rest-api: Remove unused function

  • 41b5ba8: init: Redesign first prompt

  • 4ced018: cli: Tweak prompt spacing and wording

  • a908cb9: template/koa-rest-api: Pass through Gantry environment as ENVIRONMENT

  • 7b0debb: deps: Bump bundled and template dependencies

    This includes TypeScript 3.9.5.

v3.5.1

10 Jun 09:00
541296c
Compare
Choose a tag to compare

Patch Changes

  • 5e62e37: format, lint: Relax on Jest config files

v3.5.0

10 Jun 05:23
cbbb959
Compare
Choose a tag to compare

Minor Changes

  • 84a3262: ESLint 7 + typescript-eslint 3

    This upgrade introduces stricter rules around any and object usage for type safety.

    Consider the following alternatives:

    • Use unknown for a value whose type is truly unknown. This is a type-safe alternative to any that the TypeScript ecosystem is moving towards.

      - const data = JSON.parse(str);
      + const data = JSON.parse(str) as unknown;
    • Prove the value has a specific type using a type guard or runtime validation library.

      - const safeData = inputData as any;
      + const safeData = RuntimeValidator.check(inputData);
    • Use Record<PropertyKey, unknown> to indicate an object with unknown properties.

      - const isObject = (data: unknown): data is object => { ... };
      + const isObject = (data: unknown): data is Record<PropertyKey, unknown> => { ... };
    • Disable the specific ESLint rule for the problematic line.

      /* eslint-disable-next-line @typescript-eslint/no-unsafe-assignment */
      const takeAnyBody = ctx.request.body;
  • 0d3f0ad: build-package: Add opinionated command to replace smt build

    See the migration documentation for more information.

Patch Changes

  • bef1b36: init: Restore --silent arg for yarn add

  • 3f4bb58: configure, init: Tweak ignore file patterns

    Directory names like /lib-es2015 are ignored based on prefix now,
    but certain patterns have been restricted to the root to allow for /src/lib.

  • b39a0e0: configure: Use latest-version to check package versions

  • 70ae29a: configure, init: Switch to oss skuba-dive package

  • b44523a: Switch to seek-datadog-custom-metrics + seek-koala

  • 030ebb4: configure: Keep name, readme and version fields in package.json

  • a311624: configure: Drop --ignore-optional from yarn install

  • b61a3ca: start: Remove support for a custom port logging function

  • a311624: init: Drop --ignore-optional --silent from yarn add

  • 54961a5: template/koa-rest-api: Bump Gantry plugin to v1.2.2

  • 54211b2: deps: Declare @types/jest as a peer dependency

  • 6600c2f: format, lint: Group 'src' import along with 'src/**'

  • 50a316f: configure, init: Exclude files from templating based on .gitignore

v3.4.1

05 Jun 05:43
1aa03c3
Compare
Choose a tag to compare

Initial seek-oss release!