zyronon/TypeWords

Practice English, one strike, one step forward; 练习英语,一次敲击,一点进步;

Vue★ 9,427+21 that day#8 on trending

Analyzed September 3, 2026 at 633e179 (master) with jscpd 5.4.0 in 0.2s.

9%duplicated code · 5,932 of 65,906 lines
28clones in code
464code files of 505 scanned
7.94%duplicated over all files · 57 clones

The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 1 generated file: public/libs/51.js.

Largest clones in the code

  • 5560 lines in 2 placesjavascript27,390 tokens
    7function isElement$1(value) {
    8  return value instanceof Element;
    9}
    10
    11/**
    12 * Checks if `value` is classified as an `HTMLElement`.
    13 * @param value The param to check if it is an HTMLElement
    14 */
    15function isHTMLElement$1(value) {
    16  return value instanceof HTMLElement;
    

    First 10 of 5560 lines.

  • 81 lines in 2 placestsx571 tokens
    31  return [isHide, isHighLight]
    32})
    33
    34const list = $computed(() => {
    35  let t = []
    36  let right = ''
    37  let wrong = ''
    38  if (props.word.input.length) {
    39    if (props.word.input.length === props.word.word.length) {
    40      if (
    
    38  return [isHide, isHighLight, isHighlightWordsMask]
    39})
    40
    41// watchEffect(() => {
    42//   if (props.word.word === 'Calcium') {
    43//     // console.log('props.word.word', props.word.word, isHighlightWordsMask,isHighLight, props.isHighLight, isHide)
    44//     console.log('props.word.word', !props.isTyping, props.isHighLight, props.word.type === PracticeArticleWordType.Word)
    45//   }
    46// })
    47
    

    First 10 of 81 lines, the second copy on the right.

  • 56 lines in 2 placeshtml146 tokens
    412<li>{{ $t('copy_and_split') }}</li>
    413<li>
    414  {{ $t('click') }} <span class="color-red font-bold">{{ $t('split_sentence') }}</span>
    415  {{ $t('auto_split') }}<span class="color-red font-bold"> {{ $t('or') }}</span>
    416  {{ $t('manual_split') }}
    417</li>
    418<li>{{ $t('split_rule') }}</li>
    419<li>
    420  {{ $t('after_edit_click') }} <span class="color-red font-bold">{{ $t('apply') }}</span>
    421  {{ $t('sync_to_result') }}
    
    472</li>
    473<li>
    474  {{ $t('click') }} <span class="color-red font-bold">{{ $t('split_sentence') }}</span>
    475  {{ $t('auto_split') }}<span class="color-red font-bold"> {{ $t('or') }}</span>
    476  {{ $t('manual_split') }}
    477</li>
    478<li>{{ $t('split_rule') }}</li>
    479<li>
    480  {{ $t('after_edit_click') }}
    481  <span class="color-red font-bold">{{ $t('apply') }}</span> {{ $t('sync_to_result') }}
    

    First 10 of 56 lines, the second copy on the right.

7 more
Largest clones over all files, tests and data included
By format, code only
FormatFilesLinesClonesDuplicated linesDuplication
typescript16220,096181960.98%
scss603,4304561.63%
html944,4382260.59%
tsx61,4222876.12%
javascript1111,66215,56047.68%
jsx2202173.47%
vue11623,632000%
bash9644000%
css3206000%
perl1174000%
By format, all files
FormatFilesLinesClonesDuplicated linesDuplication
markdown151,4062739227.88%
typescript16420,360181960.96%
scss624,0494561.38%
json2112,0152480.4%
html944,4382260.59%
tsx61,4222876.12%
javascript1111,66215,56047.68%
jsx2202173.47%
vue11623,632000%
bash9644000%

Trending appearances

DayRankStarsFilesLinesClonesAll filesCodeHealthCommit
Sep 3, 2026#89,427 (+21)50580,219577.94%9%—633e179

Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.