rnx-kit

Modern, scalable tools. Exceptional developer experience.

MIT License

Downloads
6M
Stars
1.4K
Committers
49

Bot releases are visible (Hide)

rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 008474ca: Fix code to deal with nested node_module
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 641d8978: Use @ts-ignore instead since we don't know which @react-native-community/cli version is used
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • bfe29746: Remove node: prefix to support Node <14.18
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 641d8978: Support @react-native-community/cli-plugin-metro >=6.1.0
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 80333120: Updated config schema to reflect breaking changes in 0.5
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 80333120: Reverted "Default to the new hermes target"
  • 80333120: Fixed not being able to bundle react-native
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 80333120: Fixed tree shaking not being enabled unless --tree-shake is specified
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • cf4070ac: Replace workspace-tools with @rnx-kit/tools-workspaces
  • Updated dependencies [37245c33]
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Minor Changes

  • 37245c33: Introducing @rnx-kit/tools-workspaces, a collection of tools for working with workspaces.
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 37245c33: Introducing @rnx-kit/tools-workspaces, a collection of tools for working with workspaces.
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 32cfa7b2: Replace workspace-tools with a call to find-up
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 8e31bfe4: Add filter for the sync commits
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 38a1065e: Default to the new hermes target introduced in esbuild 0.14.48.
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 641edba5: Add profile for react-native 0.69
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 641edba5: Declare support for react-native 0.69
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Patch Changes

  • 01e91b07: Fixed build fail on macOS
  • Updated dependencies [641edba5]
rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Major Changes

  • e2535866: # Breaking Changes

    This version transitions from using our own internal bundling wrapper to the
    official bundling API in @react-native-community/cli-plugin-metro, when it is
    available.

    Our wrapper is a little different than the official code, in that it does not
    honor the sourcemapUseAbsolutePath flag. So this change also adds support for
    that flag in our wrapper, making it fully compatible and interchangeable with
    the official bundling API.

    This is a breaking change because, when sourcemapUseAbsolutePath is false,
    sourcemapOutput is stripped of any path info, leaving only the name of the
    source-map file.

rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Minor Changes

  • e2535866: # Breaking Changes

    Command-Line: align parameter names with @react-native-community/cli

    Add, rename, and remove command-line parameters in @rnx-kit/cli to fully align
    with the well-known names used in @react-native-community/cli. This change will
    pairs with similar changes in @rnx-kit/config.

    In doing this, we'll be making it easier for developers to migrate to using our
    config/cli combination, and our cli will become a "drop in" replacement
    @react-native-community/cli. The longer-term goal is to upstream our work into
    the community CLI, but until it is proven and accepted, we will continue to
    maintain our wrapper commands.

    rnx-bundle parameteters

    Add:

    • --bundle-output
    • --sourcemap-use-absolute-path
    • --unstable-transform-profile

    Remove:

    • --bundle-prefix
    • --dist-path

    Rename:

    • --entry-path -> --entry-file
    • --assets-path -> --assets-dest

    rnx-start parameters

    Rename:

    • --project-root -> --projectRoot
    • --watch-folders -> --watchFolders
    • --asset-plugins -> --assetPlugins
    • --source-exts -> --sourceExts

    Zero configuration required

    The bundler and bundle-server no longer require rnx-kit configuration to run.
    This makes it possible to "upgrade" to @rnx-kit/cli by only changing the command
    name:

    • react-native bundle -> react-native rnx-bundle
    • react-native start -> react-native rnx-start

    Default configuration

    This release moves configuration defaults from @rnx-kit/config to the CLI. The
    CLI expresses our opinionated view of how config should be interpreted.

    The following defaults now apply when running rnx-bundle and rnx-start:

    • --entry-file / entryFile: "index.js"
    • --bundle-output / bundleOutput: "index.<platform>.bundle" (Windows,
      Android), or "index.<platform>.jsbundle" (iOS, MacOS)
    • detectCyclicDependencies: true (config only)
    • detectDuplicateDependencies: true (config only)
    • typescriptValidation: true (config only)
    • --tree-shake / treeShake: false
    • --sourcemap-use-absolute-path / sourcemapUseAbsolutePath: false (bundling
      only)

    NOTE: Defaults are only used when the corresponding fields are missing from
    both configuration and the command-line.

    In addition to these defaults, rnx-start will use bundle configuration when
    server configuration is not present, ensuring that by default, you are serving
    the same way you are bundling. If both both are missing, then the above baseline
    defaults are used.

    rnx-bundle: source-map changes

    The bundling code used to force the creation of a source-map file when in dev
    mode (--dev true). This is inconsistent with how @react-native-community/cli
    works, so it has been removed.

    Further, rnx-bundle now supports --sourcemap-use-absolute-path with a
    default value of false. This aligns with the @react-native-community/cli
    behavior, and is a breaking change because it causes sourcemapOutput to be
    stripped of any path info, leaving only the name of the source-map file.

    Drop support for deprecated rnx-bundle parameter --experimental-tree-shake

    This parameters was marked deprecated in a previous release, and though it was
    still supported, it emitted a warning when used.

    All support has now been dropped. The replacement parameter is --tree-shake.

Patch Changes

rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Minor Changes

  • e2535866: # Breaking Changes

    Schema: align property names with @react-native-community/cli

    Add, rename, and remove properties in @rnx-kit/config to fully align with the
    well-known names used in @react-native-community/cli. This change will ripple
    outward to @rnx-kit/cli as well.

    In doing this, we'll be making it easier for developers to migrate to using our
    config/cli combination, and our cli will become a "drop in" replacement
    @react-native-community/cli. The longer-term goal is to upstream our work into
    the community CLI, but until it is proven and accepted, we will continue to
    maintain our wrapper commands.

    To assist with this change, we detect the use of old property names, and
    report detailed failure messages. This will highlight app config that needs to
    be updated (which seems better than silently ignoring it).

    Add:

    • bundleOutput
    • sourcemapUseAbsolutePath

    Remove:

    • bundlePrefix
    • distPath

    Rename:

    • entryPath -> entryFile
    • sourceMapPath -> sourcemapOutput
    • sourceMapSourcesRootPath -> sourcemapSourcesRoot
    • assetsPath -> assetsDest

    getKitConfig(): only search for rnx-kit configuration in package.json

    We no longer search for config in places like rnx-kit.config.js (e.g. no more
    cosmiconfig).

    Why this change? In all the places we use rnx-kit internally, no one is
    using this mechanism. Further, in external forums, there have been general
    complaints from JS devs about having too many config files -- package.json is
    the preferred "single source". In light of this, it didn't seem worthwhile to
    continue carrying comsmiconfig as a dependency.

    getBundleDefinition() -> getBundleConfig()

    Now takes rnx-kit configuration as input, and outputs a bundle configuration
    (which has changed in this release).

    No longer provides default values. Returns only what is in configuration.
    Defaults have moved into the CLI, which is our opinionated view of how config
    should be interpreted.

    Drops support for a previously deprecated property experimental_treeShake,
    which has since been replaced with treeShake.

    getBundlePlatformDefinition() -> getPlatformBundleConfig()

    Now requires a bundle configuration as input, and outputs a platform-specific
    bundle configuration.

    No longer provides default values. Returns only what is in configuration.
    Defaults have moved into the CLI, which is our opinionated view of how config
    should be interpreted.

    getServerConfig()

    No longer provides default values. Returns only what is in configuration.
    Defaults have moved into the CLI, which is our opinionated view of how config
    should be interpreted.

    Non-breaking Changes

    Add fine-grained control for typescriptValidation

    Give developers fine-grained control over how TypeScript validation behaves.

rnx-kit - @rnx-kit/[email protected]

Published by github-actions[bot] over 2 years ago

Minor Changes

  • 1edb9acd: Added a flag, resolveSymlinks, to findPackageDependencyDir to make it return fully resolved symlinks