mirror of
https://github.com/opf/openproject.git
synced 2026-06-13 19:20:00 +00:00
25 lines
786 B
Ruby
25 lines
786 B
Ruby
# Fail if jasmine specs contain fdescribe or fit
|
|
fail("jasmine fdescribe left in tests") if `grep --include '*.spec.ts' -rP 'fdescribe|fit' frontend/src/`.length > 1
|
|
|
|
# Search for modified components not being made OnPush
|
|
git.modified_files
|
|
.select { |path| path.include?('frontend') && path.end_with?('.ts') }
|
|
.each do |path|
|
|
next unless File.readable?(path)
|
|
|
|
lines = File.readlines (path)
|
|
|
|
# Ignore non component files
|
|
component_line = lines.grep(/@Component/)[0]
|
|
next unless component_line
|
|
|
|
# Check for missing onPush
|
|
unless lines.grep(/changeDetection:\s+ChangeDetectionStrategy.OnPush/).length > 0
|
|
warn(
|
|
"Please use `ChangeDetectionStrategy.OnPush` for this component",
|
|
file: path,
|
|
line: lines.index(component_line) || 0
|
|
)
|
|
end
|
|
end
|