Skip to content

feat: add jsondiff package that will be used for showing resource diffs#43

Merged
SayYoungMan merged 2 commits into
mainfrom
feat/jsondiff
Jun 2, 2026
Merged

feat: add jsondiff package that will be used for showing resource diffs#43
SayYoungMan merged 2 commits into
mainfrom
feat/jsondiff

Conversation

@SayYoungMan

Copy link
Copy Markdown
Owner

No description provided.

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

Test Coverage

github.com/SayYoungMan/tfui/cmd/tfui/main.go:16:		main				0.0%
github.com/SayYoungMan/tfui/cmd/tfui/main.go:50:		setUpLogging			0.0%
github.com/SayYoungMan/tfui/internal/ui/actions.go:38:		waitDuration			100.0%
github.com/SayYoungMan/tfui/internal/ui/actions.go:54:		readDuration			100.0%
github.com/SayYoungMan/tfui/internal/ui/actions.go:67:		processDuration			100.0%
github.com/SayYoungMan/tfui/internal/ui/actions.go:78:		gracefulQuit			100.0%
github.com/SayYoungMan/tfui/internal/ui/actions.go:89:		startRescan			100.0%
github.com/SayYoungMan/tfui/internal/ui/actions.go:113:		startAction			79.3%
github.com/SayYoungMan/tfui/internal/ui/actions.go:164:		openDetail			40.0%
github.com/SayYoungMan/tfui/internal/ui/components.go:16:	renderModal			84.6%
github.com/SayYoungMan/tfui/internal/ui/components.go:39:	renderModalWithBackground	100.0%
github.com/SayYoungMan/tfui/internal/ui/components.go:51:	renderKeyInfo			100.0%
github.com/SayYoungMan/tfui/internal/ui/components.go:70:	renderConfirmCancelButtons	83.3%
github.com/SayYoungMan/tfui/internal/ui/components.go:81:	renderScrollableBox		84.2%
github.com/SayYoungMan/tfui/internal/ui/events.go:16:		waitForState			60.0%
github.com/SayYoungMan/tfui/internal/ui/events.go:26:		handleStatePulled		0.0%
github.com/SayYoungMan/tfui/internal/ui/events.go:61:		waitForEvent			20.0%
github.com/SayYoungMan/tfui/internal/ui/events.go:71:		handleStreamEvent		87.5%
github.com/SayYoungMan/tfui/internal/ui/events.go:101:		waitForPlanChanges		33.3%
github.com/SayYoungMan/tfui/internal/ui/events.go:111:		handleActionEvent		100.0%
github.com/SayYoungMan/tfui/internal/ui/events.go:164:		waitForOutput			20.0%
github.com/SayYoungMan/tfui/internal/ui/events.go:176:		waitForForceQuit		50.0%
github.com/SayYoungMan/tfui/internal/ui/events.go:184:		tickEverySecond			50.0%
github.com/SayYoungMan/tfui/internal/ui/filter.go:12:		newFilterInput			100.0%
github.com/SayYoungMan/tfui/internal/ui/filter.go:20:		updateFilter			0.0%
github.com/SayYoungMan/tfui/internal/ui/filter.go:36:		visibleResources		100.0%
github.com/SayYoungMan/tfui/internal/ui/keys.go:8:		listKeys			100.0%
github.com/SayYoungMan/tfui/internal/ui/keys.go:124:		filterKeys			80.0%
github.com/SayYoungMan/tfui/internal/ui/keys.go:135:		actionPickerKeys		100.0%
github.com/SayYoungMan/tfui/internal/ui/keys.go:161:		confirmKeys			100.0%
github.com/SayYoungMan/tfui/internal/ui/keys.go:182:		quitConfirmKeys			100.0%
github.com/SayYoungMan/tfui/internal/ui/keys.go:203:		progressKeys			92.0%
github.com/SayYoungMan/tfui/internal/ui/keys.go:245:		outputKeys			78.9%
github.com/SayYoungMan/tfui/internal/ui/keys.go:280:		errorKeys			75.0%
github.com/SayYoungMan/tfui/internal/ui/keys.go:289:		detailKeys			100.0%
github.com/SayYoungMan/tfui/internal/ui/model.go:93:		NewModel			100.0%
github.com/SayYoungMan/tfui/internal/ui/model.go:111:		Init				100.0%
github.com/SayYoungMan/tfui/internal/ui/model.go:119:		Update				74.7%
github.com/SayYoungMan/tfui/internal/ui/model.go:295:		View				100.0%
github.com/SayYoungMan/tfui/internal/ui/render.go:10:		renderActionPickerView		100.0%
github.com/SayYoungMan/tfui/internal/ui/render.go:46:		renderConfirmView		97.4%
github.com/SayYoungMan/tfui/internal/ui/render.go:110:		renderDetailView		100.0%
github.com/SayYoungMan/tfui/internal/ui/render.go:133:		renderOutputView		96.0%
github.com/SayYoungMan/tfui/internal/ui/render.go:179:		renderQuitConfirmLayer		100.0%
github.com/SayYoungMan/tfui/internal/ui/render.go:200:		renderShutdownLayer		100.0%
github.com/SayYoungMan/tfui/internal/ui/render.go:209:		renderErrorView			100.0%
github.com/SayYoungMan/tfui/internal/ui/render_list.go:12:	renderListView			100.0%
github.com/SayYoungMan/tfui/internal/ui/render_list.go:23:	renderFilterBox			85.7%
github.com/SayYoungMan/tfui/internal/ui/render_list.go:37:	renderResourcesBox		94.1%
github.com/SayYoungMan/tfui/internal/ui/render_list.go:68:	renderResourceLine		94.1%
github.com/SayYoungMan/tfui/internal/ui/render_list.go:99:	renderModuleLine		0.0%
github.com/SayYoungMan/tfui/internal/ui/render_list.go:127:	renderInfoBar			100.0%
github.com/SayYoungMan/tfui/internal/ui/render_list.go:166:	renderHelpBar			100.0%
github.com/SayYoungMan/tfui/internal/ui/render_progress.go:17:	renderProgressView		88.7%
github.com/SayYoungMan/tfui/internal/ui/render_progress.go:109:	formatElapsed			75.0%
github.com/SayYoungMan/tfui/internal/ui/row.go:15:		rebuildRows			100.0%
github.com/SayYoungMan/tfui/internal/ui/row.go:29:		recursiveBuildRow		100.0%
github.com/SayYoungMan/tfui/internal/ui/row.go:54:		treePrefix			100.0%
github.com/SayYoungMan/tfui/internal/ui/row.go:85:		IsResource			100.0%
github.com/SayYoungMan/tfui/internal/ui/row.go:89:		IsModule			100.0%
github.com/SayYoungMan/tfui/internal/ui/row.go:93:		Address				100.0%
github.com/SayYoungMan/tfui/internal/ui/row.go:101:		buildItemTree			100.0%
github.com/SayYoungMan/tfui/internal/ui/row.go:121:		buildModuleItem			100.0%
github.com/SayYoungMan/tfui/internal/ui/styles.go:61:		newStyles			66.7%
github.com/SayYoungMan/tfui/internal/ui/styles.go:68:		styles				75.0%
github.com/SayYoungMan/tfui/internal/ui/styles.go:104:		actionStyles			100.0%
github.com/SayYoungMan/tfui/internal/ui/testutil.go:10:		newTestModelEmpty		100.0%
github.com/SayYoungMan/tfui/internal/ui/testutil.go:25:		newTestModel			100.0%
github.com/SayYoungMan/tfui/internal/ui/testutil.go:29:		newTestModelWithResources	100.0%
github.com/SayYoungMan/tfui/internal/ui/testutil.go:46:		newActionTestModel		100.0%
github.com/SayYoungMan/tfui/internal/ui/testutil.go:83:		actionAnsiString		100.0%
github.com/SayYoungMan/tfui/internal/ui/testutil.go:87:		keyPresses			100.0%
github.com/SayYoungMan/tfui/internal/ui/utils.go:10:		isRunning			100.0%
github.com/SayYoungMan/tfui/internal/ui/utils.go:14:		hasError			100.0%
github.com/SayYoungMan/tfui/internal/ui/utils.go:23:		isUnchanged			100.0%
github.com/SayYoungMan/tfui/internal/ui/utils.go:29:		targetedAddresses		100.0%
github.com/SayYoungMan/tfui/internal/ui/utils.go:39:		selectedResources		100.0%
github.com/SayYoungMan/tfui/internal/ui/utils.go:69:		isSelectedOrAncestor		100.0%
github.com/SayYoungMan/tfui/internal/ui/utils.go:82:		isAncestor			100.0%
github.com/SayYoungMan/tfui/internal/ui/utils.go:92:		parentModuleAddr		93.8%
github.com/SayYoungMan/tfui/internal/ui/utils.go:123:		currentCursorModule		75.0%
github.com/SayYoungMan/tfui/internal/ui/utils.go:133:		adjustOffset			100.0%
github.com/SayYoungMan/tfui/internal/ui/utils.go:148:		getReservedRows			83.3%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:58:	Render				75.0%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:67:	normalize			100.0%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:91:	RenderResult			76.9%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:114:	decodeJSON			75.0%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:131:	buildDiff			81.8%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:174:	String				78.6%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:201:	renderNode			72.7%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:225:	renderPlain			27.8%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:257:	renderObject			87.5%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:273:	renderArray			0.0%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:286:	appendLine			100.0%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:293:	sortedKeys			0.0%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:303:	sortedUnionKeys			100.0%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:321:	sortedNodeKeys			100.0%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:332:	formatKey			100.0%
github.com/SayYoungMan/tfui/pkg/jsondiff/jsondiff.go:340:	commaString			100.0%
github.com/SayYoungMan/tfui/pkg/terraform/diff.go:20:		PlannedChanges			93.8%
github.com/SayYoungMan/tfui/pkg/terraform/parser.go:10:		ParseLine			88.5%
github.com/SayYoungMan/tfui/pkg/terraform/parser.go:78:		extractResourceInfo		100.0%
github.com/SayYoungMan/tfui/pkg/terraform/runner.go:27:		NewTerraformRunner		0.0%
github.com/SayYoungMan/tfui/pkg/terraform/runner.go:38:		Plan				100.0%
github.com/SayYoungMan/tfui/pkg/terraform/runner.go:47:		PlanAll				100.0%
github.com/SayYoungMan/tfui/pkg/terraform/runner.go:60:		Apply				100.0%
github.com/SayYoungMan/tfui/pkg/terraform/runner.go:68:		Destroy				100.0%
github.com/SayYoungMan/tfui/pkg/terraform/runner.go:76:		streamJsonEvents		84.0%
github.com/SayYoungMan/tfui/pkg/terraform/runner.go:120:	Taint				100.0%
github.com/SayYoungMan/tfui/pkg/terraform/runner.go:124:	Untaint				100.0%
github.com/SayYoungMan/tfui/pkg/terraform/runner.go:128:	streamPerResource		94.1%
github.com/SayYoungMan/tfui/pkg/terraform/state.go:40:		StatePull			77.8%
github.com/SayYoungMan/tfui/pkg/terraform/state.go:72:		ParseState			100.0%
github.com/SayYoungMan/tfui/pkg/terraform/state.go:95:		instanceToResource		100.0%
github.com/SayYoungMan/tfui/pkg/terraform/state.go:135:		impliedProvider			100.0%
github.com/SayYoungMan/tfui/pkg/terraform/type.go:54:		Symbol				0.0%
github.com/SayYoungMan/tfui/pkg/terraform/type.go:75:		normalizeAction			90.0%
github.com/SayYoungMan/tfui/pkg/terraform/type.go:113:		IsDataSource			0.0%
github.com/SayYoungMan/tfui/pkg/terraform/type.go:120:		String				0.0%
github.com/SayYoungMan/tfui/pkg/terraform/type.go:124:		Len				0.0%
total:								(statements)			82.3%

@SayYoungMan
SayYoungMan merged commit a1a5f4d into main Jun 2, 2026
4 checks passed
@SayYoungMan
SayYoungMan deleted the feat/jsondiff branch June 2, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant