dotenv-merge 1.0.3 → 7.1.3
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
- checksums.yaml.gz.sig +0 -0
- data/LICENSE.md +13 -0
- data/README.md +94 -490
- data/lib/dotenv/merge/backend.rb +70 -0
- data/lib/dotenv/merge/comment_tracker.rb +112 -0
- data/lib/dotenv/merge/debug_logger.rb +2 -2
- data/lib/dotenv/merge/env_line.rb +10 -14
- data/lib/dotenv/merge/file_analysis.rb +150 -21
- data/lib/dotenv/merge/freeze_node.rb +1 -1
- data/lib/dotenv/merge/merge_result.rb +6 -6
- data/lib/dotenv/merge/provider.rb +690 -0
- data/lib/dotenv/merge/smart_merger.rb +360 -137
- data/lib/dotenv/merge/version.rb +5 -4
- data/lib/dotenv/merge.rb +34 -18
- data/lib/dotenv-merge.rb +9 -1
- data/sig/dotenv/merge.rbs +15 -200
- data.tar.gz.sig +0 -0
- metadata +113 -80
- metadata.gz.sig +0 -0
- data/CHANGELOG.md +0 -120
- data/CITATION.cff +0 -20
- data/CODE_OF_CONDUCT.md +0 -134
- data/CONTRIBUTING.md +0 -227
- data/FUNDING.md +0 -74
- data/LICENSE.txt +0 -21
- data/REEK +0 -0
- data/RUBOCOP.md +0 -71
- data/SECURITY.md +0 -21
- data/sig/dotenv/merge/env_line.rbs +0 -90
data/lib/dotenv-merge.rb
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
# For technical reasons, if we move to Zeitwerk, this cannot be require_relative.
|
|
2
4
|
# See: https://github.com/fxn/zeitwerk#for_gem_extension
|
|
3
5
|
# Hook for other libraries to load this library (e.g. via bundler)
|
|
4
|
-
require
|
|
6
|
+
require 'dotenv/merge'
|
|
7
|
+
require 'version_gem'
|
|
8
|
+
require_relative 'dotenv/merge/version'
|
|
9
|
+
|
|
10
|
+
Dotenv::Merge::Version.class_eval do
|
|
11
|
+
extend VersionGem::Basic
|
|
12
|
+
end
|
data/sig/dotenv/merge.rbs
CHANGED
|
@@ -1,212 +1,27 @@
|
|
|
1
|
-
# Type signatures for dotenv-merge gem
|
|
2
|
-
# Smart merge for .env files using line-based analysis
|
|
3
|
-
|
|
4
1
|
module Dotenv
|
|
5
2
|
module Merge
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
# Base error class for dotenv-merge
|
|
9
|
-
class Error < StandardError
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
# Raised when the template file cannot be parsed
|
|
13
|
-
class TemplateParseError < Error
|
|
14
|
-
attr_reader errors: Array[String]
|
|
15
|
-
attr_reader content: String?
|
|
16
|
-
|
|
17
|
-
def initialize: (Array[String] errors, ?content: String?) -> void
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
# Raised when the destination file cannot be parsed
|
|
21
|
-
class DestinationParseError < Error
|
|
22
|
-
attr_reader errors: Array[String]
|
|
23
|
-
attr_reader content: String?
|
|
24
|
-
|
|
25
|
-
def initialize: (Array[String] errors, ?content: String?) -> void
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# Debug logging utility for Dotenv::Merge
|
|
29
|
-
module DebugLogger
|
|
30
|
-
extend Ast::Merge::DebugLogger
|
|
31
|
-
|
|
32
|
-
def self.env_var_name: () -> String
|
|
33
|
-
def self.env_var_name=: (String name) -> String
|
|
34
|
-
def self.log_prefix: () -> String
|
|
35
|
-
def self.log_prefix=: (String prefix) -> String
|
|
36
|
-
def self.enabled?: () -> bool
|
|
37
|
-
def self.debug: (String message, ?Hash[Symbol, untyped] context) -> void
|
|
38
|
-
def self.info: (String message) -> void
|
|
39
|
-
def self.warning: (String message) -> void
|
|
40
|
-
def self.time: [T] (String operation) { () -> T } -> T
|
|
41
|
-
def self.extract_node_info: (untyped node) -> Hash[Symbol, untyped]
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
# Represents a single line in a dotenv file
|
|
45
|
-
class EnvLine
|
|
46
|
-
attr_reader line_number: Integer
|
|
47
|
-
attr_reader raw: String
|
|
48
|
-
attr_reader key: String?
|
|
49
|
-
attr_reader value: String?
|
|
50
|
-
attr_reader comment: String?
|
|
51
|
-
|
|
52
|
-
def initialize: (
|
|
53
|
-
Integer line_number,
|
|
54
|
-
String raw,
|
|
55
|
-
?key: String?,
|
|
56
|
-
?value: String?,
|
|
57
|
-
?comment: String?
|
|
58
|
-
) -> void
|
|
59
|
-
|
|
60
|
-
def assignment?: () -> bool
|
|
61
|
-
def comment?: () -> bool
|
|
62
|
-
def blank?: () -> bool
|
|
63
|
-
def signature: () -> Array[Symbol | String]
|
|
64
|
-
def start_line: () -> Integer
|
|
65
|
-
def end_line: () -> Integer
|
|
66
|
-
def location: () -> Ast::Merge::FreezeNode::Location
|
|
67
|
-
def freeze_node?: () -> bool
|
|
68
|
-
def slice: () -> String
|
|
69
|
-
def to_s: () -> String
|
|
3
|
+
module Version
|
|
4
|
+
VERSION: String
|
|
70
5
|
end
|
|
6
|
+
VERSION: String
|
|
71
7
|
|
|
72
|
-
|
|
73
|
-
class FreezeNode < Ast::Merge::FreezeNode
|
|
74
|
-
InvalidStructureError: singleton(Ast::Merge::FreezeNode::InvalidStructureError)
|
|
75
|
-
Location: singleton(Ast::Merge::FreezeNode::Location)
|
|
76
|
-
|
|
77
|
-
attr_reader analysis: FileAnalysis
|
|
78
|
-
attr_reader lines: Array[EnvLine]
|
|
79
|
-
attr_reader reason: String?
|
|
8
|
+
BACKEND_REFERENCE: untyped
|
|
80
9
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
end_line: Integer,
|
|
84
|
-
analysis: FileAnalysis,
|
|
85
|
-
?lines: Array[EnvLine]?,
|
|
86
|
-
?reason: String?,
|
|
87
|
-
?pattern_type: Symbol
|
|
88
|
-
) -> void
|
|
10
|
+
def self.merge_provider: () -> Provider
|
|
11
|
+
def self.register_provider!: (?replace: bool) -> untyped
|
|
89
12
|
|
|
90
|
-
|
|
91
|
-
def
|
|
92
|
-
def
|
|
93
|
-
def
|
|
94
|
-
def
|
|
95
|
-
def
|
|
96
|
-
def
|
|
13
|
+
class Provider
|
|
14
|
+
def provider_id: () -> String
|
|
15
|
+
def family: () -> String
|
|
16
|
+
def capabilities: () -> Hash[Symbol, untyped]
|
|
17
|
+
def analyze: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]
|
|
18
|
+
def diff2: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]
|
|
19
|
+
def merge2: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]
|
|
20
|
+
def merge3: (Hash[Symbol, untyped] request) -> Hash[Symbol, untyped]
|
|
97
21
|
end
|
|
98
22
|
|
|
99
|
-
# File analysis for dotenv files
|
|
100
23
|
class FileAnalysis
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
DEFAULT_FREEZE_TOKEN: String
|
|
104
|
-
|
|
105
|
-
attr_reader source: String
|
|
106
|
-
attr_reader lines: Array[EnvLine]
|
|
107
|
-
attr_reader freeze_token: String
|
|
108
|
-
attr_reader signature_generator: (^(EnvLine) -> Array[Symbol | String]?)?
|
|
109
|
-
attr_reader statements: Array[EnvLine | FreezeNode]
|
|
110
|
-
attr_reader freeze_blocks: Array[FreezeNode]
|
|
111
|
-
|
|
112
|
-
def initialize: (
|
|
113
|
-
String source,
|
|
114
|
-
?freeze_token: String,
|
|
115
|
-
?signature_generator: (^(EnvLine) -> Array[Symbol | String]?)?
|
|
116
|
-
) -> void
|
|
117
|
-
|
|
118
|
-
def valid?: () -> bool
|
|
119
|
-
def nodes: () -> Array[EnvLine | FreezeNode]
|
|
120
|
-
def assignment_lines: () -> Array[EnvLine]
|
|
121
|
-
def line_at: (Integer line_number) -> String?
|
|
122
|
-
def normalized_line: (Integer line_num) -> String?
|
|
123
|
-
def in_freeze_block?: (Integer line_num) -> bool
|
|
124
|
-
def freeze_block_at: (Integer line_num) -> FreezeNode?
|
|
125
|
-
def signature_at: (Integer index) -> Array[Symbol | String]?
|
|
126
|
-
def generate_signature: (EnvLine | FreezeNode node) -> Array[Symbol | String]?
|
|
127
|
-
def compute_node_signature: (untyped node) -> Array[Symbol | String]?
|
|
128
|
-
|
|
129
|
-
private
|
|
130
|
-
|
|
131
|
-
def parse_lines: () -> Array[EnvLine]
|
|
132
|
-
def extract_freeze_blocks: () -> Array[FreezeNode]
|
|
133
|
-
def integrate_lines_and_freeze_blocks: () -> Array[EnvLine | FreezeNode]
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
# Result of a merge operation
|
|
137
|
-
class MergeResult < Ast::Merge::MergeResult
|
|
138
|
-
DECISION_KEPT_TEMPLATE: Symbol
|
|
139
|
-
DECISION_KEPT_DEST: Symbol
|
|
140
|
-
DECISION_MERGED: Symbol
|
|
141
|
-
DECISION_ADDED: Symbol
|
|
142
|
-
DECISION_FREEZE_BLOCK: Symbol
|
|
143
|
-
|
|
144
|
-
attr_reader template_analysis: FileAnalysis
|
|
145
|
-
attr_reader dest_analysis: FileAnalysis
|
|
146
|
-
attr_reader lines: Array[String]
|
|
147
|
-
attr_reader provenance: Array[Hash[Symbol, untyped]]
|
|
148
|
-
attr_reader decisions: Array[Hash[Symbol, untyped]]
|
|
149
|
-
|
|
150
|
-
def initialize: (
|
|
151
|
-
?template_analysis: FileAnalysis?,
|
|
152
|
-
?dest_analysis: FileAnalysis?,
|
|
153
|
-
?conflicts: Array[Hash[Symbol, untyped]],
|
|
154
|
-
?frozen_blocks: Array[FreezeNode],
|
|
155
|
-
?stats: Hash[Symbol, untyped]
|
|
156
|
-
) -> void
|
|
157
|
-
|
|
158
|
-
def add_line: (String line, Symbol origin, ?Integer? source_line) -> void
|
|
159
|
-
def add_env_line: (EnvLine env_line, Symbol decision) -> void
|
|
160
|
-
def add_freeze_block: (FreezeNode freeze_node) -> void
|
|
161
|
-
def to_s: () -> String
|
|
162
|
-
def to_dotenv: () -> String
|
|
163
|
-
def content: () -> Array[String]
|
|
164
|
-
def content_string: () -> String
|
|
165
|
-
def empty?: () -> bool
|
|
166
|
-
end
|
|
167
|
-
|
|
168
|
-
# Smart merger for dotenv files
|
|
169
|
-
class SmartMerger
|
|
170
|
-
include Ast::Merge::MergerConfig
|
|
171
|
-
|
|
172
|
-
attr_reader template_analysis: FileAnalysis
|
|
173
|
-
attr_reader dest_analysis: FileAnalysis
|
|
174
|
-
attr_reader signature_match_preference: (Symbol | Hash[Symbol, Symbol])
|
|
175
|
-
attr_reader add_template_only_nodes: bool
|
|
176
|
-
|
|
177
|
-
def initialize: (
|
|
178
|
-
String template_content,
|
|
179
|
-
String dest_content,
|
|
180
|
-
?signature_match_preference: (Symbol | Hash[Symbol, Symbol]),
|
|
181
|
-
?add_template_only_nodes: bool,
|
|
182
|
-
?freeze_token: String,
|
|
183
|
-
?signature_generator: (^(EnvLine) -> Array[Symbol | String]?)?,
|
|
184
|
-
?node_splitter: Hash[Symbol, untyped]?
|
|
185
|
-
) -> void
|
|
186
|
-
|
|
187
|
-
def merge: () -> MergeResult
|
|
188
|
-
|
|
189
|
-
private
|
|
190
|
-
|
|
191
|
-
def perform_merge: () -> MergeResult
|
|
192
|
-
def merge_lines: (MergeResult result) -> void
|
|
193
|
-
end
|
|
194
|
-
|
|
195
|
-
# Conflict resolver for dotenv merges
|
|
196
|
-
class ConflictResolver
|
|
197
|
-
attr_reader template_analysis: FileAnalysis
|
|
198
|
-
attr_reader dest_analysis: FileAnalysis
|
|
199
|
-
attr_reader signature_match_preference: (Symbol | Hash[Symbol, Symbol])
|
|
200
|
-
attr_reader add_template_only_nodes: bool
|
|
201
|
-
|
|
202
|
-
def initialize: (
|
|
203
|
-
FileAnalysis template_analysis,
|
|
204
|
-
FileAnalysis dest_analysis,
|
|
205
|
-
?signature_match_preference: (Symbol | Hash[Symbol, Symbol]),
|
|
206
|
-
?add_template_only_nodes: bool
|
|
207
|
-
) -> void
|
|
208
|
-
|
|
209
|
-
def resolve: (untyped boundary, MergeResult result) -> void
|
|
24
|
+
attr_reader structural_diagnostics: Array[Hash[Symbol, untyped]]
|
|
210
25
|
end
|
|
211
26
|
end
|
|
212
27
|
end
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dotenv-merge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 7.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -38,45 +38,47 @@ cert_chain:
|
|
|
38
38
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
39
39
|
dependencies:
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
41
|
+
name: ast-merge
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
|
-
- -
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: '5.0'
|
|
47
|
-
- - ">="
|
|
44
|
+
- - '='
|
|
48
45
|
- !ruby/object:Gem::Version
|
|
49
|
-
version:
|
|
46
|
+
version: 7.1.3
|
|
50
47
|
type: :runtime
|
|
51
48
|
prerelease: false
|
|
52
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
53
50
|
requirements:
|
|
54
|
-
- -
|
|
55
|
-
- !ruby/object:Gem::Version
|
|
56
|
-
version: '5.0'
|
|
57
|
-
- - ">="
|
|
51
|
+
- - '='
|
|
58
52
|
- !ruby/object:Gem::Version
|
|
59
|
-
version:
|
|
53
|
+
version: 7.1.3
|
|
60
54
|
- !ruby/object:Gem::Dependency
|
|
61
|
-
name:
|
|
55
|
+
name: plain-merge
|
|
62
56
|
requirement: !ruby/object:Gem::Requirement
|
|
63
57
|
requirements:
|
|
64
|
-
- -
|
|
65
|
-
- !ruby/object:Gem::Version
|
|
66
|
-
version: '4.0'
|
|
67
|
-
- - ">="
|
|
58
|
+
- - '='
|
|
68
59
|
- !ruby/object:Gem::Version
|
|
69
|
-
version:
|
|
60
|
+
version: 7.1.3
|
|
70
61
|
type: :runtime
|
|
71
62
|
prerelease: false
|
|
72
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
64
|
requirements:
|
|
74
|
-
- -
|
|
65
|
+
- - '='
|
|
75
66
|
- !ruby/object:Gem::Version
|
|
76
|
-
version:
|
|
77
|
-
|
|
67
|
+
version: 7.1.3
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: tree_haver
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - '='
|
|
78
73
|
- !ruby/object:Gem::Version
|
|
79
|
-
version:
|
|
74
|
+
version: 7.1.3
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - '='
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: 7.1.3
|
|
80
82
|
- !ruby/object:Gem::Dependency
|
|
81
83
|
name: version_gem
|
|
82
84
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,7 +88,7 @@ dependencies:
|
|
|
86
88
|
version: '1.1'
|
|
87
89
|
- - ">="
|
|
88
90
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 1.1.
|
|
91
|
+
version: 1.1.15
|
|
90
92
|
type: :runtime
|
|
91
93
|
prerelease: false
|
|
92
94
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -96,35 +98,41 @@ dependencies:
|
|
|
96
98
|
version: '1.1'
|
|
97
99
|
- - ">="
|
|
98
100
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: 1.1.
|
|
101
|
+
version: 1.1.15
|
|
100
102
|
- !ruby/object:Gem::Dependency
|
|
101
103
|
name: kettle-dev
|
|
102
104
|
requirement: !ruby/object:Gem::Requirement
|
|
103
105
|
requirements:
|
|
104
106
|
- - "~>"
|
|
105
107
|
- !ruby/object:Gem::Version
|
|
106
|
-
version: '
|
|
108
|
+
version: '3.0'
|
|
109
|
+
- - ">="
|
|
110
|
+
- !ruby/object:Gem::Version
|
|
111
|
+
version: 3.0.0
|
|
107
112
|
type: :development
|
|
108
113
|
prerelease: false
|
|
109
114
|
version_requirements: !ruby/object:Gem::Requirement
|
|
110
115
|
requirements:
|
|
111
116
|
- - "~>"
|
|
112
117
|
- !ruby/object:Gem::Version
|
|
113
|
-
version: '
|
|
118
|
+
version: '3.0'
|
|
119
|
+
- - ">="
|
|
120
|
+
- !ruby/object:Gem::Version
|
|
121
|
+
version: 3.0.0
|
|
114
122
|
- !ruby/object:Gem::Dependency
|
|
115
123
|
name: bundler-audit
|
|
116
124
|
requirement: !ruby/object:Gem::Requirement
|
|
117
125
|
requirements:
|
|
118
126
|
- - "~>"
|
|
119
127
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: 0.9.
|
|
128
|
+
version: 0.9.3
|
|
121
129
|
type: :development
|
|
122
130
|
prerelease: false
|
|
123
131
|
version_requirements: !ruby/object:Gem::Requirement
|
|
124
132
|
requirements:
|
|
125
133
|
- - "~>"
|
|
126
134
|
- !ruby/object:Gem::Version
|
|
127
|
-
version: 0.9.
|
|
135
|
+
version: 0.9.3
|
|
128
136
|
- !ruby/object:Gem::Dependency
|
|
129
137
|
name: rake
|
|
130
138
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -160,45 +168,85 @@ dependencies:
|
|
|
160
168
|
- !ruby/object:Gem::Version
|
|
161
169
|
version: 1.0.4
|
|
162
170
|
- !ruby/object:Gem::Dependency
|
|
163
|
-
name:
|
|
171
|
+
name: anonymous_loader
|
|
164
172
|
requirement: !ruby/object:Gem::Requirement
|
|
165
173
|
requirements:
|
|
166
174
|
- - "~>"
|
|
167
175
|
- !ruby/object:Gem::Version
|
|
168
|
-
version: '
|
|
169
|
-
- - "
|
|
176
|
+
version: '0.1'
|
|
177
|
+
- - ">="
|
|
170
178
|
- !ruby/object:Gem::Version
|
|
171
|
-
version:
|
|
179
|
+
version: 0.1.3
|
|
172
180
|
type: :development
|
|
173
181
|
prerelease: false
|
|
174
182
|
version_requirements: !ruby/object:Gem::Requirement
|
|
175
183
|
requirements:
|
|
176
184
|
- - "~>"
|
|
177
185
|
- !ruby/object:Gem::Version
|
|
178
|
-
version: '
|
|
186
|
+
version: '0.1'
|
|
187
|
+
- - ">="
|
|
188
|
+
- !ruby/object:Gem::Version
|
|
189
|
+
version: 0.1.3
|
|
190
|
+
- !ruby/object:Gem::Dependency
|
|
191
|
+
name: appraisal2
|
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
|
193
|
+
requirements:
|
|
194
|
+
- - "~>"
|
|
195
|
+
- !ruby/object:Gem::Version
|
|
196
|
+
version: '3.2'
|
|
197
|
+
- - ">="
|
|
198
|
+
- !ruby/object:Gem::Version
|
|
199
|
+
version: 3.2.2
|
|
200
|
+
type: :development
|
|
201
|
+
prerelease: false
|
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
203
|
+
requirements:
|
|
179
204
|
- - "~>"
|
|
180
205
|
- !ruby/object:Gem::Version
|
|
181
|
-
version: 3.
|
|
206
|
+
version: '3.2'
|
|
207
|
+
- - ">="
|
|
208
|
+
- !ruby/object:Gem::Version
|
|
209
|
+
version: 3.2.2
|
|
182
210
|
- !ruby/object:Gem::Dependency
|
|
183
211
|
name: kettle-test
|
|
184
212
|
requirement: !ruby/object:Gem::Requirement
|
|
185
213
|
requirements:
|
|
186
214
|
- - "~>"
|
|
187
215
|
- !ruby/object:Gem::Version
|
|
188
|
-
version: '
|
|
216
|
+
version: '2.0'
|
|
189
217
|
- - ">="
|
|
190
218
|
- !ruby/object:Gem::Version
|
|
191
|
-
version:
|
|
219
|
+
version: 2.0.19
|
|
192
220
|
type: :development
|
|
193
221
|
prerelease: false
|
|
194
222
|
version_requirements: !ruby/object:Gem::Requirement
|
|
195
223
|
requirements:
|
|
196
224
|
- - "~>"
|
|
197
225
|
- !ruby/object:Gem::Version
|
|
198
|
-
version: '
|
|
226
|
+
version: '2.0'
|
|
199
227
|
- - ">="
|
|
200
228
|
- !ruby/object:Gem::Version
|
|
201
|
-
version:
|
|
229
|
+
version: 2.0.19
|
|
230
|
+
- !ruby/object:Gem::Dependency
|
|
231
|
+
name: turbo_tests2
|
|
232
|
+
requirement: !ruby/object:Gem::Requirement
|
|
233
|
+
requirements:
|
|
234
|
+
- - "~>"
|
|
235
|
+
- !ruby/object:Gem::Version
|
|
236
|
+
version: '3.2'
|
|
237
|
+
- - ">="
|
|
238
|
+
- !ruby/object:Gem::Version
|
|
239
|
+
version: 3.2.5
|
|
240
|
+
type: :development
|
|
241
|
+
prerelease: false
|
|
242
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
243
|
+
requirements:
|
|
244
|
+
- - "~>"
|
|
245
|
+
- !ruby/object:Gem::Version
|
|
246
|
+
version: '3.2'
|
|
247
|
+
- - ">="
|
|
248
|
+
- !ruby/object:Gem::Version
|
|
249
|
+
version: 3.2.5
|
|
202
250
|
- !ruby/object:Gem::Dependency
|
|
203
251
|
name: ruby-progressbar
|
|
204
252
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -222,7 +270,7 @@ dependencies:
|
|
|
222
270
|
version: '1.0'
|
|
223
271
|
- - ">="
|
|
224
272
|
- !ruby/object:Gem::Version
|
|
225
|
-
version: 1.0.
|
|
273
|
+
version: 1.0.8
|
|
226
274
|
type: :development
|
|
227
275
|
prerelease: false
|
|
228
276
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -232,84 +280,69 @@ dependencies:
|
|
|
232
280
|
version: '1.0'
|
|
233
281
|
- - ">="
|
|
234
282
|
- !ruby/object:Gem::Version
|
|
235
|
-
version: 1.0.
|
|
283
|
+
version: 1.0.8
|
|
236
284
|
- !ruby/object:Gem::Dependency
|
|
237
285
|
name: gitmoji-regex
|
|
238
286
|
requirement: !ruby/object:Gem::Requirement
|
|
239
287
|
requirements:
|
|
240
288
|
- - "~>"
|
|
241
289
|
- !ruby/object:Gem::Version
|
|
242
|
-
version: '
|
|
290
|
+
version: '2.0'
|
|
243
291
|
- - ">="
|
|
244
292
|
- !ruby/object:Gem::Version
|
|
245
|
-
version:
|
|
293
|
+
version: 2.0.11
|
|
246
294
|
type: :development
|
|
247
295
|
prerelease: false
|
|
248
296
|
version_requirements: !ruby/object:Gem::Requirement
|
|
249
297
|
requirements:
|
|
250
298
|
- - "~>"
|
|
251
299
|
- !ruby/object:Gem::Version
|
|
252
|
-
version: '
|
|
300
|
+
version: '2.0'
|
|
253
301
|
- - ">="
|
|
254
302
|
- !ruby/object:Gem::Version
|
|
255
|
-
version:
|
|
256
|
-
description: "☯️ Dotenv
|
|
257
|
-
|
|
258
|
-
configuration. Perfect for merging environment templates with local overrides."
|
|
303
|
+
version: 2.0.11
|
|
304
|
+
description: "☯️ Dotenv assignment, comment, freeze-block, and template merge behavior
|
|
305
|
+
for Structured Merge."
|
|
259
306
|
email:
|
|
260
307
|
- floss@galtzo.com
|
|
261
308
|
executables: []
|
|
262
309
|
extensions: []
|
|
263
|
-
extra_rdoc_files:
|
|
264
|
-
- CHANGELOG.md
|
|
265
|
-
- CITATION.cff
|
|
266
|
-
- CODE_OF_CONDUCT.md
|
|
267
|
-
- CONTRIBUTING.md
|
|
268
|
-
- FUNDING.md
|
|
269
|
-
- LICENSE.txt
|
|
270
|
-
- README.md
|
|
271
|
-
- REEK
|
|
272
|
-
- RUBOCOP.md
|
|
273
|
-
- SECURITY.md
|
|
310
|
+
extra_rdoc_files: []
|
|
274
311
|
files:
|
|
275
|
-
-
|
|
276
|
-
- CITATION.cff
|
|
277
|
-
- CODE_OF_CONDUCT.md
|
|
278
|
-
- CONTRIBUTING.md
|
|
279
|
-
- FUNDING.md
|
|
280
|
-
- LICENSE.txt
|
|
312
|
+
- LICENSE.md
|
|
281
313
|
- README.md
|
|
282
|
-
- REEK
|
|
283
|
-
- RUBOCOP.md
|
|
284
|
-
- SECURITY.md
|
|
285
314
|
- lib/dotenv-merge.rb
|
|
286
315
|
- lib/dotenv/merge.rb
|
|
316
|
+
- lib/dotenv/merge/backend.rb
|
|
317
|
+
- lib/dotenv/merge/comment_tracker.rb
|
|
287
318
|
- lib/dotenv/merge/debug_logger.rb
|
|
288
319
|
- lib/dotenv/merge/env_line.rb
|
|
289
320
|
- lib/dotenv/merge/file_analysis.rb
|
|
290
321
|
- lib/dotenv/merge/freeze_node.rb
|
|
291
322
|
- lib/dotenv/merge/merge_result.rb
|
|
323
|
+
- lib/dotenv/merge/provider.rb
|
|
292
324
|
- lib/dotenv/merge/smart_merger.rb
|
|
293
325
|
- lib/dotenv/merge/version.rb
|
|
294
326
|
- sig/dotenv/merge.rbs
|
|
295
|
-
|
|
296
|
-
homepage: https://github.com/kettle-rb/dotenv-merge
|
|
327
|
+
homepage: https://github.com/structuredmerge/structuredmerge-ruby
|
|
297
328
|
licenses:
|
|
298
|
-
-
|
|
329
|
+
- AGPL-3.0-only
|
|
330
|
+
- PolyForm-Small-Business-1.0.0
|
|
299
331
|
metadata:
|
|
300
|
-
homepage_uri: https://
|
|
301
|
-
source_code_uri: https://github.com/
|
|
302
|
-
changelog_uri: https://github.com/
|
|
303
|
-
bug_tracker_uri: https://github.com/
|
|
304
|
-
documentation_uri: https://www.rubydoc.info/gems/dotenv-merge/1.
|
|
332
|
+
homepage_uri: https://structuredmerge.org
|
|
333
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.3
|
|
334
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.3/CHANGELOG.md
|
|
335
|
+
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
336
|
+
documentation_uri: https://www.rubydoc.info/gems/dotenv-merge/7.1.3
|
|
305
337
|
funding_uri: https://github.com/sponsors/pboling
|
|
306
|
-
wiki_uri: https://github.com/
|
|
338
|
+
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
307
339
|
news_uri: https://www.railsbling.com/tags/dotenv-merge
|
|
308
340
|
discord_uri: https://discord.gg/3qme4XHNKN
|
|
341
|
+
mailing_list_uri: https://www.rubyforum.org/tag/structuredmerge
|
|
309
342
|
rubygems_mfa_required: 'true'
|
|
310
343
|
rdoc_options:
|
|
311
344
|
- "--title"
|
|
312
|
-
- dotenv-merge - ☯️
|
|
345
|
+
- dotenv-merge - ☯️ Structured Merge dotenv analysis and merge for Ruby
|
|
313
346
|
- "--main"
|
|
314
347
|
- README.md
|
|
315
348
|
- "--exclude"
|
|
@@ -323,14 +356,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
323
356
|
requirements:
|
|
324
357
|
- - ">="
|
|
325
358
|
- !ruby/object:Gem::Version
|
|
326
|
-
version:
|
|
359
|
+
version: 4.0.0
|
|
327
360
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
328
361
|
requirements:
|
|
329
362
|
- - ">="
|
|
330
363
|
- !ruby/object:Gem::Version
|
|
331
364
|
version: '0'
|
|
332
365
|
requirements: []
|
|
333
|
-
rubygems_version: 4.0.
|
|
366
|
+
rubygems_version: 4.0.17
|
|
334
367
|
specification_version: 4
|
|
335
|
-
summary: "☯️
|
|
368
|
+
summary: "☯️ Structured Merge dotenv analysis and merge for Ruby"
|
|
336
369
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|