Fix:
- recompute
LL
object after callingsetLocale
in adapter-react #721
Feat:
- improved plural rules support for polnish #672
Fix:
- replace
lodash.merge
withjust-extend"
Feat:
- add support for
TypeScript
>5.1
Fix:
- avoid recomputing react context #684
Fix:
- correctly inject
typesafe-i18n
script inpackage.json
if block contains brackets #631
Fix:
extendDictionary
functionality to not mutate original object #618
Fix:
- make exporter work on
windows
again #600 - indentation of generated namespace function
Feature:
- add
deno
adapter
Fix:
utils
package
Fix:
- add missing
package.exports
Feature:
- add
extendDictionary
functionality
Feature:
- use
satisfies
operator where possible
Feature:
- run
runAfterGenerator
hook when using theimporter
#579
Feature:
- expose
experimentalParseMessage
andexperimentalSerializeMessage
functionality from'typesafe-i18n/parser'
Fix:
- actually publish
config
folder
Feature:
- expose
getConfig
andgetLocaleInformation
functionality from'typesafe-i18n/config'
Feature:
- allow to have strings with a comma inside switch-case statements #548
Bugfix:
- react
JSDoc
output
Fix:
- type-import for vue adapter
Feature:
- better esm support
Fix:
Fix:
- types for TypeScript moduleResolution 'Node16'
Fix:
- generator esm imports
Fix:
- generating types for namespaces when
outputFormat
is set toJavaScript
#491
Feature:
- make generator faster by improving the speed of the TypeScript compilation process
Feature:
- use type predicates for
isLocale
andisNamespace
utility functions #475 Fix: - add ReturnTypes to generated functions to prevent TypeScript performance issues
Feature:
- mask original text in
Translations
entries to not show up in search result while keeping the same hover behavior #453
Fix:
- make accept-language-header detector case insensitive #451
Feature:
- add
isLocale
andisNamespace
utility functions
Feature:
- don't require optional params in translations
Feature:
- make generator faster by improving the speed of the TypeScript compilation process
Fix:
- link correct types for React adapter
Feature:
- break out translation imports into it's own functions #384
Fix:
- exported type definitions
- internal package modifications
Feature:
- auto-setup
vue
adapter forNuxt.js
applications
Feature:
- allow to set multiple
adapters
#375
Feature:
- detect locale from request's
hostname
Fix:
- bundle 'svelte/store' together with cjs output
- replace
watchlist
withchokidar
#314
Fix:
- update
children
types for Solid adapter
Bugfix:
- buffer overflow on windows when using namespaces
- also trigger generator initially when starting watcher
Fix:
- documentation
- replace
chokidar
withwatchlist
Fix:
- update state with
batch
inside solid adapter
Fix:
- avoid recomputing SolidJS children #267
Fix:
- make generated types compatible with 'strictNullChecks: false'
- use
React.ReactNode
instead ofReact.ReactElement
Fix:
- add
children
to the type definitions of the react component #263
Fix:
- improve loading locale and namespace in parallel
Feature:
- allow loading locale and namespace in parallel
Fix:
- remove unnecessary comma on JSDoc type definitions
Bugfix:
- generation of hints when text contains comment-end-marker
Fix:
- add reactivity to solid adapter
Fix:
- for generating wrong destructuring code for react adapter
Feature:
- add
solid
adapter #193
Fix:
- merge definitions correctly if argument and switch-case get used in the same sentence
Bugfix:
- don't show TypeScript related Error message when using
JSDoc
syntax
Fix:
- load all locales before initialization of node adapter
Breaking: (will be auto-fixed by running the generator again)
- rename the adapter exports
Fix:
- hint in setup prompts should mention
.mjs
instead of.js
Please visit the release post for more information.
Feature:
- add
typesafeI18nString
andtypesafeI18nObject
functionality #88
BREAKING:
- remove functionality to run the generator via a
rollup
plugin - remove functionality to run the generator via a
webpack
plugin
Feature:
- expose the list of available
namespaces
ini18n-util.ts
Bugfix:
- fix
importer
generating.mjs
imports
Bugfix:
- fix
exporter
Bugfix:
- fix generation of types when using the
importer
feature
Fix:
- show error message if
BaseTranslation
gets not imported from the generatedi18n-types
file
Fix:
- allow to load only namespaces #189
Fix:
- possible timeout fix for
runAfterGenerator
hook #185
Fix:
- mock
Request
type fromexpress
for detectors
Fix:
- refactor
RequiredParams
to not use// @ts-ignore
comments
Feature:
- use generic
RequiredParams
type instead of creating it for each params-permutation
Fix:
- add missing await on writes of new files
Fix:
- remove double slash ('//') from generator logs
Feature:
- provide a
runAfterGenerator
hook #185
Fix:
- remove sourcemaps from generated bundle #179
Bugfix:
- fix
importer
creating incorrect translations
Bugfix:
- generate valid types for uncommon identifiers #177
Bugfix:
- translation breaks with key called name
name
#170
Feature:
- add
namespaces
support forimporter
andexporter
Please visit the release post for more information.
Feature:
- add 'namespaces' functionality #113
BREAKING:
- if you have a
index
-file in a subfolder of your translation files, it will be treated as anamespace
Bugfix:
- fix react adapter
Fix:
- missing index.d.ts in importer #167
Feature:
- allow iterating over arrays defined in the dictionary
- render an empty string, if key is not valid
Please visit the release post for more information.
BREAKING:
- locales have to be loaded in a separate step
- remove
loadLocalesAsync
option from generator - formatters have to be initialized synchronously
closes:
Fix:
- revert changes made to fallbackProxy #157
Feature:
- add functionality to loop over arrays #152
Feature:
- add support for JSON files #151
Feature: add better support for monorepos #149
- add troubleshoot section for jest issues #140
- add troubleshoot section for installing issues #142
- show sponsorship message after running the setup-process
Fix:
- rename Vue.js exports
Bugfix:
- fix CLI script
Feature:
- add
vue
adapter (for vue@3) #121
Feature:
- support
pnpm
as package manager when running the setup-cli #138
Fix:
- fix type definition of TranslationFunction for Typescript > 4.5.x [#136][ivanhofer#136)
Feature:
- add switch-case support #135
Bugfix:
- fix Proxy-access #133
Bugfix:
- fix Proxy-access for CJS projects #131
- decrease bundle size by a few bytes by removing Angular proxy wrapping on general Proxy instances
Fix:
BaseTranslation
type for TypeScript version < 4.4.x #127
Feature:
- expose
parser
function
Fix:
- add
$schema
to json schema definition
Fix:
- detect if project uses
npm
oryarn
on CLI setup process
Feature:
- add validation of config #112
Feature:
- add support for arrays #123
Bugfix:
- fix CLI setup
- upgrade to node 16
Fix:
- default export of generated Locale template file for SvelteKit
Fix:
- don't run the generator on CLI setup; show info instead
Bugfix:
- add
typescript
as peer dependency
Bugfix:
- include
chokidar
into bundle
Fix:
- SvelteKit workaround for
esmModule
setup detection
Feature:
- setup CLI
Feature:
- create typesafe-i18n
CLI
Feature:
- add option to prevent type updates when importing translations
Bugfix:
- wrap translation with correct characters #114
Fix:
- expose type
LocaleMapping
insideimporter
andexporter
Bugfix:
- fix
typescript
import insideimporter
andexporter
Fix:
- change everything to relative imports so types are resolved correctly
Bugfix:
- fix import path for windows/other and esm/cjs matrix
Bugfix:
- wrap imported keys with string #110
Fix:
- show warning when trying to import empty locale
- expose
importer
andexporter
asesm
andcjs
module
Bugfix:
- fix import path on windows #108
Feature:
- add
exporter
feature [#106](ivanhofer#106
Feature:
- reduce size of
i18n
(L) by removing unnecessary Error message
Fix:
- detect changes to base translation when using outputFormat: 'JavaScript' #105
Bugfix:
- generate types for
importer
Fix:
- fix variable declaration of
JavaScript
locale template to be able to display type errors
Feature:
- export generator as
esm
module to make it compatible withSvelteKit
inJavaScript
mode
Fix:
- actually include
importer
innpm
package
Feature:
- add
importer
feature [#69](ivanhofer#69
Breaking:
- get rid of
locales
as generator-config
Feature:
- add support for optional parameters [#86](ivanhofer#86
- show link to
config
-README on first start of thegenerator
Feature:
- add angular adapter
- add full
esm
support for adapters
Bugfix:
- fix import folders when using
esm
support
Feature:
- add full
esm
support #80
Feature:
- throw an Error when generator detects wrong input syntax when running with
--no-watch
option
Bugfix:
- correctly detect changes in files imported by
[baseLocale]/index.ts
#76
Bugfix:
- allow to generate base files if base locale is not present yet
Fix:
- import path of types for
time
formatter
Fix:
- generate unique argument types for
Formatters
type #75
Feature:
- allow to import files to the base locale file from outside of the base locale folder location
Fix:
- mark
chokidar
as dev dependency #73
Fix:
- fix all 'esm' and 'cjs' imports to include file ending
Fix:
- export files from 'cjs' folder as
.cjs
files
Fix:
- export files from 'esm' folder as
.mjs
files
Bugfix:
- remove
browser
property frompackage.json
to support older Angular versions
Feature:
- add option to generate type-safe JavaScript code trough JSDoc annotations
Readme:
- add polyfill info
Feature:
- add support for Angular's Proxy implementation
Feature:
- add
LocalizedString
to known types
Bugfix:
- fix
esm
output forreact
adapter
Fix:
- make formatters tree-shakeable
- make detectors tree-shakeable
Feature:
- output formatters as
cjs
andesm
module
Fix:
- show translations on first render for sync react adapter
Feature:
- output svelte adapter as
cjs
andesm
module
Fix:
- fix
cjs
andesm
import mappings
Feature:
- output react adapter as
cjs
andesm
module
Feature:
- add
--no-watch
option to generator node process
Feature:
- make
TranslationFunctions
return aLocalizedString
- add
banner
option to make it possible to disable linting not just for ESLint
Fix:
- fix react adapter #49
Fix:
- fix wrong types for react and svelte adapters
Fix:
- temporary fix for wrong tsc compilation for react and svelte adapters
- correctly set formatter path for react adapter
Feature:
- add support for nested translation keys
- show colorized error-output in console
Fix:
- don't generate types when validation failed
Breaking:
- translation keys can't contain the '.' character
Other:
- don't generate type
TranslationKeys
anymore
- rename
watcher
togenerator
Fix:
- inlude
detectors
files in npm package
Feature:
- add locale-detection feature
Fix:
- use correct file extension when generating react context
Fix:
- fix path for generating schema file
- better type-definitions for formatter functions
Feature:
- add generateOnlyTypes option
- add identity formatter
- add ignore formatter
Readme:
- create FAQ section
Fix:
- wrap types of Formatters in a
string
to be able to use any kind of formatter name
Fix:
- mark
chokidar
as peer dependency
Fix:
- explicitly type parameter
locale
ininitFormatters
function
Fix:
- use path with implicit version for
"$schema"
in./typesafe-i18n.json
because redirects are not valid for json schemas
Feature:
- add json-schema for
./typesafe-i18n.json
config file
Examples:
- update dependencies
- update dependencies
Bugfix:
- better types for
TranslationFunctions
Fix:
- remove
.toString()
functionality #27
Feature:
- add support for plural rule
{{zero|one|other}}
Fix:
- detect
0
and'0'
always as'zero'
instead of'other'
Examples:
- update to latest
typesafe-i18n
version
Fix:
- mark node script as node executable
Examples:
- update to latest
typesafe-i18n
version
Fix:
- run watcher via
bin
-field inpackage.json
#30
Feature:
- add unix support for watcher #29
- add CHANGELOG file
Fix:
- add deprecation message for
.toString()
functionality #27
Features:
- add webpack plugin to run watcher in development mode
Bugfix:
- log watcher-options on startup
Readme:
- better describe watcher node-process as fallback for users without supported bundlers
Examples:
- update to latest
typesafe-i18n
version
Fix:
- remove a unecessary semicolumn from generated output
- update dependencies
- upload generated browser bundles as GitHub Action artifact
Feature:
- allow to include only selected locales into generated bundle using the rollup-plugin
Fix:
- use
baseLocale
variable as fallback instead of plain string representation insidei18n-util.ts
Readme:
- better describe
locales
option from production bundles
Bugfix:
- correctly type
initI18nString
insidei18n-util.ts
Readme:
- describe
toString
functionality usingi18nObject
(LL)
Feature;
- add
toString
functionality toi18nObject
(LL)
Readme:
- update size information
Readme:
- fix intendation
Feature:
- refactor
typesafe-i18n
react-component
Security:
- update dependencies
Examples:
- fix intendation and syntax-highlighting in react README
Readme:
- better describe
rollup-plugin-typesafe-i18n
Examples:
- describe how to use with JavaScript in react README
Feature:
- rewrite react adapter using a component instead of hook
Fix:
- use wattcher or optimizer rollup plugin depending on rollup environment
Feature:
- add react JavaScript adapter
Fix:
- generate async
i18nString
wrapper insidei18n-utils.ts
Examples:
- fix intendation in react README
Examples:
- add react example
Feature:
- add react TypeScript adapter
Readme:
- improve screenshots by cropping VS Code frame
Readme:
- highlight possible improvements
Feature:
- remove argument-types inside translations for production-bundle #13
Examples:
- fix labels in svelte example
Examples:
- update to latest
typesafe-i18n
version
Fix:
- import svelte adapter from correct file
Fix:
- export svelte JavaScript adapter
Feature:
- generate async formatters initializer
Fix:
- rename exported functions
Readme:
- decrease gif file size
Fix:
- reduce bundle size by inlining functions from
typesafe-utils
Readme:
- fix formatter example
Readme:
- add status badges
Readme:
- highlight advantages
- add table of contents
- add performance section
Readme:
- improvements
Readme:
- improvements
Readme:
- increase font size of images
Fix:
- export svelte store from adapters subpath
Readme:
- increase font size of images
Readme:
- add gif demonstrating typesafety
Readme:
- link images to correct raw file
Readme:
- add images demonstrating typesafety
Feature:
- allow first part to be plural part when using keyed arguments
Feature:
- allow translations with only plural part
Readme:
- specify minimum Node.js version
Examples:
- add browser example
- describe how to use with JavaScript in svelte README
Feature:
- export svelte JavaScript store
Readme:
- improvements
Fix:
- add export maps for svelte adapter
Examples:
- add Node.js readme
Examples:
- add Node.js example
Feature:
- export base locale in
i18n-utils.ts
Fix:
- improve Node.js adapter
Examples:
- update svelte-Example
Examples:
- move svelte documentation to svelte example
Feature:
- use base locale as fallback if wrong locale was passed during initialization
Feature:
- add Node.js adapter
- add possibility to define different adapters
- allow to rename adapter file name
Examples:
- add readme for svelte example
Examples:
- add svelte example
Bugfix:
- dont throw Error when
setLocale
is called beforeinit
in svelte-adapter
Bugfix:
- correctly set current selected locale in svelte store
- add possibility to output svelte as synchronous store
Bugfix:
- fix synchronous output of
i18n-utils.ts
- initial release of project under
typesafe-i18n
name