shakapacker 8.0.2 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.eslintignore +1 -0
- data/.eslintrc.fast.js +40 -0
- data/.eslintrc.js +48 -0
- data/.github/STATUS.md +1 -0
- data/.github/workflows/claude-code-review.yml +54 -0
- data/.github/workflows/claude.yml +50 -0
- data/.github/workflows/dummy.yml +9 -4
- data/.github/workflows/generator.yml +32 -10
- data/.github/workflows/node.yml +23 -1
- data/.github/workflows/ruby.yml +33 -2
- data/.github/workflows/test-bundlers.yml +170 -0
- data/.gitignore +20 -0
- data/.husky/pre-commit +2 -0
- data/.npmignore +56 -0
- data/.prettierignore +3 -0
- data/.rubocop.yml +1 -0
- data/.yalcignore +26 -0
- data/CHANGELOG.md +302 -16
- data/CLAUDE.md +29 -0
- data/CONTRIBUTING.md +138 -20
- data/Gemfile.lock +83 -89
- data/README.md +343 -105
- data/Rakefile +39 -4
- data/TODO.md +50 -0
- data/TODO_v9.md +87 -0
- data/bin/export-bundler-config +11 -0
- data/conductor-setup.sh +70 -0
- data/conductor.json +7 -0
- data/docs/cdn_setup.md +379 -0
- data/docs/common-upgrades.md +615 -0
- data/docs/css-modules-export-mode.md +512 -0
- data/docs/deployment.md +62 -9
- data/docs/optional-peer-dependencies.md +198 -0
- data/docs/peer-dependencies.md +60 -0
- data/docs/react.md +6 -14
- data/docs/releasing.md +197 -0
- data/docs/rspack.md +190 -0
- data/docs/rspack_migration_guide.md +305 -0
- data/docs/subresource_integrity.md +54 -0
- data/docs/transpiler-migration.md +209 -0
- data/docs/transpiler-performance.md +179 -0
- data/docs/troubleshooting.md +157 -22
- data/docs/typescript-migration.md +379 -0
- data/docs/typescript.md +99 -0
- data/docs/using_esbuild_loader.md +3 -3
- data/docs/using_swc_loader.md +112 -10
- data/docs/v6_upgrade.md +10 -0
- data/docs/v8_upgrade.md +3 -5
- data/docs/v9_upgrade.md +458 -0
- data/gemfiles/Gemfile-rails.6.0.x +2 -1
- data/gemfiles/Gemfile-rails.6.1.x +1 -1
- data/gemfiles/Gemfile-rails.7.0.x +2 -2
- data/gemfiles/Gemfile-rails.7.1.x +1 -2
- data/gemfiles/Gemfile-rails.7.2.x +11 -0
- data/gemfiles/Gemfile-rails.8.0.x +11 -0
- data/lib/install/bin/export-bundler-config +11 -0
- data/lib/install/bin/shakapacker +4 -6
- data/lib/install/bin/shakapacker-dev-server +1 -1
- data/lib/install/config/rspack/rspack.config.js +6 -0
- data/lib/install/config/rspack/rspack.config.ts +7 -0
- data/lib/install/config/shakapacker.yml +25 -5
- data/lib/install/config/webpack/webpack.config.ts +7 -0
- data/lib/install/package.json +38 -0
- data/lib/install/template.rb +194 -44
- data/lib/shakapacker/bundler_switcher.rb +329 -0
- data/lib/shakapacker/compiler.rb +2 -1
- data/lib/shakapacker/compiler_strategy.rb +2 -2
- data/lib/shakapacker/configuration.rb +173 -2
- data/lib/shakapacker/dev_server_runner.rb +29 -8
- data/lib/shakapacker/digest_strategy.rb +2 -1
- data/lib/shakapacker/doctor.rb +905 -0
- data/lib/shakapacker/helper.rb +64 -16
- data/lib/shakapacker/manifest.rb +10 -3
- data/lib/shakapacker/mtime_strategy.rb +1 -1
- data/lib/shakapacker/railtie.rb +4 -4
- data/lib/shakapacker/rspack_runner.rb +19 -0
- data/lib/shakapacker/runner.rb +159 -10
- data/lib/shakapacker/swc_migrator.rb +384 -0
- data/lib/shakapacker/utils/manager.rb +15 -2
- data/lib/shakapacker/version.rb +1 -1
- data/lib/shakapacker/version_checker.rb +2 -2
- data/lib/shakapacker/webpack_runner.rb +6 -43
- data/lib/shakapacker.rb +22 -11
- data/lib/tasks/shakapacker/doctor.rake +8 -0
- data/lib/tasks/shakapacker/export_bundler_config.rake +72 -0
- data/lib/tasks/shakapacker/install.rake +12 -2
- data/lib/tasks/shakapacker/migrate_to_swc.rake +13 -0
- data/lib/tasks/shakapacker/switch_bundler.rake +82 -0
- data/lib/tasks/shakapacker.rake +2 -0
- data/package/.npmignore +4 -0
- data/package/babel/preset.ts +56 -0
- data/package/config.ts +175 -0
- data/package/configExporter/cli.ts +683 -0
- data/package/configExporter/configDocs.ts +102 -0
- data/package/configExporter/fileWriter.ts +92 -0
- data/package/configExporter/index.ts +5 -0
- data/package/configExporter/types.ts +36 -0
- data/package/configExporter/yamlSerializer.ts +266 -0
- data/package/{dev_server.js → dev_server.ts} +8 -5
- data/package/env.ts +92 -0
- data/package/environments/__type-tests__/rspack-plugin-compatibility.ts +30 -0
- data/package/environments/{base.js → base.ts} +56 -60
- data/package/environments/development.ts +90 -0
- data/package/environments/production.ts +80 -0
- data/package/environments/test.ts +53 -0
- data/package/environments/types.ts +98 -0
- data/package/esbuild/index.ts +42 -0
- data/package/index.d.ts +3 -60
- data/package/index.ts +55 -0
- data/package/loaders.d.ts +28 -0
- data/package/optimization/rspack.ts +36 -0
- data/package/optimization/webpack.ts +57 -0
- data/package/plugins/rspack.ts +103 -0
- data/package/plugins/webpack.ts +62 -0
- data/package/rspack/index.ts +64 -0
- data/package/rules/{babel.js → babel.ts} +2 -2
- data/package/rules/{coffee.js → coffee.ts} +1 -1
- data/package/rules/css.ts +3 -0
- data/package/rules/{erb.js → erb.ts} +1 -1
- data/package/rules/esbuild.ts +10 -0
- data/package/rules/file.ts +40 -0
- data/package/rules/{jscommon.js → jscommon.ts} +4 -4
- data/package/rules/{less.js → less.ts} +4 -4
- data/package/rules/raw.ts +25 -0
- data/package/rules/rspack.ts +176 -0
- data/package/rules/{sass.js → sass.ts} +7 -3
- data/package/rules/{stylus.js → stylus.ts} +4 -8
- data/package/rules/swc.ts +10 -0
- data/package/rules/webpack.ts +16 -0
- data/package/swc/index.ts +56 -0
- data/package/types/README.md +88 -0
- data/package/types/index.ts +61 -0
- data/package/types.ts +108 -0
- data/package/utils/configPath.ts +6 -0
- data/package/utils/debug.ts +49 -0
- data/package/utils/defaultConfigPath.ts +4 -0
- data/package/utils/errorCodes.ts +219 -0
- data/package/utils/errorHelpers.ts +143 -0
- data/package/utils/getStyleRule.ts +64 -0
- data/package/utils/helpers.ts +85 -0
- data/package/utils/{inliningCss.js → inliningCss.ts} +3 -3
- data/package/utils/pathValidation.ts +139 -0
- data/package/utils/requireOrError.ts +15 -0
- data/package/utils/snakeToCamelCase.ts +5 -0
- data/package/utils/typeGuards.ts +342 -0
- data/package/utils/validateDependencies.ts +61 -0
- data/package/webpack-types.d.ts +33 -0
- data/package/webpackDevServerConfig.ts +117 -0
- data/package-lock.json +13047 -0
- data/package.json +154 -18
- data/scripts/remove-use-strict.js +45 -0
- data/scripts/type-check-no-emit.js +27 -0
- data/test/helpers.js +1 -1
- data/test/package/config.test.js +43 -0
- data/test/package/env.test.js +42 -7
- data/test/package/environments/base.test.js +5 -1
- data/test/package/rules/babel.test.js +16 -0
- data/test/package/rules/esbuild.test.js +1 -1
- data/test/package/rules/raw.test.js +40 -7
- data/test/package/rules/swc.test.js +1 -1
- data/test/package/rules/webpack.test.js +35 -0
- data/test/package/staging.test.js +4 -3
- data/test/package/transpiler-defaults.test.js +127 -0
- data/test/peer-dependencies.sh +85 -0
- data/test/scripts/remove-use-strict.test.js +125 -0
- data/test/typescript/build.test.js +118 -0
- data/test/typescript/environments.test.js +107 -0
- data/test/typescript/pathValidation.test.js +142 -0
- data/test/typescript/securityValidation.test.js +182 -0
- data/tools/README.md +124 -0
- data/tools/css-modules-v9-codemod.js +179 -0
- data/tsconfig.eslint.json +16 -0
- data/tsconfig.json +38 -0
- data/yarn.lock +4165 -2706
- metadata +129 -41
- data/package/babel/preset.js +0 -37
- data/package/config.js +0 -54
- data/package/env.js +0 -48
- data/package/environments/development.js +0 -13
- data/package/environments/production.js +0 -88
- data/package/environments/test.js +0 -3
- data/package/esbuild/index.js +0 -40
- data/package/index.js +0 -40
- data/package/rules/css.js +0 -3
- data/package/rules/esbuild.js +0 -10
- data/package/rules/file.js +0 -29
- data/package/rules/index.js +0 -20
- data/package/rules/raw.js +0 -5
- data/package/rules/swc.js +0 -10
- data/package/swc/index.js +0 -50
- data/package/utils/configPath.js +0 -4
- data/package/utils/defaultConfigPath.js +0 -2
- data/package/utils/getStyleRule.js +0 -40
- data/package/utils/helpers.js +0 -58
- data/package/utils/snakeToCamelCase.js +0 -5
- data/package/webpackDevServerConfig.js +0 -71
- data/test/package/rules/index.test.js +0 -16
data/CLAUDE.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Shakapacker Project Guidelines
|
|
2
|
+
|
|
3
|
+
## Critical Requirements
|
|
4
|
+
- **ALWAYS end all files with a trailing newline character.** This is required by the project's linting rules.
|
|
5
|
+
- **ALWAYS use `bundle exec` prefix when running Ruby commands** (rubocop, rspec, rake, etc.)
|
|
6
|
+
- **ALWAYS run `bundle exec rubocop` before committing Ruby changes**
|
|
7
|
+
- **ALWAYS run `yarn lint` before committing JavaScript changes**
|
|
8
|
+
|
|
9
|
+
## Testing
|
|
10
|
+
- Run corresponding RSpec tests when changing source files
|
|
11
|
+
- For example, when changing `lib/shakapacker/foo.rb`, run `spec/shakapacker/foo_spec.rb`
|
|
12
|
+
- Run the full test suite with `bundle exec rspec` before pushing
|
|
13
|
+
|
|
14
|
+
## Code Style
|
|
15
|
+
- Follow existing code conventions in the file you're editing
|
|
16
|
+
- Use the project's existing patterns and utilities
|
|
17
|
+
- No unnecessary comments unless requested
|
|
18
|
+
- Keep changes focused and minimal - avoid extraneous diffs
|
|
19
|
+
|
|
20
|
+
## Git Workflow
|
|
21
|
+
- Create feature branches for all changes
|
|
22
|
+
- Never push directly to main branch
|
|
23
|
+
- Create small, focused PRs that are easy to review
|
|
24
|
+
- Always create a PR immediately after pushing changes
|
|
25
|
+
|
|
26
|
+
## Shakapacker-Specific
|
|
27
|
+
- This gem supports both webpack and rspack configurations
|
|
28
|
+
- Test changes with both bundlers when modifying core functionality
|
|
29
|
+
- Be aware of the dual package.json/Gemfile dependency management
|
data/CONTRIBUTING.md
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Thank you for your interest in contributing to Shakapacker! We welcome all contributions that align with our project goals and values. To ensure a smooth and productive collaboration, please follow these guidelines.
|
|
4
4
|
|
|
5
5
|
## Contents
|
|
6
|
+
|
|
6
7
|
- [Reporting Issues](#reporting-issues)
|
|
7
8
|
- [Submitting Pull Requests](#submitting-pull-requests)
|
|
8
9
|
- [Setting Up a Development Environment](#setting-up-a-development-environment)
|
|
@@ -10,46 +11,121 @@ Thank you for your interest in contributing to Shakapacker! We welcome all contr
|
|
|
10
11
|
- [Testing the generator](#testing-the-generator)
|
|
11
12
|
|
|
12
13
|
## Reporting Issues
|
|
14
|
+
|
|
13
15
|
If you encounter any issues with the project, please first check the existing issues (including closed ones). If the issues is not reported before, please opening an issue on our GitHub repository. Please provide a clear and detailed description of the issue, including steps to reproduce it. Creating a demo repository to demonstrate the issue would be ideal (and in some cases necessary).
|
|
14
16
|
|
|
15
17
|
If looking to contribute to the project by fixing existing issues, we recommend looking at issues, particularly with the "[help wanted](https://github.com/shakacode/shakapacker/issues?q=is%3Aissue+label%3A%22help+wanted%22)" label.
|
|
16
18
|
|
|
17
19
|
## Submitting Pull Requests
|
|
20
|
+
|
|
18
21
|
We welcome pull requests that fix bugs, add new features, or improve existing ones. Before submitting a pull request, please make sure to:
|
|
19
22
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
- Open an issue about what you want to propose before start working on.
|
|
24
|
+
- Fork the repository and create a new branch for your changes.
|
|
25
|
+
- Write clear and concise commit messages.
|
|
26
|
+
- Follow our code style guidelines.
|
|
27
|
+
- Write tests for your changes and [make sure all tests pass](#making-sure-your-changes-pass-all-tests).
|
|
28
|
+
- Update the documentation as needed.
|
|
29
|
+
- Update CHANGELOG.md if the changes affect public behavior of the project.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Git Hooks (Optional)
|
|
34
|
+
|
|
35
|
+
This project includes configuration for git hooks via `husky` and `lint-staged`, but they are **opt-in for contributors**.
|
|
36
|
+
|
|
37
|
+
**Why are hooks optional?** As a library project, we don't enforce git hooks because:
|
|
38
|
+
|
|
39
|
+
- Different contributors may have different workflows
|
|
40
|
+
- Forcing hooks can interfere with contributor tooling
|
|
41
|
+
- CI/CD handles the final validation
|
|
42
|
+
|
|
43
|
+
To enable pre-commit hooks locally:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npx husky install
|
|
47
|
+
npx husky add .husky/pre-commit "npx lint-staged"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Linting and Code Quality
|
|
53
|
+
|
|
54
|
+
### Running Linters
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Full linting with type checking (slower but thorough)
|
|
58
|
+
yarn lint
|
|
59
|
+
|
|
60
|
+
# Fast linting without type checking (for quick feedback)
|
|
61
|
+
yarn lint:fast
|
|
62
|
+
|
|
63
|
+
# With caching for better performance
|
|
64
|
+
yarn lint --cache
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Performance Note:** TypeScript ESLint uses type-aware linting for better type safety, which can be slower on large codebases. Use `yarn lint:fast` during development for quick feedback.
|
|
27
68
|
|
|
28
69
|
---
|
|
70
|
+
|
|
29
71
|
## Setting Up a Development Environment
|
|
30
72
|
|
|
31
73
|
1. Install [Yarn](https://classic.yarnpkg.com/)
|
|
32
74
|
2. To test your changes on a Rails test project do the following steps:
|
|
75
|
+
|
|
33
76
|
- For Ruby gem, update `Gemfile` and point the `shakapacker` to the locally developing Shakapacker project:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
77
|
+
```ruby
|
|
78
|
+
gem 'shakapacker', path: "relative_or_absolute_path_to_local_shakapacker"
|
|
79
|
+
```
|
|
37
80
|
- For npm package, use `yalc` with following steps:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# In Shakapacker root directory
|
|
84
|
+
yalc publish
|
|
85
|
+
# In Rails app for testing
|
|
86
|
+
yalc link shakapacker
|
|
87
|
+
|
|
88
|
+
# After every change in shakapacker, run the following in Shakapacker directory
|
|
89
|
+
yalc push # or yalc publish --push
|
|
90
|
+
```
|
|
91
|
+
|
|
47
92
|
3. Run the following commands to set up the development environment.
|
|
48
93
|
```
|
|
49
94
|
bundle install
|
|
50
95
|
yarn install
|
|
96
|
+
yarn prepare:husky # Set up pre-commit hooks for linting
|
|
51
97
|
```
|
|
52
98
|
|
|
99
|
+
## Understanding Optional Peer Dependencies
|
|
100
|
+
|
|
101
|
+
Shakapacker uses optional peer dependencies (via `peerDependenciesMeta`) for maximum flexibility:
|
|
102
|
+
|
|
103
|
+
- **All peer dependencies are optional** - Users only install what they need
|
|
104
|
+
- **No installation warnings** - Package managers won't warn about missing optional dependencies
|
|
105
|
+
- **Version constraints still apply** - When a package is installed, version compatibility is enforced
|
|
106
|
+
|
|
107
|
+
### When modifying dependencies:
|
|
108
|
+
|
|
109
|
+
1. Add new peer dependencies to both `peerDependencies` and `peerDependenciesMeta` (marking as optional)
|
|
110
|
+
2. Keep version ranges synchronized between `devDependencies` and `peerDependencies`
|
|
111
|
+
3. Test with multiple package managers: `npm`, `yarn`, and `pnpm`
|
|
112
|
+
|
|
113
|
+
### Testing peer dependency changes:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Test with npm (no warnings expected)
|
|
117
|
+
cd /tmp && mkdir test-npm && cd test-npm
|
|
118
|
+
npm init -y && npm install /path/to/shakapacker
|
|
119
|
+
|
|
120
|
+
# Test with yarn (no warnings expected)
|
|
121
|
+
cd /tmp && mkdir test-yarn && cd test-yarn
|
|
122
|
+
yarn init -y && yarn add /path/to/shakapacker
|
|
123
|
+
|
|
124
|
+
# Test with pnpm (no warnings expected)
|
|
125
|
+
cd /tmp && mkdir test-pnpm && cd test-pnpm
|
|
126
|
+
pnpm init && pnpm add /path/to/shakapacker
|
|
127
|
+
```
|
|
128
|
+
|
|
53
129
|
## Making sure your changes pass all tests
|
|
54
130
|
|
|
55
131
|
There are several specs, covering different aspects of Shakapacker gem. You may run them locally or rely on GitHub CI actions configured to test the gem functionality if different Ruby, Rails, and Node environment.
|
|
@@ -101,6 +177,7 @@ bundle exec rake run_spec:gem
|
|
|
101
177
|
```
|
|
102
178
|
|
|
103
179
|
#### 4.4 Run only Shakapacker gem specs for backward compatibility
|
|
180
|
+
|
|
104
181
|
These specs are to check Shakapacker v7 backward compatibility with v6.x
|
|
105
182
|
|
|
106
183
|
```
|
|
@@ -108,6 +185,7 @@ bundle exec rake run_spec:gem_bc
|
|
|
108
185
|
```
|
|
109
186
|
|
|
110
187
|
#### 4.5 Run dummy app test
|
|
188
|
+
|
|
111
189
|
For this, you need `yalc` to be installed on your local machine
|
|
112
190
|
|
|
113
191
|
```
|
|
@@ -115,6 +193,7 @@ bundle exec rake run_spec:dummy
|
|
|
115
193
|
```
|
|
116
194
|
|
|
117
195
|
#### 4.6 Testing the installer
|
|
196
|
+
|
|
118
197
|
To ensure that your installer works as expected, either you can run `bundle exec rake run_spec:install`, or take the following manual testing steps:
|
|
119
198
|
|
|
120
199
|
1. Update the `Gemfile` so that gem `shakapacker` has a line like this, pointing to your developing Shakapacker:
|
|
@@ -124,4 +203,43 @@ To ensure that your installer works as expected, either you can run `bundle exec
|
|
|
124
203
|
2. Run `bundle install` to install the updated gem.
|
|
125
204
|
3. Run `bundle exec rails shakapacker:install` to confirm that you got the right changes.
|
|
126
205
|
|
|
127
|
-
|
|
206
|
+
**Note:** Ensure that you use bundle exec otherwise the installed shakapacker gem will run and not the one you are working on.
|
|
207
|
+
|
|
208
|
+
## CI Workflows
|
|
209
|
+
|
|
210
|
+
Shakapacker uses GitHub Actions for continuous integration. The CI workflows use **Yarn** as the package manager for consistency and reliability.
|
|
211
|
+
|
|
212
|
+
### Package Manager Choice
|
|
213
|
+
|
|
214
|
+
The project uses Yarn in CI workflows for the following reasons:
|
|
215
|
+
|
|
216
|
+
- Deterministic dependency resolution with `yarn.lock`
|
|
217
|
+
- Faster installation with offline mirror support
|
|
218
|
+
- Better workspace support for monorepo-style testing
|
|
219
|
+
- Consistent behavior across different Node.js versions
|
|
220
|
+
|
|
221
|
+
### Key CI Workflow Files
|
|
222
|
+
|
|
223
|
+
- `.github/workflows/test-bundlers.yml` - Tests webpack, rspack, and bundler switching
|
|
224
|
+
- `.github/workflows/ruby.yml` - Ruby test suite across Ruby/Rails versions
|
|
225
|
+
- `.github/workflows/node.yml` - Node.js test suite across Node versions
|
|
226
|
+
- `.github/workflows/generator.yml` - Generator installation tests
|
|
227
|
+
|
|
228
|
+
All workflows use:
|
|
229
|
+
|
|
230
|
+
```yaml
|
|
231
|
+
- uses: actions/setup-node@v4
|
|
232
|
+
with:
|
|
233
|
+
cache: "yarn"
|
|
234
|
+
cache-dependency-path: spec/dummy/yarn.lock
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
And install dependencies with:
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
yarn install
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Testing with Other Package Managers
|
|
244
|
+
|
|
245
|
+
While CI uses Yarn, the gem supports all major package managers (npm, yarn, pnpm, bun). Generator specs test against all package managers to ensure compatibility.
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
shakapacker (
|
|
4
|
+
shakapacker (9.2.0)
|
|
5
5
|
activesupport (>= 5.2)
|
|
6
6
|
package_json
|
|
7
7
|
rack-proxy (>= 0.6.1)
|
|
@@ -11,86 +11,82 @@ PATH
|
|
|
11
11
|
GEM
|
|
12
12
|
remote: https://rubygems.org/
|
|
13
13
|
specs:
|
|
14
|
-
actioncable (7.1
|
|
15
|
-
actionpack (= 7.1
|
|
16
|
-
activesupport (= 7.1
|
|
14
|
+
actioncable (7.2.1)
|
|
15
|
+
actionpack (= 7.2.1)
|
|
16
|
+
activesupport (= 7.2.1)
|
|
17
17
|
nio4r (~> 2.0)
|
|
18
18
|
websocket-driver (>= 0.6.1)
|
|
19
19
|
zeitwerk (~> 2.6)
|
|
20
|
-
actionmailbox (7.1
|
|
21
|
-
actionpack (= 7.1
|
|
22
|
-
activejob (= 7.1
|
|
23
|
-
activerecord (= 7.1
|
|
24
|
-
activestorage (= 7.1
|
|
25
|
-
activesupport (= 7.1
|
|
26
|
-
mail (>= 2.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
activejob (= 7.1.3.4)
|
|
34
|
-
activesupport (= 7.1.3.4)
|
|
35
|
-
mail (~> 2.5, >= 2.5.4)
|
|
36
|
-
net-imap
|
|
37
|
-
net-pop
|
|
38
|
-
net-smtp
|
|
20
|
+
actionmailbox (7.2.1)
|
|
21
|
+
actionpack (= 7.2.1)
|
|
22
|
+
activejob (= 7.2.1)
|
|
23
|
+
activerecord (= 7.2.1)
|
|
24
|
+
activestorage (= 7.2.1)
|
|
25
|
+
activesupport (= 7.2.1)
|
|
26
|
+
mail (>= 2.8.0)
|
|
27
|
+
actionmailer (7.2.1)
|
|
28
|
+
actionpack (= 7.2.1)
|
|
29
|
+
actionview (= 7.2.1)
|
|
30
|
+
activejob (= 7.2.1)
|
|
31
|
+
activesupport (= 7.2.1)
|
|
32
|
+
mail (>= 2.8.0)
|
|
39
33
|
rails-dom-testing (~> 2.2)
|
|
40
|
-
actionpack (7.1
|
|
41
|
-
actionview (= 7.1
|
|
42
|
-
activesupport (= 7.1
|
|
34
|
+
actionpack (7.2.1)
|
|
35
|
+
actionview (= 7.2.1)
|
|
36
|
+
activesupport (= 7.2.1)
|
|
43
37
|
nokogiri (>= 1.8.5)
|
|
44
38
|
racc
|
|
45
|
-
rack (>= 2.2.4)
|
|
39
|
+
rack (>= 2.2.4, < 3.2)
|
|
46
40
|
rack-session (>= 1.0.1)
|
|
47
41
|
rack-test (>= 0.6.3)
|
|
48
42
|
rails-dom-testing (~> 2.2)
|
|
49
43
|
rails-html-sanitizer (~> 1.6)
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
useragent (~> 0.16)
|
|
45
|
+
actiontext (7.2.1)
|
|
46
|
+
actionpack (= 7.2.1)
|
|
47
|
+
activerecord (= 7.2.1)
|
|
48
|
+
activestorage (= 7.2.1)
|
|
49
|
+
activesupport (= 7.2.1)
|
|
55
50
|
globalid (>= 0.6.0)
|
|
56
51
|
nokogiri (>= 1.8.5)
|
|
57
|
-
actionview (7.1
|
|
58
|
-
activesupport (= 7.1
|
|
52
|
+
actionview (7.2.1)
|
|
53
|
+
activesupport (= 7.2.1)
|
|
59
54
|
builder (~> 3.1)
|
|
60
55
|
erubi (~> 1.11)
|
|
61
56
|
rails-dom-testing (~> 2.2)
|
|
62
57
|
rails-html-sanitizer (~> 1.6)
|
|
63
|
-
activejob (7.1
|
|
64
|
-
activesupport (= 7.1
|
|
58
|
+
activejob (7.2.1)
|
|
59
|
+
activesupport (= 7.2.1)
|
|
65
60
|
globalid (>= 0.3.6)
|
|
66
|
-
activemodel (7.1
|
|
67
|
-
activesupport (= 7.1
|
|
68
|
-
activerecord (7.1
|
|
69
|
-
activemodel (= 7.1
|
|
70
|
-
activesupport (= 7.1
|
|
61
|
+
activemodel (7.2.1)
|
|
62
|
+
activesupport (= 7.2.1)
|
|
63
|
+
activerecord (7.2.1)
|
|
64
|
+
activemodel (= 7.2.1)
|
|
65
|
+
activesupport (= 7.2.1)
|
|
71
66
|
timeout (>= 0.4.0)
|
|
72
|
-
activestorage (7.1
|
|
73
|
-
actionpack (= 7.1
|
|
74
|
-
activejob (= 7.1
|
|
75
|
-
activerecord (= 7.1
|
|
76
|
-
activesupport (= 7.1
|
|
67
|
+
activestorage (7.2.1)
|
|
68
|
+
actionpack (= 7.2.1)
|
|
69
|
+
activejob (= 7.2.1)
|
|
70
|
+
activerecord (= 7.2.1)
|
|
71
|
+
activesupport (= 7.2.1)
|
|
77
72
|
marcel (~> 1.0)
|
|
78
|
-
activesupport (7.1
|
|
73
|
+
activesupport (7.2.1)
|
|
79
74
|
base64
|
|
80
75
|
bigdecimal
|
|
81
|
-
concurrent-ruby (~> 1.0, >= 1.
|
|
76
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
82
77
|
connection_pool (>= 2.2.5)
|
|
83
78
|
drb
|
|
84
79
|
i18n (>= 1.6, < 2)
|
|
80
|
+
logger (>= 1.4.2)
|
|
85
81
|
minitest (>= 5.1)
|
|
86
|
-
|
|
87
|
-
tzinfo (~> 2.0)
|
|
82
|
+
securerandom (>= 0.3)
|
|
83
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
88
84
|
ast (2.4.2)
|
|
89
85
|
base64 (0.2.0)
|
|
90
86
|
bigdecimal (3.1.8)
|
|
91
87
|
builder (3.3.0)
|
|
92
88
|
byebug (11.1.3)
|
|
93
|
-
concurrent-ruby (1.3.
|
|
89
|
+
concurrent-ruby (1.3.4)
|
|
94
90
|
connection_pool (2.4.1)
|
|
95
91
|
crass (1.0.6)
|
|
96
92
|
date (3.3.4)
|
|
@@ -107,6 +103,7 @@ GEM
|
|
|
107
103
|
reline (>= 0.4.2)
|
|
108
104
|
json (2.7.2)
|
|
109
105
|
language_server-protocol (3.17.0.3)
|
|
106
|
+
logger (1.6.0)
|
|
110
107
|
loofah (2.22.0)
|
|
111
108
|
crass (~> 1.0.2)
|
|
112
109
|
nokogiri (>= 1.12.0)
|
|
@@ -118,9 +115,8 @@ GEM
|
|
|
118
115
|
marcel (1.0.4)
|
|
119
116
|
mini_mime (1.1.5)
|
|
120
117
|
mini_portile2 (2.8.7)
|
|
121
|
-
minitest (5.
|
|
122
|
-
|
|
123
|
-
net-imap (0.4.14)
|
|
118
|
+
minitest (5.25.1)
|
|
119
|
+
net-imap (0.4.15)
|
|
124
120
|
date
|
|
125
121
|
net-protocol
|
|
126
122
|
net-pop (0.1.2)
|
|
@@ -130,18 +126,18 @@ GEM
|
|
|
130
126
|
net-smtp (0.5.0)
|
|
131
127
|
net-protocol
|
|
132
128
|
nio4r (2.7.3)
|
|
133
|
-
nokogiri (1.16.
|
|
129
|
+
nokogiri (1.16.7)
|
|
134
130
|
mini_portile2 (~> 2.8.2)
|
|
135
131
|
racc (~> 1.4)
|
|
136
132
|
package_json (0.1.0)
|
|
137
|
-
parallel (1.
|
|
138
|
-
parser (3.3.
|
|
133
|
+
parallel (1.26.3)
|
|
134
|
+
parser (3.3.4.2)
|
|
139
135
|
ast (~> 2.4.1)
|
|
140
136
|
racc
|
|
141
137
|
psych (5.1.2)
|
|
142
138
|
stringio
|
|
143
|
-
racc (1.8.
|
|
144
|
-
rack (3.1.
|
|
139
|
+
racc (1.8.1)
|
|
140
|
+
rack (3.1.7)
|
|
145
141
|
rack-proxy (0.7.7)
|
|
146
142
|
rack
|
|
147
143
|
rack-session (2.0.0)
|
|
@@ -151,20 +147,20 @@ GEM
|
|
|
151
147
|
rackup (2.1.0)
|
|
152
148
|
rack (>= 3)
|
|
153
149
|
webrick (~> 1.8)
|
|
154
|
-
rails (7.1
|
|
155
|
-
actioncable (= 7.1
|
|
156
|
-
actionmailbox (= 7.1
|
|
157
|
-
actionmailer (= 7.1
|
|
158
|
-
actionpack (= 7.1
|
|
159
|
-
actiontext (= 7.1
|
|
160
|
-
actionview (= 7.1
|
|
161
|
-
activejob (= 7.1
|
|
162
|
-
activemodel (= 7.1
|
|
163
|
-
activerecord (= 7.1
|
|
164
|
-
activestorage (= 7.1
|
|
165
|
-
activesupport (= 7.1
|
|
150
|
+
rails (7.2.1)
|
|
151
|
+
actioncable (= 7.2.1)
|
|
152
|
+
actionmailbox (= 7.2.1)
|
|
153
|
+
actionmailer (= 7.2.1)
|
|
154
|
+
actionpack (= 7.2.1)
|
|
155
|
+
actiontext (= 7.2.1)
|
|
156
|
+
actionview (= 7.2.1)
|
|
157
|
+
activejob (= 7.2.1)
|
|
158
|
+
activemodel (= 7.2.1)
|
|
159
|
+
activerecord (= 7.2.1)
|
|
160
|
+
activestorage (= 7.2.1)
|
|
161
|
+
activesupport (= 7.2.1)
|
|
166
162
|
bundler (>= 1.15.0)
|
|
167
|
-
railties (= 7.1
|
|
163
|
+
railties (= 7.2.1)
|
|
168
164
|
rails-dom-testing (2.2.0)
|
|
169
165
|
activesupport (>= 5.0.0)
|
|
170
166
|
minitest
|
|
@@ -172,10 +168,10 @@ GEM
|
|
|
172
168
|
rails-html-sanitizer (1.6.0)
|
|
173
169
|
loofah (~> 2.21)
|
|
174
170
|
nokogiri (~> 1.14)
|
|
175
|
-
railties (7.1
|
|
176
|
-
actionpack (= 7.1
|
|
177
|
-
activesupport (= 7.1
|
|
178
|
-
irb
|
|
171
|
+
railties (7.2.1)
|
|
172
|
+
actionpack (= 7.2.1)
|
|
173
|
+
activesupport (= 7.2.1)
|
|
174
|
+
irb (~> 1.13)
|
|
179
175
|
rackup (>= 1.0.0)
|
|
180
176
|
rake (>= 12.2)
|
|
181
177
|
thor (~> 1.0, >= 1.2.2)
|
|
@@ -187,11 +183,9 @@ GEM
|
|
|
187
183
|
regexp_parser (2.9.2)
|
|
188
184
|
reline (0.5.9)
|
|
189
185
|
io-console (~> 0.5)
|
|
190
|
-
rexml (3.3.1)
|
|
191
|
-
strscan
|
|
192
186
|
rspec-core (3.13.0)
|
|
193
187
|
rspec-support (~> 3.13.0)
|
|
194
|
-
rspec-expectations (3.13.
|
|
188
|
+
rspec-expectations (3.13.2)
|
|
195
189
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
196
190
|
rspec-support (~> 3.13.0)
|
|
197
191
|
rspec-mocks (3.13.1)
|
|
@@ -206,36 +200,36 @@ GEM
|
|
|
206
200
|
rspec-mocks (~> 3.12)
|
|
207
201
|
rspec-support (~> 3.12)
|
|
208
202
|
rspec-support (3.13.1)
|
|
209
|
-
rubocop (1.
|
|
203
|
+
rubocop (1.66.0)
|
|
210
204
|
json (~> 2.3)
|
|
211
205
|
language_server-protocol (>= 3.17.0)
|
|
212
206
|
parallel (~> 1.10)
|
|
213
207
|
parser (>= 3.3.0.2)
|
|
214
208
|
rainbow (>= 2.2.2, < 4.0)
|
|
215
|
-
regexp_parser (>=
|
|
216
|
-
|
|
217
|
-
rubocop-ast (>= 1.31.1, < 2.0)
|
|
209
|
+
regexp_parser (>= 2.4, < 3.0)
|
|
210
|
+
rubocop-ast (>= 1.32.1, < 2.0)
|
|
218
211
|
ruby-progressbar (~> 1.7)
|
|
219
212
|
unicode-display_width (>= 2.4.0, < 3.0)
|
|
220
|
-
rubocop-ast (1.
|
|
213
|
+
rubocop-ast (1.32.1)
|
|
221
214
|
parser (>= 3.3.1.0)
|
|
222
215
|
rubocop-performance (1.21.1)
|
|
223
216
|
rubocop (>= 1.48.1, < 2.0)
|
|
224
217
|
rubocop-ast (>= 1.31.1, < 2.0)
|
|
225
218
|
ruby-progressbar (1.13.0)
|
|
226
|
-
|
|
219
|
+
securerandom (0.3.1)
|
|
220
|
+
semantic_range (3.1.0)
|
|
227
221
|
stringio (3.1.1)
|
|
228
|
-
|
|
229
|
-
thor (1.3.1)
|
|
222
|
+
thor (1.3.2)
|
|
230
223
|
timeout (0.4.1)
|
|
231
224
|
tzinfo (2.0.6)
|
|
232
225
|
concurrent-ruby (~> 1.0)
|
|
233
226
|
unicode-display_width (2.5.0)
|
|
227
|
+
useragent (0.16.10)
|
|
234
228
|
webrick (1.8.1)
|
|
235
229
|
websocket-driver (0.7.6)
|
|
236
230
|
websocket-extensions (>= 0.1.0)
|
|
237
231
|
websocket-extensions (0.1.5)
|
|
238
|
-
zeitwerk (2.6.
|
|
232
|
+
zeitwerk (2.6.17)
|
|
239
233
|
|
|
240
234
|
PLATFORMS
|
|
241
235
|
ruby
|
|
@@ -254,4 +248,4 @@ DEPENDENCIES
|
|
|
254
248
|
shakapacker!
|
|
255
249
|
|
|
256
250
|
BUNDLED WITH
|
|
257
|
-
2.5.
|
|
251
|
+
2.5.23
|