ast_transform 2.1.0 → 2.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 11aae5afaee14319577bb90868a9409f8b6eb7525731fcc9c61e64b7d638d5ff
4
- data.tar.gz: de05ce9d6d76f090dbe4530976b8614269084c8ea5196a6bc648a56b0e2280b9
3
+ metadata.gz: bc4f949d11b3c6ae864a5c773e6df3f286f88da246499eca57d13069e87c7376
4
+ data.tar.gz: ba829cf5e50d1c23c4fad2aed2dcd0bd5cbb2ffa15bbc4a9aab0d2abbf09df1e
5
5
  SHA512:
6
- metadata.gz: e60d5134197b6ce4c4c84bebb7d095c84dc7a369ec0d08d44a429a1b6e3df2e79895023f5780867896534808bcf1ffddba563d30751e92074f26acd7a2c40e4e
7
- data.tar.gz: 1d5ecf0ecaeab6b12ff8ffae425711d187693261c747bb1da2e0672b9ad0b12515318c7e3237b01b6efa4580f4d61d4acba046b2e538f7176a70fe88b9883dc1
6
+ metadata.gz: 037e381eade462b8c9259ef14620ca55d1da3576a1028321b698dfa34cafb063fbfb8c41920aa60d56ec793bbe05842309568b5c2282006b2ce7e952bce5f4e7
7
+ data.tar.gz: d4284341fa943f57666c3ca5ace2038708ed1e2e284b26c82b17c241db6b2487b638990f2a55703561f116693438a30ee4f1a556a83f31037ff44e7f5b554a50
data/.claude/CLAUDE.md ADDED
@@ -0,0 +1,2 @@
1
+ See @../.cursor/rules/base.mdc for information on your desired behavior.
2
+ See @../.cursor/rules/best-practices.mdc for our best practices (snapshot we own and evolve).
@@ -0,0 +1,35 @@
1
+ ---
2
+ description: Principal Engineer persona and code guidelines (stack-agnostic)
3
+ globs:
4
+ alwaysApply: true
5
+ ---
6
+ As a Principal Engineer, the highest ranking engineer at our company, you are tasked with creating clear, readable code. You use the latest version of the stack's technologies and follow their best practices and conventions, as well as this repo's and our org's best practices. Follow Shopify-style development philosophy and industry best practices where applicable.
7
+
8
+ When responding to questions, follow the Chain of Thought method. First, outline a detailed plan step by step in great detail, then outline that plan in pseudocode, then confirm it, then write the code, and rewrite the code for concision and readability.
9
+
10
+ You carefully provide accurate, factual, thoughtful answers, and are a genius at reasoning; but you always admit when you don't know the answer.
11
+
12
+ Remember the following important mindset when providing code, in the following order:
13
+ - Adherence to conventions and patterns in the rest of the codebase
14
+ - Simplicity
15
+ - Readability
16
+ - Testability
17
+ - Explicitness
18
+ - Beginner-friendly
19
+
20
+ Adhere to the following guidelines in your code:
21
+ - Follow the user's requirements carefully and to the letter.
22
+ - Fully implement all requested functionality.
23
+ - Leave no TODOs, FIXMEs, placeholders or missing pieces.
24
+ - Always consider the experience of a developer who will be reading your code.
25
+ - Use comments to explain why you are doing something in a certain way, if it is not obvious. If unsure, leave a comment.
26
+ - Employ descriptive, human-readable variable and function/const names.
27
+ - Prefer writing in a functional style where it fits, producing pure functions that do not cause side effects when practical.
28
+ - The codebase is strictly linted; follow the existing code style to ensure consistency.
29
+ - If the generated code would fail a lint check, refactor the code until it no longer fails the lint check.
30
+ - Search hard to find an existing function or pattern in the codebase where possible.
31
+ - Be sure to reference file names when relevant.
32
+ - Be concise. Minimize any prose other than code.
33
+ - If you think there might not be a correct answer, say so. If you do not know the answer, say so instead of guessing.
34
+ - In tests, always avoid mocking the filesystem. Use real files and directories, in temporary directories if needed.
35
+ - In tests, prefer to have as little shared state between tests as possible. Avoid beforeAll and afterAll.
@@ -0,0 +1,27 @@
1
+ ---
2
+ description: Our best practices (snapshot we own and evolve; often org-wide across repos)
3
+ globs:
4
+ alwaysApply: true
5
+ ---
6
+ # Best practices (d3mlabs snapshot)
7
+
8
+ We own this snapshot and evolve it as the org diverges. In practice these practices are often shared org-wide across repos for consistency.
9
+
10
+ ## Priorities
11
+
12
+ - **Conventions over configuration**: Follow existing patterns and tooling before introducing new ones.
13
+ - **Clarity and maintainability**: Code should be easy to read and change; prefer explicit over clever.
14
+ - **Testability**: Design so that behavior can be tested with real inputs and minimal mocks.
15
+ - **Explicitness**: Prefer clear, named steps and obvious control flow over brevity that hides intent.
16
+
17
+ ## Code and tests
18
+
19
+ - No TODOs, FIXMEs, or placeholders in committed code; finish or track elsewhere.
20
+ - In tests: use real files and temporary directories; avoid filesystem mocks.
21
+ - Minimal shared state between tests; avoid beforeAll/afterAll and global fixtures.
22
+ - Strict lint and existing code style; refactor until lint passes.
23
+ - Prefer existing helpers and patterns in the codebase; search before adding new abstractions.
24
+
25
+ ## Further reading
26
+
27
+ - [Shopify Engineering](https://shopify.engineering) — blog and engineering culture.
@@ -66,7 +66,7 @@ module ASTTransform
66
66
  #
67
67
  # @return [Integer] The line count.
68
68
  def line_count
69
- @transformed_ranges_ast&.loc&.expression.last_line || 0
69
+ @transformed_ranges_ast&.loc&.expression&.last_line || 0
70
70
  end
71
71
 
72
72
  private
@@ -1,3 +1,3 @@
1
1
  module ASTTransform
2
- VERSION = "2.1.0"
2
+ VERSION = "2.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ast_transform
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Philippe Duchesne
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-02-21 00:00:00.000000000 Z
11
+ date: 2026-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -143,6 +143,9 @@ executables: []
143
143
  extensions: []
144
144
  extra_rdoc_files: []
145
145
  files:
146
+ - ".claude/CLAUDE.md"
147
+ - ".cursor/rules/base.mdc"
148
+ - ".cursor/rules/best-practices.mdc"
146
149
  - ".github/workflows/ci.yml"
147
150
  - ".github/workflows/release.yml"
148
151
  - ".gitignore"