word-aligner 1.1.0-beta.2 → 1.1.1-beta.2
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.
- package/.idea/editor.xml +121 -0
- package/CLAUDE.md +111 -0
- package/README.md +12 -0
- package/lib/js/aligner.js +2 -1
- package/package.json +2 -2
- package/src/js/aligner.js +2 -1
- package/word-aligner-1.1.1-beta.tgz +0 -0
- package/package-lock.json +0 -20456
package/.idea/editor.xml
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="BackendCodeEditorSettings">
|
|
4
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexedValue" value="WARNING" type="string" />
|
|
5
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
6
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexedValue" value="WARNING" type="string" />
|
|
7
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexedValue" value="WARNING" type="string" />
|
|
8
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexedValue" value="WARNING" type="string" />
|
|
9
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
|
10
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
|
11
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
12
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
13
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexedValue" value="WARNING" type="string" />
|
|
14
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexedValue" value="WARNING" type="string" />
|
|
15
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexedValue" value="WARNING" type="string" />
|
|
16
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexedValue" value="WARNING" type="string" />
|
|
17
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexedValue" value="WARNING" type="string" />
|
|
18
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexedValue" value="WARNING" type="string" />
|
|
19
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexedValue" value="WARNING" type="string" />
|
|
20
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexedValue" value="WARNING" type="string" />
|
|
21
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexedValue" value="WARNING" type="string" />
|
|
22
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
|
23
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexedValue" value="WARNING" type="string" />
|
|
24
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexedValue" value="WARNING" type="string" />
|
|
25
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexedValue" value="WARNING" type="string" />
|
|
26
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexedValue" value="WARNING" type="string" />
|
|
27
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexedValue" value="WARNING" type="string" />
|
|
28
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexedValue" value="HINT" type="string" />
|
|
29
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexedValue" value="WARNING" type="string" />
|
|
30
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexedValue" value="WARNING" type="string" />
|
|
31
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexedValue" value="WARNING" type="string" />
|
|
32
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexedValue" value="WARNING" type="string" />
|
|
33
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
|
34
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexedValue" value="ERROR" type="string" />
|
|
35
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexedValue" value="WARNING" type="string" />
|
|
36
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexedValue" value="WARNING" type="string" />
|
|
37
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefinitionsOrder/@EntryIndexedValue" value="HINT" type="string" />
|
|
38
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexedValue" value="WARNING" type="string" />
|
|
39
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
40
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
41
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
42
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
43
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
44
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
45
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexedValue" value="HINT" type="string" />
|
|
46
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
47
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
48
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
49
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
50
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexedValue" value="WARNING" type="string" />
|
|
51
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexedValue" value="WARNING" type="string" />
|
|
52
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
|
53
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexedValue" value="ERROR" type="string" />
|
|
54
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexedValue" value="WARNING" type="string" />
|
|
55
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
56
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
57
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexedValue" value="WARNING" type="string" />
|
|
58
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
|
59
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
60
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
|
61
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
|
62
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
63
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexedValue" value="WARNING" type="string" />
|
|
64
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
65
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexedValue" value="WARNING" type="string" />
|
|
66
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexedValue" value="WARNING" type="string" />
|
|
67
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexedValue" value="WARNING" type="string" />
|
|
68
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexedValue" value="WARNING" type="string" />
|
|
69
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexedValue" value="WARNING" type="string" />
|
|
70
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexedValue" value="WARNING" type="string" />
|
|
71
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexedValue" value="WARNING" type="string" />
|
|
72
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
|
73
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
|
74
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexedValue" value="WARNING" type="string" />
|
|
75
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
|
|
76
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexedValue" value="ERROR" type="string" />
|
|
77
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexedValue" value="ERROR" type="string" />
|
|
78
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
|
79
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
80
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexedValue" value="WARNING" type="string" />
|
|
81
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
82
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
|
83
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
84
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
|
85
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
|
86
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantFwdClassOrEnumSpecifier/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
87
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
|
88
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
89
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexedValue" value="HINT" type="string" />
|
|
90
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexedValue" value="HINT" type="string" />
|
|
91
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexedValue" value="HINT" type="string" />
|
|
92
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
93
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
94
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
95
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
|
96
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
|
97
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexedValue" value="ERROR" type="string" />
|
|
98
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexedValue" value="WARNING" type="string" />
|
|
99
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
100
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
101
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="HINT" type="string" />
|
|
102
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
|
|
103
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" />
|
|
104
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
|
105
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexedValue" value="WARNING" type="string" />
|
|
106
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexedValue" value="WARNING" type="string" />
|
|
107
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
|
108
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
|
109
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
110
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
|
111
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexedValue" value="HINT" type="string" />
|
|
112
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexedValue" value="HINT" type="string" />
|
|
113
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexedValue" value="WARNING" type="string" />
|
|
114
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
|
115
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
|
116
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexedValue" value="HINT" type="string" />
|
|
117
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexedValue" value="HINT" type="string" />
|
|
118
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
119
|
+
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
|
120
|
+
</component>
|
|
121
|
+
</project>
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Purpose
|
|
6
|
+
|
|
7
|
+
**word-aligner** is an NPM library for handling word alignment logic between original-language Bible text (Greek, Hebrew, Aramaic) and target-language translations. It converts between USFM verse strings, verse object hierarchies, and structured alignment data used across unfoldingWord tools.
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Install (legacy-peer-deps required due to usfm-js peer dependency)
|
|
13
|
+
npm i --legacy-peer-deps
|
|
14
|
+
|
|
15
|
+
# Run linting + all tests
|
|
16
|
+
npm test
|
|
17
|
+
|
|
18
|
+
# Run tests only (skip lint)
|
|
19
|
+
npx jest
|
|
20
|
+
|
|
21
|
+
# Run a single test file
|
|
22
|
+
npx jest __tests__/align.test.js
|
|
23
|
+
|
|
24
|
+
# Run tests matching a pattern
|
|
25
|
+
npx jest --testNamePattern "oneToOne"
|
|
26
|
+
|
|
27
|
+
# Lint only
|
|
28
|
+
npx eslint ./src
|
|
29
|
+
|
|
30
|
+
# Lint with auto-fix
|
|
31
|
+
npm run fix
|
|
32
|
+
|
|
33
|
+
# Compile src/ → lib/ (required before publishing)
|
|
34
|
+
npm run build
|
|
35
|
+
|
|
36
|
+
# Rebuild test fixture JSON files
|
|
37
|
+
npm run build:test-data
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Architecture
|
|
41
|
+
|
|
42
|
+
### Entry point
|
|
43
|
+
|
|
44
|
+
`src/index.js` exports four things:
|
|
45
|
+
- `default` — the main aligner (`src/js/aligner.js`)
|
|
46
|
+
- `VerseObjectUtils` — verse object parsing helpers (`src/js/utils/verseObjects.js`)
|
|
47
|
+
- `MorphUtils` — morphological code parser for Greek/Hebrew/Aramaic (`src/js/utils/MorphUtils.js`)
|
|
48
|
+
- `ArrayUtils` — low-level array helpers (`src/js/utils/array.js`)
|
|
49
|
+
|
|
50
|
+
The compiled output lives in `lib/` (Babel 6, `babel-preset-es2015`). The `lib/` directory is what npm consumers receive; `src/` is the authoritative source.
|
|
51
|
+
|
|
52
|
+
### Core module: `src/js/aligner.js`
|
|
53
|
+
|
|
54
|
+
The heart of the library. Two inverse operations:
|
|
55
|
+
|
|
56
|
+
- **`merge(alignments, wordBank, verseString, useVerseText)`** — Takes alignment data and a target verse, rebuilds a nested verse object hierarchy with alignment milestones.
|
|
57
|
+
- **`unmerge(verseObjects, alignedVerse)`** — Extracts structured `alignments` and `wordBank` arrays from verse objects.
|
|
58
|
+
|
|
59
|
+
Supporting functions `restoreVerseObjects()` and `restoreHierarchy()` handle the parent-child reconstruction after array manipulation. `combineConsecutiveText()` cleans up adjacent text nodes in the output. `wordMap` (an array of `{object, parent}` pairs) is used throughout to safely navigate and mutate deeply nested structures without losing position.
|
|
60
|
+
|
|
61
|
+
### Key data shapes
|
|
62
|
+
|
|
63
|
+
**Alignment:**
|
|
64
|
+
```js
|
|
65
|
+
{
|
|
66
|
+
topWords: [{ word, strong, lemma, morph, occurrence, occurrences }], // original language
|
|
67
|
+
bottomWords: [{ word, occurrence, occurrences }] // target language
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**VerseObject:**
|
|
72
|
+
```js
|
|
73
|
+
{
|
|
74
|
+
tag: 'w' | 'k' | ...,
|
|
75
|
+
type: 'word' | 'text' | 'paragraph' | 'milestone',
|
|
76
|
+
text?: string,
|
|
77
|
+
children?: VerseObject[],
|
|
78
|
+
occurrence?: number,
|
|
79
|
+
occurrences?: number
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Milestones (`type: 'milestone'`) act as alignment containers; their `children` hold the target-language word objects that are aligned to the `topWords` stored on the milestone itself.
|
|
84
|
+
|
|
85
|
+
### Tests and fixtures
|
|
86
|
+
|
|
87
|
+
Test files live in `__tests__/`. Fixture JSON and USFM files are in `__tests__/fixtures/pivotAlignmentVerseObjects/` — each fixture represents a real Bible verse edge case (nested milestones, punctuation, non-contiguous alignments, etc.).
|
|
88
|
+
|
|
89
|
+
`scripts/BuildTestData.js` regenerates the fixture JSON from USFM sources using `word-aligner-rcl`. Run `npm run build:test-data` after updating fixture source files.
|
|
90
|
+
|
|
91
|
+
### Morphological parsing
|
|
92
|
+
|
|
93
|
+
`MorphUtils.js` decodes morph code strings (e.g., `Gr,V,,,,,AAN,,`) into localization key arrays using language-specific maps in `src/js/utils/morphCodeLocalizationMap.js`. It branches on Greek vs. Hebrew/Aramaic and handles sub-type disambiguation within each language family.
|
|
94
|
+
|
|
95
|
+
## Dependencies to know
|
|
96
|
+
|
|
97
|
+
| Package | Role |
|
|
98
|
+
|---|---|
|
|
99
|
+
| `usfm-js` | Parses USFM Bible markup into verse object arrays |
|
|
100
|
+
| `string-punctuation-tokenizer` | Splits verse text, preserving punctuation as separate tokens |
|
|
101
|
+
| `lodash` | `cloneDeep` used when mutating verse object trees |
|
|
102
|
+
| `word-aligner-rcl` | React component library (dev only); used by `BuildTestData.js` |
|
|
103
|
+
|
|
104
|
+
## Publish workflow
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
npm i --legacy-peer-deps
|
|
108
|
+
npm run build # compiles src/ → lib/
|
|
109
|
+
npm publish # runs npm test + build automatically via prepublishOnly hook
|
|
110
|
+
# then auto-tags git: v$npm_package_version
|
|
111
|
+
```
|
package/README.md
CHANGED
|
@@ -1,2 +1,14 @@
|
|
|
1
1
|
# word-aligner
|
|
2
2
|
Logic for handling word alignment
|
|
3
|
+
|
|
4
|
+
## Publish
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
npm i --legacy-peer-deps && npm run build && npm publish
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Generate test fixture data
|
|
11
|
+
```bash
|
|
12
|
+
# Rebuild test fixture JSON files
|
|
13
|
+
npm run build:test-data
|
|
14
|
+
```
|
package/lib/js/aligner.js
CHANGED
|
@@ -137,7 +137,8 @@ function restoreHierarchy(unalignedOrdered) {
|
|
|
137
137
|
var parent = unalignedOrdered.find(function (obj) {
|
|
138
138
|
return obj && obj.originalIndex === parentIndex;
|
|
139
139
|
});
|
|
140
|
-
if (parent && parent.children) {
|
|
140
|
+
if (parent && (parent.children || parent.endTag)) {
|
|
141
|
+
parent.children = parent.children || [];
|
|
141
142
|
parent.children.push(verseObject);
|
|
142
143
|
toRemove.push(i);
|
|
143
144
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "word-aligner",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1-beta.2",
|
|
4
4
|
"description": "A library for handling word alignment",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"path": "0.12.7",
|
|
62
62
|
"path-extra": "^4.2.1",
|
|
63
63
|
"rimraf": "^2.6.2",
|
|
64
|
-
"usfm-js": "3.5.0
|
|
64
|
+
"usfm-js": "3.5.0",
|
|
65
65
|
"word-aligner-rcl": "1.3.7-beta.6"
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
package/src/js/aligner.js
CHANGED
|
@@ -97,7 +97,8 @@ function restoreHierarchy(unalignedOrdered) {
|
|
|
97
97
|
const parentIndex = verseObject.parentIndex;
|
|
98
98
|
if (parentIndex >= 0) {
|
|
99
99
|
const parent = unalignedOrdered.find(obj => obj && obj.originalIndex === parentIndex);
|
|
100
|
-
if (parent && parent.children) {
|
|
100
|
+
if (parent && (parent.children || parent.endTag)) {
|
|
101
|
+
parent.children = parent.children || [];
|
|
101
102
|
parent.children.push(verseObject);
|
|
102
103
|
toRemove.push(i);
|
|
103
104
|
}
|
|
Binary file
|