Skip to content

Latest commit

 

History

History
387 lines (242 loc) · 11.3 KB

CHANGELOG.md

File metadata and controls

387 lines (242 loc) · 11.3 KB

Changelog

[2.3.5]

  • Support bigint route parameter
import {nft_path} from "./routes"

nft_path(123456789012345678901234567890n)
    // => /nfts/123456789012345678901234567890
  • Fix rake task for non-esm modules. #316

[2.3.4]

  • Fix deprecator usage in rake js:routes:typescript #327
  • Migrate to yarn 4
  • Deprecated prefix option in favor of default_url_options.script_name.
  • Add support for script_name Rails helper option.
Routes.post_path(1, { script_name: "/myapp" })
  // => /myapp/post/1

Routes.configure({
  default_url_options: { script_name: "/myapp" }
})

Routes.post_path(1) // => /myapp/post/1

[2.3.3]

  • Rework default banner to use routes.rb digest instead of timestamp to ensure consistent routes.js version accross environments.
  • Use JSDoc Tags in banner by default.

The new default banner:

/**
 * @file Generated by js-routes 2.3.3. Based on Rails 7.2.0 routes of App.
 * @see https://github.com/railsware/js-routes
 * @version e289929fc3fbe69b77aa24c5c3a58fcb1246ad1ea3f4e883f7eafa915ca929f3
 */

[2.3.2]

  • Add banner option that allow to control JSDoc on top of generated file. #324.
JsRoutes.setup do |c|
    c.banner = -> {
      <<~DOC
      @file Javascript Route helpers of my magic pony app.
      @author Bogdan Gusiev
      @license MIT
      @version #{JsRoutes.digest}
      DOC
    }
end

[2.3.1]

  • Add timestamp on when routes.js was generated into banner.
  • Fix application specified directly without proc. #323
  • Support optional_definition_params option. See Related Docs.

[2.3.0]

  • Drop support of Rails 4.x
  • Fix support of shakapacker #321.
  • Fix support for Rails 8 #319
  • Deprecated rake js:routes:typescript. rake js:routes now automatically detects if types support can be used on not.

[2.2.10]

  • Remove sorbet files from repo
  • Clearly define files included in gem
  • Fix Middleware and Middleware generator bugs #316
  • Remove empty object linter warning on DTS module
  • Generators: Add .ts extension when searching for main JS file of the project

[2.2.9]

  • Fix middleware error for non-modern setup.
  • Added Sorbet method signatures.
  • Always use DTS module type when calling JsRoutes.definitions or .definitions!. #313

[2.2.8]

  • Leave emoji symbols intact when encoding URI fragment #312
  • Use webpacker config variable instead of hardcode #309
  • Use File.exist? to be compatible with all versions of ruby #310

[2.2.7]

  • Fix ESM Tree Shaking #306

[2.2.6]

  • Prefer to extend javascript:build instead of assets:precompile. #305
  • Add stimulus framework application.js location to generators

[2.2.5]

  • Upgraded eslint and prettier versions #304
  • Fix middleware generator #300
  • Support params special parameter

[2.2.4]

  • Fix rails engine loading if sprockets is not in Gemfile. Fixes #294

[2.2.3]

  • Fixed NIL module type namespace defintion #297.
    • The patch may cause a problem with nested namespace option.
    • Ex. Value like MyProject.Routes requires to define window.MyProject before importing the routes file

[2.2.2]

  • Fix custom file path #295

[2.2.1]

  • Improve generator to update route files on assets:precompile and add them to .gitignore by default #288

[2.2.0]

  • Use Rack Middleware to automatically update routes file in development #288
    • This setup is now a default recommended due to lack of any downside comparing to ERB Loader and Manual Setup

[2.1.3]

  • Fix default_url_options bug. #290

[2.1.2]

  • Improve browser window object detection. #287

[2.1.1]

  • Added webpacker generator ./bin/rails generate js_routes:webpacker
  • Reorganized Readme to describe different setups with their pros and cons more clearly

[2.1.0]

  • Support typescript defintions file aka routes.d.ts. See Readme.md for more information.

[2.0.8]

  • Forbid usage of namespace option if module_type is not nil. #281.

[2.0.7]

  • Remove source map annotation from JS file. Fixes #277
    • Generated file is not minified, so it is better to use app side bundler/compressor for source maps

[2.0.6]

  • Disable namespace option default for all envs #278

[2.0.5]

  • Fixed backward compatibility issue #276

[2.0.4]

  • Fixed backward compatibility issue #275

[2.0.3]

  • Fixed backward compatibility issue #275

[2.0.2]

  • Fixed backward compatibility issue #274

[2.0.1]

  • Fixed backward compatibility issue #272

[2.0.0]

Version 2.0 has some breaking changes. See UPGRADE TO 2.0 for guidance.

  • module_type option support
  • documentation option spport
  • Migrated implementation to typescript
  • ESM tree shaking support
  • Support camel case toParam version of to_param property

v1.4.14

  • Fix compatibility with UMD modules #237 Comment

v1.4.13

  • Improve compatibility with node environment #269.
  • Change default file location configuration to Webpacker if both Webpacker and Sprockets are loaded

v1.4.11

  • Use app/javascript/routes.js as a default file location if app/javascript directory exists
  • Add default export for better experience when used as es6 module

v1.4.10

  • Require engine only when sprockets is loaded #257.

v1.4.9

  • Allow to specify null namespace and receive routes as an object without assigning it anywhere #247

v1.4.7

  • Fix a LocalJumpError on secondary initialization of the app #248

v1.4.6

  • Fix regression of #244 in #243

v1.4.5

  • Fix escaping inside route parameters and globbing #244

v1.4.4

  • More informative stack trace for ParameterMissing error #235

v1.4.3

  • Proper implementation of the :subdomain option in routes generation

v1.4.2

  • Added JsRoutes namespace to Engine #230

v1.4.1

  • Fixed bug when js-routes is used in envs without window.location #224

v1.4.0

  • Implemented Routes.config() and Routes.configure instead of Routes.defaults

New methods support 4 options at the moment:

Routes.configuration(); // =>
/*
{
  prefix: "",
  default_url_options: {},
  special_options_key: '_options',
  serializer: function(...) { ... }
}
*/

Routes.configure({
 prefix: '/app',
 default_url_options: {format: 'json'},
 special_options_key: '_my_options_key',
 serializer: function(...) { ... }
});

v1.3.3

  • Improved optional parameters support #216

v1.3.2

  • Added application option #214

v1.3.1

  • Raise error object with id null passed as route paramter #209
  • Sprockets bugfixes #212

v1.3.0

  • Introduce the special _options key. Fixes #86

v1.2.9

  • Fixed deprecation varning on Sprockets 3.7

v1.2.8

  • Bugfix warning on Sprockets 4.0 #202

v1.2.7

  • Drop support 1.9.3
  • Add helper for indexOf, if no native implementation in JS engine
  • Add sprockets3 compatibility
  • Bugfix domain defaults to path #197

v1.2.6

  • Use default prefix from Rails.application.config.relative_url_root #186
  • Bugfix route globbing with optional fragments bug #191

v1.2.5

  • Bugfix subdomain default parameter in routes #184
  • Bugfix infinite recursion in some specific route sets #183

v1.2.4

  • Additional bugfixes to support all versions of Sprockets: 2.x and 3.x

v1.2.3

  • Sprockets ~= 3.0 support

v1.2.2

  • Sprockets ~= 3.0 support
  • Support default parameters specified in route.rb file

v1.2.1

  • Fixes for Rails 5

v1.2.0

  • Support host, port and protocol inline parameters
  • Support host, port and protocol parameters given to a route explicitly
  • Remove all incompatibilities between Actiondispatch and js-routes

v1.1.2

  • Bugfix support nested object null parameters #164
  • Bugfix support for nested optional parameters #162 #163

v1.1.1

  • Bugfix regression in serialisation on blank strings caused by #155

v1.1.0

  • Ensure routes are loaded, prior to generating them #148
  • Use flat_map rather than map{...}.flatten #149
  • URL escape routes.rb url to fix bad URI(is not URI?) error #150
  • Fix for rails 5 - test rails-edge on travis allowing failure #151
  • Adds serializer option #155

v1.0.1

  • Support sprockets-3
  • Performance optimization of include/exclude options

v1.0.0

  • Add the compact mode #125
  • Add support for host, protocol, and port configuration #137
  • Routes path specs #135
  • Support Rails 4.2 and Ruby 2.2 #140

v0.9.9

  • Bugfix Rails Engine subapplication route generation when they are nested #120

v0.9.8

  • Support AMD/Require.js #111
  • Support trailing slash #106

v0.9.7

  • Depend on railties #97
  • Fix typeof error for IE #95
  • Fix testing on ruby-head #92
  • Correct thread safety issue in js-routes generation #90
  • Use the of operator to detect for to_param and id in objects #87