i18n-js 3.9.0 → 4.0.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +4 -0
  3. data/.github/FUNDING.yml +1 -1
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +41 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +23 -0
  6. data/.github/PULL_REQUEST_TEMPLATE.md +38 -0
  7. data/.github/dependabot.yml +15 -0
  8. data/.github/workflows/ruby-tests.yml +61 -0
  9. data/.gitignore +11 -7
  10. data/.rubocop.yml +12 -0
  11. data/CHANGELOG.md +12 -553
  12. data/CODE_OF_CONDUCT.md +74 -0
  13. data/CONTRIBUTING.md +79 -0
  14. data/Gemfile +3 -0
  15. data/LICENSE.md +20 -0
  16. data/README.md +86 -1041
  17. data/Rakefile +10 -20
  18. data/exe/i18n +5 -0
  19. data/i18n-js.gemspec +47 -29
  20. data/lib/guard/i18n-js/templates/Guardfile +10 -0
  21. data/lib/guard/i18n-js/version.rb +13 -0
  22. data/lib/guard/i18n-js.rb +78 -0
  23. data/lib/i18n-js/cli/command.rb +43 -0
  24. data/lib/i18n-js/cli/export_command.rb +108 -0
  25. data/lib/i18n-js/cli/init_command.rb +50 -0
  26. data/lib/i18n-js/cli/ui.rb +30 -0
  27. data/lib/i18n-js/cli/version_command.rb +18 -0
  28. data/lib/i18n-js/cli.rb +47 -0
  29. data/lib/i18n-js/listen.rb +80 -0
  30. data/lib/i18n-js/schema.rb +92 -0
  31. data/lib/i18n-js/version.rb +5 -0
  32. data/lib/i18n-js.rb +66 -1
  33. metadata +122 -196
  34. data/.editorconfig +0 -24
  35. data/.github/workflows/tests.yaml +0 -100
  36. data/.npmignore +0 -27
  37. data/Appraisals +0 -44
  38. data/app/assets/javascripts/i18n/filtered.js.erb +0 -23
  39. data/app/assets/javascripts/i18n/shims.js +0 -240
  40. data/app/assets/javascripts/i18n/translations.js +0 -3
  41. data/app/assets/javascripts/i18n.js +0 -1095
  42. data/gemfiles/i18n_0_6.gemfile +0 -7
  43. data/gemfiles/i18n_0_7.gemfile +0 -7
  44. data/gemfiles/i18n_0_8.gemfile +0 -7
  45. data/gemfiles/i18n_0_9.gemfile +0 -7
  46. data/gemfiles/i18n_1_0.gemfile +0 -7
  47. data/gemfiles/i18n_1_1.gemfile +0 -7
  48. data/gemfiles/i18n_1_2.gemfile +0 -7
  49. data/gemfiles/i18n_1_3.gemfile +0 -7
  50. data/gemfiles/i18n_1_4.gemfile +0 -7
  51. data/gemfiles/i18n_1_5.gemfile +0 -7
  52. data/gemfiles/i18n_1_6.gemfile +0 -7
  53. data/gemfiles/i18n_1_7.gemfile +0 -7
  54. data/gemfiles/i18n_1_8.gemfile +0 -7
  55. data/i18njs.png +0 -0
  56. data/lib/i18n/js/dependencies.rb +0 -63
  57. data/lib/i18n/js/engine.rb +0 -87
  58. data/lib/i18n/js/fallback_locales.rb +0 -70
  59. data/lib/i18n/js/formatters/base.rb +0 -25
  60. data/lib/i18n/js/formatters/js.rb +0 -39
  61. data/lib/i18n/js/formatters/json.rb +0 -13
  62. data/lib/i18n/js/middleware.rb +0 -82
  63. data/lib/i18n/js/private/config_store.rb +0 -31
  64. data/lib/i18n/js/private/hash_with_symbol_keys.rb +0 -36
  65. data/lib/i18n/js/segment.rb +0 -81
  66. data/lib/i18n/js/utils.rb +0 -91
  67. data/lib/i18n/js/version.rb +0 -7
  68. data/lib/i18n/js.rb +0 -274
  69. data/lib/rails/generators/i18n/js/config/config_generator.rb +0 -19
  70. data/lib/rails/generators/i18n/js/config/templates/i18n-js.yml +0 -27
  71. data/lib/tasks/export.rake +0 -8
  72. data/package.json +0 -25
  73. data/spec/fixtures/custom_path.yml +0 -5
  74. data/spec/fixtures/default.yml +0 -5
  75. data/spec/fixtures/erb.yml +0 -5
  76. data/spec/fixtures/except_condition.yml +0 -7
  77. data/spec/fixtures/js_available_locales_custom.yml +0 -1
  78. data/spec/fixtures/js_export_dir_custom.yml +0 -7
  79. data/spec/fixtures/js_export_dir_none.yml +0 -6
  80. data/spec/fixtures/js_extend_parent.yml +0 -6
  81. data/spec/fixtures/js_extend_segment.yml +0 -6
  82. data/spec/fixtures/js_file_per_locale.yml +0 -7
  83. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_default_locale_symbol.yml +0 -4
  84. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_hash.yml +0 -6
  85. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale.yml +0 -4
  86. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale_without_fallback_translations.yml +0 -4
  87. data/spec/fixtures/js_file_per_locale_with_fallbacks_enabled.yml +0 -4
  88. data/spec/fixtures/js_file_per_locale_without_fallbacks.yml +0 -4
  89. data/spec/fixtures/js_file_with_namespace_prefix_and_pretty_print.yml +0 -9
  90. data/spec/fixtures/js_sort_translation_keys_false.yml +0 -6
  91. data/spec/fixtures/js_sort_translation_keys_true.yml +0 -6
  92. data/spec/fixtures/json_only.yml +0 -18
  93. data/spec/fixtures/locales.yml +0 -133
  94. data/spec/fixtures/merge_plurals.yml +0 -6
  95. data/spec/fixtures/merge_plurals_with_no_overrides.yml +0 -4
  96. data/spec/fixtures/merge_plurals_with_partial_overrides.yml +0 -4
  97. data/spec/fixtures/millions.yml +0 -4
  98. data/spec/fixtures/multiple_conditions.yml +0 -7
  99. data/spec/fixtures/multiple_conditions_per_locale.yml +0 -7
  100. data/spec/fixtures/multiple_files.yml +0 -7
  101. data/spec/fixtures/no_config.yml +0 -2
  102. data/spec/fixtures/no_scope.yml +0 -4
  103. data/spec/fixtures/simple_scope.yml +0 -5
  104. data/spec/js/currency.spec.js +0 -62
  105. data/spec/js/current_locale.spec.js +0 -19
  106. data/spec/js/dates.spec.js +0 -276
  107. data/spec/js/defaults.spec.js +0 -31
  108. data/spec/js/extend.spec.js +0 -110
  109. data/spec/js/interpolation.spec.js +0 -124
  110. data/spec/js/jasmine/MIT.LICENSE +0 -20
  111. data/spec/js/jasmine/jasmine-html.js +0 -190
  112. data/spec/js/jasmine/jasmine.css +0 -166
  113. data/spec/js/jasmine/jasmine.js +0 -2476
  114. data/spec/js/jasmine/jasmine_favicon.png +0 -0
  115. data/spec/js/json_parsable.spec.js +0 -14
  116. data/spec/js/locales.spec.js +0 -31
  117. data/spec/js/localization.spec.js +0 -78
  118. data/spec/js/numbers.spec.js +0 -174
  119. data/spec/js/placeholder.spec.js +0 -24
  120. data/spec/js/pluralization.spec.js +0 -219
  121. data/spec/js/prepare_options.spec.js +0 -41
  122. data/spec/js/require.js +0 -2083
  123. data/spec/js/specs.html +0 -49
  124. data/spec/js/specs_requirejs.html +0 -72
  125. data/spec/js/translate.spec.js +0 -304
  126. data/spec/js/translations.js +0 -188
  127. data/spec/js/utility_functions.spec.js +0 -20
  128. data/spec/ruby/i18n/js/fallback_locales_spec.rb +0 -84
  129. data/spec/ruby/i18n/js/segment_spec.rb +0 -286
  130. data/spec/ruby/i18n/js/utils_spec.rb +0 -138
  131. data/spec/ruby/i18n/js_spec.rb +0 -797
  132. data/spec/spec_helper.rb +0 -80
  133. data/yarn.lock +0 -138
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08599ed12ef6edb132d1a71b74e5ca2f3b3c04dc4463286414540f4631676984'
4
- data.tar.gz: 3dd94b7a9974952a5cb7996c222d1aaeb3e5c756cc811a8890e4d5fa79ffccb3
3
+ metadata.gz: d07791eb7f9b879e4d5e6edd43d10564a5efad2f44e3ac0ddd2c892696dbd28b
4
+ data.tar.gz: cab23b9274ee26513b48974dd307ad020a1ad3ba88bb36756397d6c47223ffb4
5
5
  SHA512:
6
- metadata.gz: 26138b1fafc184b7858a97969130f29f9562cdaab41d1f05c1e31a37064a2f40a31b4d0a349e12ddaa6f769ab229618a854efaee0102f99821edd489b9d1deb5
7
- data.tar.gz: d763f7ebe8d1bba649c521bba03fa7fb77e4283b90ce6f1a1bb78ebf22dc7146f4e2eb02484f7d9f104d4d5454d90d0622af14128c6b383cd399e52aabaaf08b
6
+ metadata.gz: 0d0bb95c8e0f01bed11eced7859d6f40d032ca85a03f458d515a4cdcc444a194f315b22db39f0d6956c45951a1cf8e3e28ab06a11abb6165ca7dc5d6fa07baa1
7
+ data.tar.gz: a7afe30f6f81a9b7536cb5be2a26112825bd5324443d9fe7edb43779c6084e2c4d4e439814f4458853a6ffaf540afdfc0640f8be2a7cb428b46c45c83313d0bb
@@ -0,0 +1,4 @@
1
+ # You can read more about CODEOWNERS at
2
+ # https://help.github.com/github/creating-cloning-and-archiving-repositories/about-code-owners
3
+
4
+ * @fnando
data/.github/FUNDING.yml CHANGED
@@ -1,3 +1,3 @@
1
1
  ---
2
- github: ["fnando"]
2
+ github: [fnando]
3
3
  custom: ["https://paypal.me/nandovieira/🍕"]
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: "🐛 Bug Report"
3
+ about: Report a reproducible bug or regression.
4
+ title: 'Bug: '
5
+ labels: 'Status: Unconfirmed'
6
+
7
+ ---
8
+
9
+ <!--
10
+ - Please provide a clear and concise description of what the bug is.
11
+ - If possible, add an example reproducing your issue.
12
+ - Please test using the latest version of i18n-js
13
+ to make sure your issue has not already been fixed.
14
+ -->
15
+
16
+ ## Description
17
+
18
+ [Add bug description here]
19
+
20
+ ## How to reproduce
21
+
22
+ [Add steps on how to reproduce this issue]
23
+
24
+ ## What do you expect
25
+
26
+ [Describe what do you expect to happen]
27
+
28
+ ## What happened instead
29
+
30
+ [Describe the actual results]
31
+
32
+ ## Software:
33
+
34
+ - Gem version: [Add gem version here]
35
+ - Ruby version: [Add version here]
36
+
37
+ ## Full backtrace
38
+
39
+ ```text
40
+ [Paste full backtrace here]
41
+ ```
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: "💡 Feature request"
3
+ about: Have an idea that may be useful? Make a suggestion!
4
+ title: 'Feature Request: '
5
+ labels: 'Feature request'
6
+
7
+ ---
8
+
9
+ ## Description
10
+
11
+ _A clear and concise description of what the problem is._
12
+
13
+ ## Describe the solution
14
+
15
+ _A clear and concise description of what you want to happen._
16
+
17
+ ## Alternatives you considered
18
+
19
+ _A clear and concise description of any alternative solutions or features you've considered._
20
+
21
+ ## Additional context
22
+
23
+ _Add any other context, screenshots, links, etc about the feature request here._
@@ -0,0 +1,38 @@
1
+ <!--
2
+ If you're making a doc PR or something tiny where the below is irrelevant,
3
+ delete this template and use a short description, but in your description aim to
4
+ include both what the change is, and why it is being made, with enough context
5
+ for anyone to understand.
6
+ -->
7
+
8
+ <details>
9
+ <summary>PR Checklist</summary>
10
+
11
+ ### PR Structure
12
+
13
+ - [ ] This PR has reasonably narrow scope (if not, break it down into smaller
14
+ PRs).
15
+ - [ ] This PR avoids mixing refactoring changes with feature changes (split into
16
+ two PRs otherwise).
17
+ - [ ] This PR's title starts is concise and descriptive.
18
+
19
+ ### Thoroughness
20
+
21
+ - [ ] This PR adds tests for the most critical parts of the new functionality or
22
+ fixes.
23
+ - [ ] I've updated any docs, `.md` files, etc… affected by this change.
24
+
25
+ </details>
26
+
27
+ ### What
28
+
29
+ [TODO: Short statement about what is changing.]
30
+
31
+ ### Why
32
+
33
+ [TODO: Why this change is being made. Include any context required to understand
34
+ the why.]
35
+
36
+ ### Known limitations
37
+
38
+ [TODO or N/A]
@@ -0,0 +1,15 @@
1
+ ---
2
+ # Documentation:
3
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
4
+
5
+ version: 2
6
+ updates:
7
+ - package-ecosystem: "github-actions"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "daily"
11
+
12
+ - package-ecosystem: "bundler"
13
+ directory: "/"
14
+ schedule:
15
+ interval: "daily"
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: ruby-tests
3
+
4
+ on:
5
+ pull_request:
6
+ branches:
7
+ - main
8
+
9
+ push:
10
+ branches:
11
+ - main
12
+ - v4
13
+
14
+ schedule:
15
+ - cron: "0 10 * * *"
16
+
17
+ workflow_dispatch:
18
+ inputs: {}
19
+
20
+ jobs:
21
+ build:
22
+ name: Tests with Ruby ${{ matrix.ruby }} and ${{ matrix.gemfile }}
23
+ runs-on: "ubuntu-latest"
24
+ strategy:
25
+ fail-fast: false
26
+ matrix:
27
+ ruby: [2.6.x, 2.7.x, 3.0.x]
28
+ gemfile:
29
+ - Gemfile
30
+
31
+ steps:
32
+ - uses: actions/checkout@v1
33
+
34
+ - uses: actions/cache@v2
35
+ with:
36
+ path: vendor/bundle
37
+ key: >
38
+ ${{ runner.os }}-${{ matrix.ruby }}-gems-${{
39
+ hashFiles(matrix.gemfile) }}
40
+ restore-keys: >
41
+ ${{ runner.os }}-${{ matrix.ruby }}-gems-${{
42
+ hashFiles(matrix.gemfile) }}
43
+
44
+ - name: Set up Ruby
45
+ uses: actions/setup-ruby@v1
46
+ with:
47
+ ruby-version: ${{ matrix.ruby }}
48
+
49
+ - name: Install gem dependencies
50
+ env:
51
+ BUNDLE_GEMFILE: ${{ matrix.gemfile }}
52
+ run: |
53
+ gem install bundler
54
+ bundle config path vendor/bundle
55
+ bundle update --jobs 4 --retry 3
56
+
57
+ - name: Run Tests
58
+ env:
59
+ BUNDLE_GEMFILE: ${{ matrix.gemfile }}
60
+ run: |
61
+ bundle exec rake
data/.gitignore CHANGED
@@ -1,7 +1,11 @@
1
- pkg
2
- node_modules
3
- Gemfile.lock
4
- .idea/
5
- coverage/
6
- gemfiles/*.gemfile.lock
7
- gemfiles/.bundle
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+ /vendor/
10
+ *.log
11
+ *.lock
data/.rubocop.yml ADDED
@@ -0,0 +1,12 @@
1
+ ---
2
+ inherit_gem:
3
+ rubocop-fnando: .rubocop.yml
4
+
5
+ AllCops:
6
+ TargetRubyVersion: 2.6
7
+ NewCops: enable
8
+
9
+ Naming/FileName:
10
+ Exclude:
11
+ - lib/i18n-js.rb
12
+ - lib/guard/i18n-js.rb