Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support running the old transformer in timelinetestutil #145

Draft
wants to merge 234 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
234 commits
Select commit Hold shift + click to select a range
1b0aad2
adding and working on performance testing scripts
MichaelBelousov Mar 20, 2023
5ab0579
add some simple transformer events to be used by profilers
MichaelBelousov Mar 20, 2023
b41f669
wip profiling scripts
MichaelBelousov Mar 20, 2023
cf99f69
working on hooks
MichaelBelousov Mar 20, 2023
65a430b
wip hooking
MichaelBelousov Mar 21, 2023
96621b0
add linux perf hook
MichaelBelousov Mar 21, 2023
d35559d
working on making it easy to run performance scripts
MichaelBelousov Mar 21, 2023
3b864e8
fix perf
MichaelBelousov Mar 21, 2023
39c1497
fix perf delay and write stream closing
MichaelBelousov Mar 21, 2023
be82485
cleanup scripts
MichaelBelousov Mar 21, 2023
c222c68
add README
MichaelBelousov Mar 21, 2023
359f3d3
starting to add performance tests package
MichaelBelousov Mar 21, 2023
7578f0b
fix sqlite profiler
MichaelBelousov Mar 21, 2023
2a05d98
remove unused workspace performance-scripts dep
MichaelBelousov Mar 21, 2023
80327d6
also profile targetDb when doing sqlite profiling
MichaelBelousov Mar 22, 2023
b47bbf4
emit end event in finally
MichaelBelousov Mar 22, 2023
80b69ca
add multi-branch-test script
MichaelBelousov Mar 23, 2023
8f5a5b0
temp fix sqlite profile hooks
MichaelBelousov Mar 23, 2023
a9b1de7
use smaller file and also clean lib
MichaelBelousov Mar 23, 2023
3c20b47
fix sqliteprofile output ext
MichaelBelousov Mar 23, 2023
fd2161f
fix where mkdir occurs
MichaelBelousov Mar 23, 2023
530ec4d
performance scripts js cpu profiler fixes
MichaelBelousov Mar 30, 2023
e418b72
format sql
MichaelBelousov Apr 6, 2023
d3a9e2d
wip fed guid based provenance
MichaelBelousov Apr 6, 2023
bfc9b78
working on sorted iteration intersection
MichaelBelousov Apr 7, 2023
fc072e9
first draft of fed guid based provenance tracking
MichaelBelousov Apr 7, 2023
1b2d6aa
adapt last provenance to fedguid case
MichaelBelousov Apr 7, 2023
d3a6af1
fix new forEachTrackedElement
MichaelBelousov Apr 7, 2023
dc020ab
fix branching test with new provenance scheme
MichaelBelousov Apr 7, 2023
d31f687
fix package references in test-app
MichaelBelousov Apr 7, 2023
0733ac7
Revert "fix package references in test-app"
MichaelBelousov Apr 7, 2023
dd0d85a
use fed guids for relationship provenance
MichaelBelousov Apr 17, 2023
d2c60d8
add comment about broken detectElementDeletes
MichaelBelousov Apr 18, 2023
5762951
working on new hasElementChanged method
MichaelBelousov Apr 24, 2023
b8f7da4
ignore some changes in old test
MichaelBelousov Apr 24, 2023
881052a
insert and validate (but not yet update) last sync version
MichaelBelousov Apr 25, 2023
dc1c0da
move out and fix change attach order and query
MichaelBelousov Apr 25, 2023
41a0608
fixup: remove unnecessary loop over query
MichaelBelousov Apr 25, 2023
83c27a6
fixes and notes for new provenance behavior
MichaelBelousov Apr 25, 2023
1e034f7
working on ignoring changes before last transform
MichaelBelousov Apr 25, 2023
445803b
fix changeset id in query
MichaelBelousov Apr 28, 2023
cffdf40
correct name _changesetIds to _changeSummaryIds
MichaelBelousov Apr 28, 2023
111dbd4
remove for loop running query multiple times and use InVirtualSet ins…
MichaelBelousov Apr 28, 2023
d993b1f
working on new remapDeletedSourceElements
MichaelBelousov Apr 28, 2023
710d5fe
fix get targetId in remapDeletedSourceElements query
MichaelBelousov Apr 28, 2023
fb9d08e
crazy single query for all fed change summaries where fed guid might …
MichaelBelousov Apr 28, 2023
9e0a0bc
wip ill-thought out attempt at onDeleteRelationship refactor
MichaelBelousov Apr 29, 2023
002f054
add to-be-used option to disable new provenance technique
MichaelBelousov Apr 29, 2023
e029041
working on big query for caching source changes (now including rel de…
MichaelBelousov Apr 29, 2023
30cdc70
adapt onDeleteRelationship to changes
MichaelBelousov Apr 29, 2023
e3f4cb6
clean up queries a tiny bit and fix using :delete keyword as binding
MichaelBelousov Apr 29, 2023
2ba45c5
seem to have a working query now
MichaelBelousov Apr 30, 2023
7cf9c3e
first draft of fix for onDeleteRelationship
MichaelBelousov Apr 30, 2023
6901886
working on processChanges default changeset to be since last transfor…
MichaelBelousov Apr 30, 2023
d3e1242
working on downloading correct changesets since last transform
MichaelBelousov May 1, 2023
add57d3
fixes and working on replacing full no-op asserts in test
MichaelBelousov May 1, 2023
e543bd1
fix more test assumptions
MichaelBelousov May 1, 2023
46c65de
fix joins and useless update in noop case
MichaelBelousov May 1, 2023
bd1843e
fix not using provenanceDb for updating targetScopeElement provenance
MichaelBelousov May 1, 2023
05f9e7d
remove provenance part of physical model consolidation test
MichaelBelousov May 1, 2023
be1cdd3
don't list empty aspect deletions
MichaelBelousov May 1, 2023
e8a40a0
skip failing catalog test
MichaelBelousov May 1, 2023
69611b5
add custom prerelease prefix option to workflow
MichaelBelousov May 1, 2023
e1c00da
Merge branch 'main' into allow-custom-prerelease-prefixes
MichaelBelousov May 1, 2023
579f951
remove performance stuff from whence this branch came
MichaelBelousov May 1, 2023
674d501
notes about fixing transformer resumption
MichaelBelousov May 2, 2023
eaedc9a
Change files
MichaelBelousov May 2, 2023
d5f886a
Merge branch 'allow-custom-prerelease-prefixes' into federation-guid-…
MichaelBelousov May 2, 2023
c7e44de
replacing npm dist-tag for special versions
MichaelBelousov May 2, 2023
28bea74
refactor special tag releases
MichaelBelousov May 2, 2023
3f39041
remove old package name based change
MichaelBelousov May 2, 2023
07ada85
Change files
MichaelBelousov May 2, 2023
f7cd050
Merge remote-tracking branch 'origin/main' into federation-guid-optim…
MichaelBelousov May 2, 2023
70a5c0f
make change a patch because prerelease doesn't work otherwise
MichaelBelousov May 2, 2023
8a9b9d7
Version bump [skip actions]
imodeljs-admin May 2, 2023
487f4f3
Rerelease again as 0.1.7 (#33)
MichaelBelousov May 2, 2023
861e362
Version bump [skip actions]
imodeljs-admin May 2, 2023
8f60c2b
Merge remote-tracking branch 'origin/main' into federation-guid-optim…
MichaelBelousov May 2, 2023
70e5b26
Version bump [skip actions]
imodeljs-admin May 2, 2023
7992476
Merge remote-tracking branch 'origin/main' into federation-guid-optim…
MichaelBelousov May 19, 2023
a130023
fixup: merge forgot to remove old style provenance check from timelin…
MichaelBelousov May 19, 2023
69320d3
working on adding mixed provenance elements to large branch test
MichaelBelousov May 19, 2023
3850e59
fix return instead of continue skipping some deleted elements
MichaelBelousov May 22, 2023
5d6e5a3
fix only look for updates in changed element cache
MichaelBelousov May 22, 2023
b4adec8
comment adjustments
MichaelBelousov May 22, 2023
4db151f
fix manual federation guid removing update
MichaelBelousov May 22, 2023
dc13198
fixup: adjust comment
MichaelBelousov May 22, 2023
d5e2123
add manualUpdateAndReopen, move fed guid null settint to the seed for…
MichaelBelousov May 22, 2023
c4e7b3e
assert entire aspect state of both branches correctly
MichaelBelousov May 22, 2023
2b1d7e0
remove .only
MichaelBelousov May 22, 2023
c611858
add test of deletion of old style provenance
MichaelBelousov May 22, 2023
522a6f4
use forceExternalSourceAspectProvenance
MichaelBelousov May 23, 2023
c306659
deprecate InitFromExternalSourceAspectsArgs and replace with InitArgs
MichaelBelousov May 23, 2023
3ee157c
add sourceTYPE args to test app
MichaelBelousov May 24, 2023
e9e9b37
attach auth client properly
MichaelBelousov May 24, 2023
f3a64f0
bump deps to allow for 3.7 usage
MichaelBelousov May 24, 2023
9e59284
pnpm update, probably temporary
MichaelBelousov May 24, 2023
9e224f1
add targetStandaloneDestination to do local lock-free processChanges …
MichaelBelousov May 25, 2023
db7e395
add test script
MichaelBelousov May 25, 2023
ced7d72
un-mega-join the Changes() queries
MichaelBelousov May 25, 2023
2d0ca3e
fix using cached briefcase of wrong changeset
MichaelBelousov May 26, 2023
2a10154
test-app minor fixes for local test
MichaelBelousov May 30, 2023
79c7583
wip fixing fedguid using queries
MichaelBelousov May 30, 2023
51256f4
timeline testutils support for relationship state
MichaelBelousov May 30, 2023
eecaf11
add relationship delete to big branching workflow test
MichaelBelousov May 30, 2023
ffc270b
fix unused imports
MichaelBelousov May 30, 2023
74a3d47
Merge remote-tracking branch 'origin/main' into federation-guid-optim…
MichaelBelousov May 30, 2023
e0e3e9e
Merge remote-tracking branch 'origin/fork-relationship-delete-tests' …
MichaelBelousov May 30, 2023
f3794da
quick comment out wip query changes
MichaelBelousov May 30, 2023
50dd7f0
remove undefined state from targetElementId in onExportElement
MichaelBelousov May 30, 2023
db17ccf
notes about subset equal limitations
MichaelBelousov May 30, 2023
7c28c1e
add assert for elem deletion synchronization
MichaelBelousov May 30, 2023
ac2b9be
wip refactor remap deleted
MichaelBelousov May 30, 2023
bcb8766
fix element deletes
MichaelBelousov May 30, 2023
cc8ecd3
cleanup and add deleted rel with no fedguids on its source/target elems
MichaelBelousov May 30, 2023
8be4ad7
add noDetachChangeCache option
MichaelBelousov May 30, 2023
a86ee6f
don't use fed-guid less elem 1 for sync deleted-provenance relationsh…
MichaelBelousov May 30, 2023
20d6a9d
minor cleanup
MichaelBelousov May 30, 2023
5928efb
attempt at batch handler that I will revert now
MichaelBelousov May 31, 2023
4707e05
fixup: revert batch and rework on rel delete
MichaelBelousov May 31, 2023
f404f24
working on source==provenance optimization for reverse sync
MichaelBelousov May 31, 2023
aa48f97
use an aligned union query to make it easier to read
MichaelBelousov May 31, 2023
7894db4
query alignment fixes and rewrite processing loop
MichaelBelousov May 31, 2023
1d96851
ignore lacking provenance to handle local deletes showing up in chang…
MichaelBelousov May 31, 2023
51fec5d
fix bad negation on noDetachChangeCache
MichaelBelousov May 31, 2023
6c58d8a
more asserts in big branch test
MichaelBelousov May 31, 2023
68a15d4
add bailing out to querying provenance db even without fedguid
MichaelBelousov May 31, 2023
f640c40
working on last-ditch relationship provenance processing
MichaelBelousov May 31, 2023
8fc264b
try using jsonProperties.targetRelInstanceId for simpler query
MichaelBelousov May 31, 2023
8988c16
add literal name for sync.since argument
MichaelBelousov May 31, 2023
f14d6ed
set target scope version in provenance init
MichaelBelousov May 31, 2023
b3fb7da
disable broken eslint indent rule
MichaelBelousov May 31, 2023
a31d44d
working on reverse sync tracking
MichaelBelousov May 31, 2023
1e175f1
handle reverseSyncVersion
MichaelBelousov May 31, 2023
a395aad
cleanup synchronizationVersion, fix branch workflow test changesets
MichaelBelousov May 31, 2023
2f1189e
deprecate passing changeset index directly to process/exportChanges
MichaelBelousov Jun 1, 2023
7f971dc
remove need to have explicit 'since' in timeline test utility
MichaelBelousov Jun 1, 2023
690c998
split the branches to branch off separate master changesets in big ti…
MichaelBelousov Jun 1, 2023
c2f2da9
fix startChangesetIndexOrId type in _tryInitChangesetData
MichaelBelousov Jun 1, 2023
4c99c4a
use an array instead of an object for timeline
MichaelBelousov Jun 1, 2023
29f7387
add post-sync assertions and remove the generic assertion which isn't…
MichaelBelousov Jun 1, 2023
3be290c
add prerelease type test
MichaelBelousov Jun 1, 2023
066a611
working on skipping merge changesets
MichaelBelousov Jun 2, 2023
b9cb0a2
revert events work that this branch was originally based on
MichaelBelousov Jun 2, 2023
9d716d1
add synchronization changeset detection, updating, and clearing
MichaelBelousov Jun 2, 2023
70b722d
only create change summaries for necessary ranges, skipping synchroni…
MichaelBelousov Jun 2, 2023
85fd6e4
fix algo
MichaelBelousov Jun 2, 2023
466cfff
allow initializing ChangedInstanceIds from multi-ranges of changesets
MichaelBelousov Jun 2, 2023
ff19036
propagate changeset range arguments
MichaelBelousov Jun 2, 2023
e986645
fix excluding sync changesets
MichaelBelousov Jun 5, 2023
a0d2270
cleanup, mostly indent rule
MichaelBelousov Jun 5, 2023
13641e9
don't query entire instance and don't query at all if unnecessary in …
MichaelBelousov Jun 5, 2023
31b6c59
working on fixing aspect provenance
MichaelBelousov Jun 5, 2023
670cf26
add fallback query of element provenance
MichaelBelousov Jun 5, 2023
03cbb27
fix bad assert and lack of bindings in query call I just added
MichaelBelousov Jun 5, 2023
70952e8
tweak large scale test
MichaelBelousov Jun 5, 2023
1e4bc39
use separate transformers to apply changes, ignore skipping of 0th ch…
MichaelBelousov Jun 5, 2023
39b4990
remove extraneous logging and test.only
MichaelBelousov Jun 5, 2023
4ff8c36
Merge remote-tracking branch 'origin/main' into federation-guid-optim…
MichaelBelousov Jun 5, 2023
97dd8f9
test-app: don't check only first briefcase in cache
MichaelBelousov Jun 6, 2023
16ff32e
refactor placement transform and intialize transformer in catalog calls
MichaelBelousov Jun 6, 2023
ed03743
add ignoreMissingChangesetsInSynchronizations option
MichaelBelousov Jun 6, 2023
085c182
make test catalog import async initialized
MichaelBelousov Jun 6, 2023
c2dbc25
fix catalog remapping
MichaelBelousov Jun 6, 2023
5ff2314
reimplement detectElementDeletes for older workflows
MichaelBelousov Jun 6, 2023
91e59f0
remove temp release-dev check
MichaelBelousov Jun 6, 2023
9025a97
don't allow empty string to be prerelease prefix
MichaelBelousov Jun 6, 2023
e0f70d8
Version bump [skip actions]
imodeljs-admin Jun 6, 2023
8069422
Fixed an infinite recursion bug when processing changes (#57)
ViliusRuskys Jun 8, 2023
7982a09
Merge remote-tracking branch 'origin/main' into federation-guid-optim…
MichaelBelousov Jun 8, 2023
c96b047
Explicitly track provenance with ExternalSourceAspects when combining…
ViliusRuskys Jun 8, 2023
ace7e8c
Version bump [skip actions]
imodeljs-admin Jun 8, 2023
349058f
Merge branch 'main' into federation-guid-optimization
MichaelBelousov Jun 14, 2023
be6e364
fix merge artifacts
MichaelBelousov Jun 14, 2023
ce8c451
add validate docs step
MichaelBelousov Jun 14, 2023
601143c
Implemented check for aspect identifier being not an id (#87)
KyryloVolotovskyi Jun 28, 2023
e6dc948
Fix element provenance direction in reverse synchronization workflow …
ViliusRuskys Jun 28, 2023
a56be5b
Version bump [skip actions]
imodeljs-admin Jun 28, 2023
84b733b
reverse synchronization test case (#78)
ViliusRuskys Jul 11, 2023
b541aff
Version bump [skip actions]
imodeljs-admin Jul 11, 2023
68f975d
Merge remote-tracking branch 'origin/main' into federation-guid-optim…
MichaelBelousov Jul 18, 2023
af070ea
v7 lockfile
MichaelBelousov Jul 18, 2023
b716a0b
remerge lockfile
MichaelBelousov Jul 19, 2023
35e2c59
reworking process changes to not traverse element trees
MichaelBelousov Jul 19, 2023
188773d
fix inverted bool
MichaelBelousov Jul 19, 2023
a717b38
fix glaring error in forEachTrackedElement
MichaelBelousov Jul 19, 2023
388a222
don't use transformer context after removing hierarchy
MichaelBelousov Jul 19, 2023
870198e
deprecate resumption api
MichaelBelousov Jul 19, 2023
b9d30f2
remove no longer necessary printing of itjs dep
MichaelBelousov Jul 19, 2023
af15c56
fixup: remove usage of .only on test
MichaelBelousov Jul 19, 2023
a8f9a1d
continued work
MichaelBelousov Jul 19, 2023
9558905
Revert "continued work"
MichaelBelousov Jul 19, 2023
0d4f552
Revert "don't use transformer context after removing hierarchy"
MichaelBelousov Jul 19, 2023
49e30a8
Revert "reworking process changes to not traverse element trees"
MichaelBelousov Jul 19, 2023
e2b7608
remove optimization that no longer works without lastMod
MichaelBelousov Jul 19, 2023
11746e7
update numElementsUpdates
MichaelBelousov Jul 19, 2023
cc13c5a
Element recreation fix refactor (#99)
MichaelBelousov Jul 24, 2023
046efb7
Version bump [skip actions]
imodeljs-admin Jul 24, 2023
19cb44c
Fed guid opt branch provenance init test (#107)
DanRod1999 Aug 7, 2023
cfd3024
make updateSynchronizationVersion public and add a force option
MichaelBelousov Aug 10, 2023
2611661
fix bad rename
MichaelBelousov Aug 10, 2023
1019373
also track source's sync changesets during reverse sync (#108)
MichaelBelousov Aug 10, 2023
d250f84
Version bump [skip actions]
imodeljs-admin Aug 10, 2023
28b3f0d
Reverse synchronize deletes of elements with random ExternalSourceAsp…
ViliusRuskys Sep 8, 2023
7273a94
Version bump [skip actions]
imodeljs-admin Sep 8, 2023
1377c09
Merge remote-tracking branch 'origin/main' into federation-guid-optim…
MichaelBelousov Sep 13, 2023
b47d581
post merge test fixes
MichaelBelousov Sep 13, 2023
5e23859
Version bump [skip actions]
imodeljs-admin Sep 13, 2023
06055a0
revert to original behavior of provenance ExternalSourceAspect versio…
MichaelBelousov Sep 20, 2023
dfbdeee
Version bump [skip actions]
imodeljs-admin Sep 20, 2023
82efbf7
Merge remote-tracking branch 'origin/main' into federation-guid-optim…
MichaelBelousov Sep 26, 2023
cdee5bb
remove +1 from aspect check in fedguid branch
MichaelBelousov Sep 26, 2023
d552d2a
Version bump [skip actions]
imodeljs-admin Sep 26, 2023
815afe7
mike processed FIXMEs
MichaelBelousov Nov 13, 2023
f56af25
pnpm lint
nick4598 Nov 15, 2023
cb15d46
report last db error in branch provenenance init, and better imports
MichaelBelousov Nov 15, 2023
8e40874
use pathToFileUrl when attaching database
nick4598 Nov 15, 2023
5dabfb8
add FIXME about filtering syncChangesetsToClear
MichaelBelousov Nov 15, 2023
030da11
Added API for querying provenance info for derived transformer classe…
ViliusRuskys Nov 17, 2023
6d587f3
Handle duplicate code values when updating elements (#124)
ViliusRuskys Nov 17, 2023
7cd1e5c
Version bump [skip actions]
imodeljs-admin Nov 20, 2023
b7a6679
Move aspect processing before any clean up is started in change proce…
mindaugasdirg Nov 27, 2023
02433db
Algo.ts enhancements, test deleting relationship and delete element r…
nick4598 Nov 29, 2023
74333f6
unskip test that we must fix before this merges, now that deployed ve…
MichaelBelousov Nov 29, 2023
0cc7cfb
Add FIXME about new fed guid behavior on special root elems
MichaelBelousov Nov 29, 2023
25b9b99
Change the BranchProvenanceInitializer tests so that they don't creat…
nick4598 Dec 8, 2023
799afea
Read changesets directly instead of applying them to determine whats …
nick4598 Jan 12, 2024
187d8be
Add prettier as a commit hook, switch to eslint flat config, add some…
nick4598 Jan 16, 2024
d7925b9
Use options.forceExternalSourceAspectProvenance && shouldDetectDelete…
nick4598 Jan 19, 2024
aa88255
Detect synchronization direction from ESA data stored in the provenan…
nick4598 Jan 25, 2024
b4d107b
add old-transformer-hack
nick4598 Jan 25, 2024
6f751c3
incorporate old-transformer-hack into timelinetestutil and package.json
nick4598 Jan 25, 2024
7ab05f6
Add in the test I was working on.. Not sure this is useful though.
nick4598 Jan 31, 2024
2282eb7
Update packages/transformer/src/test/TestUtils/TimelineTestUtil.ts
nick4598 Jan 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .eslintrc.json

This file was deleted.

2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npm run pre-commit
npm run pre-commit
6 changes: 6 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": true,
"singleQuote": false
}
42 changes: 28 additions & 14 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,33 @@
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Unit tests",
"runtimeExecutable": "npm",
"cwd": "${workspaceFolder}/packages/performance-tests/",
"runtimeArgs": [
"run",
"test-mocha"
],
"skipFiles": [
"<node_internals>/**"
]
}
{
"type": "node",
"request": "launch",
"name": "Regression tests",
"runtimeExecutable": "npm",
"cwd": "${workspaceFolder}/packages/performance-tests/",
"runtimeArgs": [
"run",
"test-mocha"
],
"skipFiles": [
"<node_internals>/**"
]
},
{
"type": "node",
"request": "launch",
"name": "Unit tests",
"runtimeExecutable": "npm",
"cwd": "${workspaceFolder}/packages/transformer/",
"runtimeArgs": [
"run",
"test"
],
"skipFiles": [
"<node_internals>/**"
]
}
]
}
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
// "editor.formatOnSave": true, DO NOT TURN THIS ON WITH THE PRETTIER FORMATTER! Known bug with find and replace: https://github.com/prettier/prettier-vscode/issues/3040
"editor.defaultFormatter": "esbenp.prettier-vscode",
"eslint.experimental.useFlatConfig": true,
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "patch",
"comment": "fed guid optimization test",
"packageName": "@itwin/imodel-transformer",
"email": "[email protected]",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "patch",
"comment": "rerelease again",
"packageName": "@itwin/imodel-transformer",
"email": "[email protected]",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "patch",
"comment": "revert to original behavior of provenance ExternalSourceAspect version behavior",
"packageName": "@itwin/imodel-transformer",
"email": "[email protected]",
"dependentChangeType": "patch"
}
103 changes: 103 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
const itwinjsRecommended = require("@itwin/eslint-plugin/dist/configs/itwinjs-recommended");
const iTwinPlugin = require("@itwin/eslint-plugin");
const prettier = require("eslint-config-prettier/prettier");

module.exports = [
{
files: ["**/*.ts"],
...iTwinPlugin.configs.iTwinjsRecommendedConfig,
},
{
files: ["**/*.ts"],
rules: {
"@itwin/no-internal": [
"warn",
{
tag: ["internal"],
},
],
"@typescript-eslint/naming-convention": [
...itwinjsRecommended.rules["@typescript-eslint/naming-convention"],
{
selector: "objectLiteralProperty",
format: null,
leadingUnderscore: "allowSingleOrDouble",
},
],
"@typescript-eslint/indent": ["off"],
"@typescript-eslint/dot-notation": [
"error",
{
allowProtectedClassPropertyAccess: true,
allowPrivateClassPropertyAccess: true,
},
],
/** The following set of rules were manually turned off by using the output of 'npx eslint-config-prettier ./src/IModelTransformer.ts'
* which shows conflicting or unnecessary rules when using eslint + prettier.
*/
"@typescript-eslint/member-delimiter-style": ["off"],
"@typescript-eslint/no-extra-semi": ["off"],
"@typescript-eslint/semi": ["off"],
"@typescript-eslint/space-before-function-paren": ["off"],
"@typescript-eslint/type-annotation-spacing": ["off"],
"eol-last": ["off"],
"max-statements-per-line": ["off"],
"new-parens": ["off"],
"no-multiple-empty-lines": ["off"],
"no-trailing-spaces": ["off"],
"nonblock-statement-body-position": ["off"],
"quote-props": ["off"],
"arrow-parens": ["off"],
"brace-style": ["off"],
"comma-dangle": ["off"],
/** https://github.com/prettier/eslint-config-prettier#special-rules */
"@typescript-eslint/quotes": [
"error", "double", { "avoidEscape": true, "allowTemplateLiterals": false }
]
},
},
{
files: ["**/*.ts"],
...prettier,
},
{
files: ["packages/transformer/**/*.ts"],
languageOptions: {
parserOptions: {
project: "packages/transformer/tsconfig.json",
tsconfigRootDir: __dirname
},
sourceType: "commonjs",
}
},
{
files: ["packages/performance-tests/**/*.ts"],
rules: {
"@typescript-eslint/naming-convention": [
...itwinjsRecommended.rules["@typescript-eslint/naming-convention"],
{
selector: ["objectLiteralProperty", "typeProperty"],
format: null,
leadingUnderscore: "allowSingleOrDouble",
},
],
},
languageOptions: {
parserOptions: {
project: "packages/performance-tests/tsconfig.json",
tsconfigRootDir: __dirname
},
sourceType: "commonjs",
}
},
{
files: ["packages/test-app/**/*.ts"],
languageOptions: {
parserOptions: {
project: "packages/test-app/tsconfig.json",
tsconfigRootDir: __dirname
},
sourceType: "commonjs",
}
}
];
13 changes: 10 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"test": "pnpm -r test --filter !transformer-performance-tests",
"docs": "pnpm -r docs",
"lint": "pnpm -r lint",
"format": "pnpm -r format",
"cover": "pnpm -r cover",
"lint:copyright": "node scripts/copyrightLinter.js",
"change": "beachball change",
Expand All @@ -19,18 +20,21 @@
"version-bump-dev": "beachball bump --config beachball.config.dev.js --keep-change-files",
"publish-packages": "beachball publish",
"publish-packages-dev": "beachball publish --config beachball.config.dev.js --keep-change-files",
"pre-commit": "lint-staged"
"pre-commit": "lint-staged",
"prepare": "husky install"
},
"license": "MIT",
"devDependencies": {
"beachball": "^2.33.3",
"fast-glob": "^3.2.12",
"husky": "^8.0.3",
"lint-staged": "^13.2.2"
"lint-staged": "^13.2.2",
"prettier": "^3.1.1"
},
"lint-staged": {
"*.{ts,html}": [
"pnpm lint:copyright --fix"
"pnpm lint:copyright --fix",
"prettier --write -u"
]
},
"engines": {
Expand All @@ -44,6 +48,9 @@
"typedoc-plugin-merge-modules": "^4.0.1",
"typescript": "^5.0.2",
"@typescript-eslint/eslint-plugin": "^5.59.7"
},
"patchedDependencies": {
"@itwin/[email protected]": "patches/@[email protected]"
}
}
}
14 changes: 14 additions & 0 deletions packages/old-transformer-hack/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# old-transformer-hack

## Description

This package exists solely for testing the @itwin/imodel-transformer. It reexports an older version of the iModelTransformer (currently 0.4.4-dev.0) so that iModels can be tested in the transition from old transformer to new transformer (^1.x).

See packages\transformer\src\test\TestUtils\TimelineTestUtil.ts for its use.


`import { IModelTransformer as OldIModelTransformer } from "old-transformer-hack"`;

## Notes

Currently both the old transformer and new transformer work with the same versions of @itwin/core-backend package. This may no longer be true in the future and may require additional changes to support having two versions of the transformer with different versions of itwinjs.
30 changes: 30 additions & 0 deletions packages/old-transformer-hack/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"name": "old-transformer-hack",
"version": "1.0.0",
"private": true,
"description": "Used to test that behavior of the old transformer is properly transitioned over to the new transformer's behavior",
"main": "lib/cjs/oldTransformer.js",
"typings": "lib/cjs/oldTransformer",
"scripts": {
"build": "npm run -s build:cjs && npm run -s copy:test-assets",
"build:ci": "npm run -s build",
"build:cjs": "tsc 1>&2 --outDir lib/cjs",
"clean": "rimraf lib",
"test": "echo \"Error: no test specified\" && exit 1",
"copy:test-assets": "cpx \"./src/test/assets/**/*\" ./lib/cjs/test/assets"
},
"devDependencies": {
"@itwin/imodel-transformer": "0.4.4-dev.0",
"@itwin/build-tools": "^4.3.3",
"@itwin/core-backend": "^4.3.3",
"@itwin/core-bentley": "^4.3.3",
"@itwin/core-common": "^4.3.3",
"@itwin/core-geometry": "^4.3.3",
"@itwin/core-quantity": "^4.3.3",
"@itwin/ecschema-metadata": "^4.3.3",
"cpx2": "^3.0.2",
"typescript": "^5.0.4"
},
"author": "",
"license": "ISC"
}
5 changes: 5 additions & 0 deletions packages/old-transformer-hack/src/oldTransformer.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
export { IModelTransformer } from "@itwin/imodel-transformer";
9 changes: 9 additions & 0 deletions packages/old-transformer-hack/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"extends": "./node_modules/@itwin/build-tools/tsconfig-base.json",
"compilerOptions": {
"resolveJsonModule": true,
"rootDir": "src"
},
"include": ["./src/**/*.ts"]
}

9 changes: 6 additions & 3 deletions packages/performance-scripts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,15 @@
"build": "tsc -p tsconfig.json",
"test": "echo \"Error: no tests\" && exit 0"
},
"keywords": ["performance", "profiling"],
"keywords": [
"performance",
"profiling"
],
"author": "Bentley Systems, Inc.",
"license": "MIT",
"devDependencies": {
"@itwin/build-tools": "^3.6.0 || ^4.0.0",
"@itwin/core-backend": "^3.6.0 || ^4.0.0",
"@itwin/build-tools": "4.3.3",
"@itwin/core-backend": "4.3.3",
"@types/node": "^18.11.5",
"typescript": "~4.4.0"
}
Expand Down
25 changes: 0 additions & 25 deletions packages/performance-tests/.eslintrc.js

This file was deleted.

Loading