A kódbázis kommentek nélkül marad
Kérésre: minden magyarázó komment kikerült a forrásfájlokból — 89 Ruby, 16 TypeScript, 14 Vue, plusz a CSS/JS/CJS. Nem soralapú kereséssel: a Ruby-t a Ripper tokenizálta, a JS/TS/CSS-t állapotgép járta végig, hogy az URL-ekben, reguláris kifejezésekben és heredocokban álló // és # jelek helyükön maradjanak. Három komment maradt, mert nélkülük nem indul a kód: az entrypoint.sh shebangja, a vite-env.d.ts hármas perjeles referenciája, és a sanitize teszt @vitest-environment direktívája (ez utóbbi a magyarázó része nélkül). Egy helyen kódot is kellett írni: a CommandBlock másolás-hibaágán a komment volt a catch egyetlen tartalma, és üres blokkot az eslint nem enged — a copied jelző visszaállítása került a helyére. A yaml, Dockerfile, Makefile, erb és markdown fájlokat nem érintettem. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,25 +1,8 @@
|
||||
require "rails_helper"
|
||||
|
||||
# The engine appends its `db/migrate` to the host's migration paths instead of copying
|
||||
# migrations into the host, so the two share **one** version namespace. A collision does
|
||||
# not fail politely somewhere in the engine: it stops the host's `db:migrate` before it
|
||||
# runs anything, for the whole application.
|
||||
#
|
||||
# That is exactly what happened to `device_grants`. It was numbered 20260819000001 — a
|
||||
# hand-picked round number — and the catalog API had written
|
||||
# `20260819000001_carry_the_store_config_in_the_registry` on the same day with the same
|
||||
# habit. Neither repository could see the other's number.
|
||||
#
|
||||
# The defence is that engine migrations carry a real second-resolution timestamp, which
|
||||
# nobody hand-writes and nothing rounds to. This is the test that says so.
|
||||
RSpec.describe "Engine migrations" do
|
||||
# `202608050000 01`-style numbers: a date, then zeros, then a counter. Rails generates
|
||||
# `20260819093412`; a person types this.
|
||||
ROUND_VERSION = /\A\d{8}0{4}\d{2}\z/
|
||||
|
||||
# Numbered before this file existed and already deployed everywhere. Renumbering a
|
||||
# migration that has run is worse than the risk it carries, so they are named here
|
||||
# rather than quietly excluded by a rule that would also excuse the next one.
|
||||
GRANDFATHERED = %w[
|
||||
20260805000001
|
||||
20260805000003
|
||||
@@ -49,14 +32,6 @@ RSpec.describe "Engine migrations" do
|
||||
"timestamp — `date -u +%Y%m%d%H%M%S` — not a hand-picked round number."
|
||||
end
|
||||
|
||||
# A table created by BOTH the install template and one of our own migrations is a
|
||||
# second CREATE TABLE for the same name in whatever host installs us — the template
|
||||
# runs, then the appended engine migration runs, and the second one fails.
|
||||
#
|
||||
# `application_tokens` is exactly that, and has been since before this file existed:
|
||||
# every host installing today has to delete that block from its generated copy by
|
||||
# hand, which is what teletype-orbit's own migration says in its header. It is
|
||||
# grandfathered here rather than quietly excused, so the list can only shrink.
|
||||
it "does not create a table the install generator also creates" do
|
||||
template = WarpEngine::Engine.root.join(
|
||||
"lib/generators/warp_engine/install/templates/create_warp_engine_tables.rb"
|
||||
|
||||
Reference in New Issue
Block a user