Skip to content

RefMap Check Should Resolve Ref Fragment #16

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

Closed
wants to merge 339 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
339 commits
Select commit Hold shift + click to select a range
87aa19e
feat(package): fix int parsing behavior for draft6 | all tests passing
Apr 18, 2018
1cefe71
fix(package): allow createFromUrl functions to specify schemaVersion …
Apr 18, 2018
be4c208
Merge pull request #11 from michaelcarter-wf/update_draft4_schema_tests
michaelcarter-wf Apr 18, 2018
536622d
Merge branch '2.0.0_wip' of github.com:workiva/json_schema into draft…
Apr 18, 2018
2fee3be
fix(package): cr fixes
Apr 18, 2018
9fd1fcf
fix(package): cr fixes
Apr 18, 2018
caeb6db
Merge pull request #12 from michaelcarter-wf/draft6_update
michaelcarter-wf Apr 18, 2018
97c21ad
feat(package): add a method for consumers to specify their own $ref p…
Apr 20, 2018
91ba717
feat(package): recursive ref tests passing
Apr 24, 2018
47dafe9
Update Dockerfile
travisreed-wf Apr 25, 2018
d01115b
Update Dockerfile
travisreed-wf Apr 25, 2018
9c0bd43
Update Dockerfile
travisreed-wf Apr 25, 2018
28f143d
Merge pull request #14 from travisreed-wf/patch-1
michaelcarter-wf Apr 25, 2018
8220bcd
Merge pull request #10 from Workiva/smithy_dockerfile_migration
michaelcarter-wf Apr 26, 2018
3e063ad
Update .gitignore to new `dart_tool` pub cache
bcko May 24, 2018
f4ac8f2
Merge pull request #16 from bcko/patch-1
michaelcarter-wf May 24, 2018
ede8704
feat(remote-ref): fix ref within remote ref tests - 7 tests failing
May 24, 2018
0afe923
feat(package): added inheritance to ids and refs
May 30, 2018
60189a4
imp(package): remove parentOrRoot, not needed
May 30, 2018
e532f6e
fix(package): remove unnecessary parameter
May 30, 2018
83250a2
feat(package): all draft06 tests passing #awyeah
Jun 4, 2018
8a76f80
fix(json-schema): cr fixes
Jun 21, 2018
1ea72b1
chore(json-schema): remove prints
Jun 21, 2018
b4c54c5
fix(json-schema): hide members that don't need to be public
Jun 21, 2018
fa0a763
chore(json-schema): remove another public member
Jun 21, 2018
f8601cb
cleanup(package): remove ref provider for now, need to do sync work f…
Jun 21, 2018
41ba846
Merge branch 'master' of github.com:workiva/json_schema into ref_prov…
Jun 21, 2018
b4e77c7
chore(package): remove for refProvider related stuff
Jun 21, 2018
9353656
Merge branch 'ref_provider' of github.com:michaelcarter-wf/json_schem…
Jun 21, 2018
d2c0aca
af_new_drydock_image : updates
Jun 22, 2018
02610a6
feat(package): sync schemas mostly working | 4 tests failing
Jun 25, 2018
1f99368
feat(package): local cache of draft4 and draft6 schema definitions fo…
Jun 25, 2018
f3d8875
Merge pull request #18 from dustinlessard-wf/af_new_drydock_image
michaelcarter-wf Jun 25, 2018
52eb4a6
fix(package): remove provider stuff
Jun 25, 2018
9f9e291
fix(package): cr fixes
Jun 25, 2018
b6642f2
fix(json-schema): comment cleanup
Jun 25, 2018
50d9600
chore(travis): update dartium expiration date
Jun 25, 2018
b8c68f5
Merge pull request #13 from michaelcarter-wf/ref_provider
michaelcarter-wf Jun 25, 2018
c6e0413
Merge branch '2.0.0_wip' of github.com:workiva/json_schema into sync_…
Jun 25, 2018
8338e47
feat(package): change the default createSchema function to be the syn…
Jun 25, 2018
be23822
fix(package): actually set isSync flag properly | 3 tests failing
Jun 25, 2018
5fb224f
fix(package): fix resolution of top level refs | all tests passing
Jun 26, 2018
770f305
fix(package): update comments
Jun 26, 2018
1682380
Merge pull request #19 from michaelcarter-wf/sync_schemas_2
michaelcarter-wf Jun 27, 2018
c77f148
feat(package): allow sync and async RefProviders to be specified when…
Jun 27, 2018
7065e4c
chore(package): ddev format
Jun 27, 2018
e90d125
fix a Completer's type
devoncarew Jun 29, 2018
d18b4ba
Merge pull request #22 from devoncarew/fix_completer
michaelcarter-wf Jul 2, 2018
975356c
fix(package): cr fixes
Jul 2, 2018
3272e44
chore(package): ddev format
Jul 2, 2018
f7ba24f
Merge pull request #20 from michaelcarter-wf/sync_async_ref_provider
michaelcarter-wf Jul 2, 2018
ee5e7e4
json_schema_1.0.9
rmconsole-readonly-wk Jul 2, 2018
f76cca5
Merge pull request #23 from Workiva/release_json_schema_1_0_9
rm-astro-wf Jul 2, 2018
102b4b1
Merge branch 'master' of github.com:workiva/json_schema into 2.0.0_wip
Jul 2, 2018
e7656e2
Merge pull request #21 from Workiva/2.0.0_wip
michaelcarter-wf Jul 2, 2018
139157d
json_schema_2.0.0-RC1
rmconsole-readonly-wk Jul 2, 2018
1c60fc3
Merge pull request #24 from Workiva/release_json_schema_2_0_0-RC1
michaelcarter-wf Jul 2, 2018
cffd509
Make compatible with Dart 1 and Dart 2 constant names
leafpetersen Jul 23, 2018
0100993
Bump sdk constraint
leafpetersen Jul 26, 2018
8cca979
json_schema_2.0.0-RC2
rmconsole-readonly-wk Jul 26, 2018
9f34ef3
Bump lower bound to 1.24
leafpetersen Jul 26, 2018
5bc61b8
Merge pull request #26 from leafpetersen/fix_constants
michaelcarter-wf Jul 26, 2018
23b577d
chore(package): fix version
Jul 26, 2018
14e7bb5
Merge pull request #28 from Workiva/release_json_schema_2_0_0-RC2
michaelcarter-wf Jul 26, 2018
2d1e8ac
use dart base image
josephswanson-wf Oct 24, 2018
0ce64af
chore(examples): cleanup commented code
michaelcarter-wf Nov 2, 2018
1fc578e
imp(package): schemaVersion string --> class
michaelcarter-wf Nov 2, 2018
b782c3d
imp(schema-type): no more SCREAMING CAPS!
michaelcarter-wf Nov 2, 2018
232480e
feat(package): allow strings to be passed to createSchema calls, and …
michaelcarter-wf Nov 2, 2018
33a3816
feat(package): break "additionalItems" into additionalItemsBool and a…
michaelcarter-wf Nov 2, 2018
56ff2eb
doc(package): add some comments
michaelcarter-wf Nov 2, 2018
c41dbce
imp(package): expose single type getter and rename old to be in line …
michaelcarter-wf Nov 2, 2018
eb10d0b
imp(package): clarify additionalProperties getter split
michaelcarter-wf Nov 2, 2018
54ef689
chore(package): remove unused import
michaelcarter-wf Nov 2, 2018
dd9ff62
imp(package): remove "paths" getter, wasn't used and is an implementa…
michaelcarter-wf Nov 2, 2018
a867c2a
imp(validation): update validate api params to allow JSON decode, and…
michaelcarter-wf Nov 2, 2018
e9dc6b7
chore(package): more schemaTypeList --> typeList
michaelcarter-wf Nov 2, 2018
03a3661
chore(package): ddev format
michaelcarter-wf Nov 2, 2018
ccce6d9
feat(package): add a toJson() function, so that all JsonSchema object…
michaelcarter-wf Nov 2, 2018
28d6284
chore(package): deprecate schema_dot and provide a warning about usin…
michaelcarter-wf Nov 2, 2018
fbf6fe3
feat(package): add the "examples" keyword
michaelcarter-wf Nov 2, 2018
3869afe
chore(package): deprecate refMap
michaelcarter-wf Nov 2, 2018
2c84697
doc(package): update documentation and add references to the relevant…
michaelcarter-wf Nov 2, 2018
7e232e8
chore(package): deprecate schema_dot's createDot
michaelcarter-wf Nov 2, 2018
0c2ca76
chore(package): ddev format
michaelcarter-wf Nov 2, 2018
db9391b
doc(package): update CHANGELOG
michaelcarter-wf Nov 2, 2018
29096b5
doc(package): update migration guide
michaelcarter-wf Nov 2, 2018
00de440
doc(migration): minor updates
michaelcarter-wf Nov 2, 2018
0a0bc27
wip(README): initial updates
michaelcarter-wf Nov 2, 2018
9452729
fix(package): spelling error
michaelcarter-wf Nov 5, 2018
a471456
imp(package): update documentation and examples, allow https in dart:…
michaelcarter-wf Nov 6, 2018
53c5356
Merge pull request #32 from josephswanson-wf/srg
michaelcarter-wf Nov 6, 2018
af58c25
Merge branch 'master' of github.com:workiva/json_schema into final_2.…
michaelcarter-wf Nov 6, 2018
21403a9
fix(readme): cr fixes
michaelcarter-wf Nov 7, 2018
f382d8b
fix(package): cr fixes
michaelcarter-wf Nov 7, 2018
04e7f6d
Merge pull request #33 from Workiva/final_2.0_cleanup
rmconsole3-wf Nov 7, 2018
4ac0660
json_schema_2.0.0-RC3
rmconsole-readonly-wk Nov 7, 2018
d906099
chore(package): fix release version
michaelcarter-wf Nov 7, 2018
d315d9e
Merge pull request #35 from Workiva/release_json_schema_2.0.0-rc3
rmconsole5-wk Nov 7, 2018
ca345f4
json_schema_2.0.0
rmconsole-readonly-wk Nov 7, 2018
0e8f970
chore(package): fix rosie version nonsense
michaelcarter-wf Nov 7, 2018
991f18f
Merge pull request #37 from Workiva/release_json_schema_2.0.0
rmconsole7-wk Nov 7, 2018
69c6700
CPLAT-4192: Update json_schema to be Dart 2 compatible
sebastianmalysa-wf Feb 11, 2019
0b91061
CPLAT-4192: get coverage working
sebastianmalysa-wf Feb 11, 2019
db63a87
CPLAT-4192: disable coverage until a Dart 2 solution is available
sebastianmalysa-wf Feb 12, 2019
db5fbfd
Merge pull request #39 from sebastianmalysa-wf/CPLAT-4192
michaelcarter-wf Feb 15, 2019
0d63cfd
json_schema_2.0.1
rmconsole-readonly-wk Feb 15, 2019
1eb848b
Merge pull request #40 from Workiva/release_json_schema_2.0.1
rmconsole6-wk Feb 15, 2019
5516ab1
WAP-2264: Added propertyName, parent, and requiredOnParent getters an…
jordanross-wf Feb 19, 2019
99317c1
WAP-2264: Warning clean up
jordanross-wf Feb 19, 2019
d15a368
WAP-2264: comment update
jordanross-wf Feb 19, 2019
3d3b4f3
WAP-2264: getter re-ordering
jordanross-wf Feb 19, 2019
e3a5dd4
WAP-2264: Parse path into a URI and split fragment
jordanross-wf Feb 19, 2019
f30cf39
WAP-2264: Safety check against _parent being null
jordanross-wf Feb 19, 2019
d89b776
WAP-2264: ddev format
jordanross-wf Feb 20, 2019
f966a6f
WAP-2264: Added equality overrides
jordanross-wf Feb 21, 2019
1bbab1f
WAP-2264: Re-added hashCodes
jordanross-wf Feb 21, 2019
aec9c9d
WAP-2264: Use map hash method
jordanross-wf Feb 21, 2019
7e4a84a
WAP-2264: Revert constants and schema type changes
jordanross-wf Feb 21, 2019
7730d48
WAP-2264: Added collection dependency to pubspec and formatted in dart 2
jordanross-wf Feb 25, 2019
7f51171
Merge pull request #41 from Workiva/WAP-2264
rmconsole2-wf Feb 25, 2019
e1d3384
json_schema_2.1.0
rmconsole-readonly-wk Feb 25, 2019
ce7a022
Merge pull request #42 from Workiva/release_json_schema_2.1.0
rm-astro-wf Feb 25, 2019
a747721
Add support for relative local file ref fetching
aaronkavlie-wf Mar 1, 2019
b1c8ffb
Simpler URI modification that avoids special-casing for files
aaronkavlie-wf Mar 4, 2019
17a65f7
Test on Dart 2.1.1 as 2.2.0 fails
aaronkavlie-wf Mar 4, 2019
6fde82e
Revert erroneous pub2 change in travis config
aaronkavlie-wf Mar 4, 2019
c44a259
Exclude bignum tests
aaronkavlie-wf Mar 5, 2019
fbf1d8a
Merge pull request #43 from Workiva/WAP-2519__filesystem_paths
rmconsole5-wk Mar 5, 2019
763a275
Merge pull request #44 from Workiva/WAP-2536__failing_bignum_tests
rmconsole5-wk Mar 5, 2019
1bd1327
json_schema_2.1.1
rmconsole-readonly-wk Mar 5, 2019
2d1e6e3
Merge pull request #45 from Workiva/release_json_schema_2.1.1
rmconsole7-wk Mar 5, 2019
adf3d9e
fix(package): update CI to target stable dart again
michaelcarter-wf Mar 5, 2019
b4a1c70
Merge pull request #46 from Workiva/fix_travis_dart_version
rm-astro-wf Mar 5, 2019
31bf027
json_schema_2.1.2
rmconsole-readonly-wk Mar 5, 2019
6fe826b
Merge pull request #47 from Workiva/release_json_schema_2.1.2
rmconsole4-wk Mar 5, 2019
e9d02a9
Use Instance object to track path on traversal of instance JSON
aaronkavlie-wf Mar 6, 2019
5a2dca9
Add ValidationError class to track relevant details of each error
aaronkavlie-wf Mar 6, 2019
9902ac6
Add coverage of error output for a number of validators; fix issues u…
aaronkavlie-wf Mar 7, 2019
246db9a
Test of anyOf, and code change to rectify schema path.
aaronkavlie-wf Mar 7, 2019
83685a3
Add oneOf coverage; make multi-schema types return a single error.
aaronkavlie-wf Mar 8, 2019
3f1dafd
Test coverage of format operation errors.
aaronkavlie-wf Mar 8, 2019
086ea4d
Object validation error tests.
aaronkavlie-wf Mar 8, 2019
c5c6597
One possible approach to a more informative path for remote refs.
aaronkavlie-wf Mar 8, 2019
8e5d305
Explain ref schema path override.
aaronkavlie-wf Mar 11, 2019
26be0c3
Format
aaronkavlie-wf Mar 11, 2019
dac20aa
Small refinements
aaronkavlie-wf Mar 11, 2019
82ee84a
Test & handle boolean false schema
aaronkavlie-wf Mar 12, 2019
e9e45c7
Remove TODO (JIRA ticket created)
aaronkavlie-wf Mar 12, 2019
a213469
format
aaronkavlie-wf Mar 12, 2019
8dc661d
Merge pull request #48 from Workiva/WAP-2520__error_messaging
rmconsole4-wk Mar 12, 2019
26da8c5
json_schema_2.1.3
rmconsole-readonly-wk Mar 12, 2019
6a2e1d5
Merge pull request #49 from Workiva/release_json_schema_2.1.3
rmconsole5-wk Mar 12, 2019
46d5e8a
WAP-2482: Change hashcode and equality check to use DeepCollectionEqu…
jordanross-wf Mar 25, 2019
fa379c8
Merge pull request #50 from Workiva/WAP-2482
rm-astro-wf Mar 25, 2019
d243c58
json_schema_2.1.4
rmconsole-readonly-wk Mar 25, 2019
7513047
Merge pull request #51 from Workiva/release_json_schema_2.1.4
rmconsole2-wf Mar 25, 2019
ef91343
Omit colon from beginning of error string when instance path is empty.
aaronkavlie-wf Apr 4, 2019
a096c19
format
aaronkavlie-wf Apr 4, 2019
9321ee6
fix(validator): add an explanation of root path errors
michaelcarter-wf Apr 8, 2019
458a755
wip(package): pub2get for dart1
michaelcarter-wf Apr 8, 2019
d163f1d
wip(package): try another syntax for bash "if"
michaelcarter-wf Apr 8, 2019
188cc1d
wip(package): attempt to skip built-in pub get
michaelcarter-wf Apr 8, 2019
b56e406
wip(package): the example actually shows it as "install:true" to skip
michaelcarter-wf Apr 8, 2019
cff4707
wip(package): try first multiline syntax
michaelcarter-wf Apr 8, 2019
73c8584
fix(package): dart2 ddev format
michaelcarter-wf Apr 8, 2019
c5d4163
[skip travis] chore(package): update CHANGELOG
michaelcarter-wf Apr 8, 2019
703fa17
feat(package): expose ValidationError class
michaelcarter-wf Apr 8, 2019
a3087e8
Merge pull request #52 from Workiva/error_string_improvement
rmconsole5-wk Apr 8, 2019
ab65f63
json_schema_2.2.0
rmconsole-readonly-wk Apr 8, 2019
7d95e49
[skip travis] chore(package): correct CHANGELOG version
michaelcarter-wf Apr 8, 2019
49cc90d
Merge pull request #54 from Workiva/release_json_schema_2.2.0
rmconsole2-wf Apr 8, 2019
8131a5f
Fix TravisCI for Dart 1
robrbecker Jul 11, 2019
a139b46
do a pub 1 get after pub 2 get
robrbecker Jul 11, 2019
77b79fe
install semver audit from hosted
robrbecker Jul 11, 2019
630eb11
update docker base image
robrbecker Jul 11, 2019
bc76393
Merge pull request #56 from robbecker-wf/fix_travis
rmconsole2-wf Jul 11, 2019
0096dfc
Prepare for upcoming change to HttpRequest and HttpClientResponse
tvolkert Jun 26, 2019
9d34ec4
Merge pull request #55 from tvolkert/http
rmconsole7-wk Jul 11, 2019
d95e8bf
json_schema_2.2.1
rmconsole-readonly-wk Jul 11, 2019
824064b
Merge pull request #57 from Workiva/release_json_schema_2.2.1
rmconsole2-wf Jul 11, 2019
cf47042
CPLAT-7426 Run Dart 2 unit tests with dart2js
todbachman-wf Sep 17, 2019
2add65f
Merge pull request #60 from todbachman-wf/cplat-7426_dart2js_unit_tests
rmconsole3-wf Sep 17, 2019
a55876f
Fix isRemoteRef util
jordanross-wf Jun 17, 2020
c2a73da
Dependency update to get tests to run, validator iterates over all re…
jordanross-wf Jun 24, 2020
d3f8d12
style nit
jordanross-wf Jun 24, 2020
4b206c9
Logic changes around how refs get set, translated, and resolved durin…
jordanross-wf Jun 24, 2020
8eea545
ddev format
jordanross-wf Jun 24, 2020
6d16672
Update base image
jordanross-wf Jun 24, 2020
8e6060e
Add extra refMap check in retrieval requests
jordanross-wf Jun 25, 2020
3986030
Drop dart 1 from travis CI builds
jordanross-wf Jun 25, 2020
428a5c5
Addressed CR feedback: Re-added asserts, converted new methods to pri…
jordanross-wf Jun 26, 2020
e951fbc
baseEmptyFragmentUri -> baseUriWithEmptyFragment
jordanross-wf Jun 26, 2020
b5476dc
Updated migration.md and removed refMap property
jordanross-wf Jul 17, 2020
8009952
Moved MIGRATION.md to root dir
jordanross-wf Jul 17, 2020
2f8cec0
Update migration.md
jordanross-wf Jul 17, 2020
24ee989
Upgrade dart_dev to v3, add test_html_builder
jordanross-wf Dec 14, 2020
debb424
Use Workiva dart build image
jordanross-wf Dec 14, 2020
0464ec4
No need for Dart 1 in Travis CI anymore
jordanross-wf Dec 14, 2020
98fd1cb
Fixed formatter args
jordanross-wf Dec 14, 2020
af6b15f
Newline in dart_version
jordanross-wf Dec 14, 2020
5e5fd4f
Ignore test_html_builder in dep_validator
jordanross-wf Dec 15, 2020
974909e
Fix format check
jordanross-wf Dec 15, 2020
beb91c7
Fixed how tests run and updated travis.yml
jordanross-wf Dec 15, 2020
e2570b0
Removed unused analysis options
jordanross-wf Dec 15, 2020
b79fc6c
Update changelog to reflect Dart 1 support dropping
jordanross-wf Dec 16, 2020
6778eb3
Cleaned up config.dart
jordanross-wf Dec 17, 2020
c73b6d0
Merge pull request #69 from Workiva/dart_dev_upgrade
rmconsole5-wk Feb 24, 2021
bb3dc10
chore(package): dart2 - pub global run d2up:d1down_update_pubspec
michaelcarter-wf Feb 24, 2021
c3df098
chore(package): dart2 - add build_vm_compilers
michaelcarter-wf Feb 24, 2021
ca7cf50
chore(package): dart2 - pub global run d2up:d1down_remove_dart2_constant
michaelcarter-wf Feb 24, 2021
30f9760
chore(package): dart2 - fix small analysis issues
michaelcarter-wf Feb 24, 2021
ab51fbc
chore(package): dart2 - dartfmt --fix-function-typedefs -w .
michaelcarter-wf Feb 24, 2021
c7d56fe
chore(package): dart2 - dartfmt --fix-named-default-separator -w .
michaelcarter-wf Feb 24, 2021
48a82e3
chore(package): dart2 - dartfmt --fix-optional-const -w .
michaelcarter-wf Feb 24, 2021
bb3fe70
chore(package): dart2 - dartfmt --fix-optional-new -w .
michaelcarter-wf Feb 24, 2021
fecba55
chore(package): dart2 - remove common executable from valuidator
michaelcarter-wf Feb 24, 2021
6ae499a
chore(package): dart2 - remove dart1 things from gitignore
michaelcarter-wf Feb 24, 2021
2750ac1
chore(package): dart2 - remove smithy.yaml
michaelcarter-wf Feb 24, 2021
d4c549e
Merge remote-tracking branch 'origin/master' into remote-ref-resolution
jordanross-wf Feb 24, 2021
51b3c51
Merge pull request #70 from Workiva/dart1_removal_phase_2_and_3
rmconsole3-wf Feb 24, 2021
22f9c1d
Re-add `refMap` deprecated accessor
jordanross-wf Feb 24, 2021
9cdee19
Removed untrue statement
jordanross-wf Feb 24, 2021
2d025a3
Merge remote-tracking branch 'origin/master' into remote-ref-resolution
jordanross-wf Feb 24, 2021
7f33e08
Add tests back in
jordanross-wf Feb 24, 2021
25c99da
chore(tests): update JSON-Schema-Test-Suite
michaelcarter-wf Feb 24, 2021
5d9b525
fix(test): skip tests we don't yet pass
michaelcarter-wf Feb 24, 2021
131698e
Merge branch 'remote-ref-resolution' of github.com:Workiva/json_schem…
michaelcarter-wf Feb 24, 2021
743c6c8
Merge pull request #67 from Workiva/remote-ref-resolution
rmconsole2-wf Feb 24, 2021
29ef241
Merge pull request #72 from Workiva/remote-ref-resolution-plus-new-tests
rmconsole3-wf Feb 25, 2021
a365bd8
fix(test): fix test cases involving formats
michaelcarter-wf Apr 7, 2021
925528a
_refMap now only holds unique ids, base uris. resolving a path on a s…
jordanross-wf Apr 9, 2021
f5e9613
Merge pull request #73 from Workiva/PROC-709
rmconsole4-wk Apr 9, 2021
f711931
Fix fetch from refProvider logic
jordanross-wf Apr 12, 2021
194d9c9
RefProvider is now a single class for consumers to pass in
jordanross-wf Apr 12, 2021
c13dd6e
Merge remote-tracking branch 'origin/master' into new-ref-resolution
jordanross-wf Apr 12, 2021
7e4413a
Added test that shows new recursive ref resolution with json provider
jordanross-wf Apr 13, 2021
8542ebf
Better test structure
jordanross-wf Apr 13, 2021
46f82a6
Apply suggestions from code review
jordanross-wf Apr 13, 2021
90644ee
Address CR Feedback
jordanross-wf Apr 13, 2021
1d47ec3
Merge remote-tracking branch 'origin/new-ref-resolution' into new-ref…
jordanross-wf Apr 13, 2021
2e79a95
Fixed missing single quote
jordanross-wf Apr 13, 2021
bfcb99e
Merge pull request #74 from Workiva/new-ref-resolution
rmconsole2-wf Apr 14, 2021
5b97749
fix(package): json pointer and uri encoding fixes
michaelcarter-wf Apr 14, 2021
77d2f3c
fix(package): utf-16 pattern fixes
michaelcarter-wf Apr 14, 2021
dcf0878
chore(package): uncomment and format
michaelcarter-wf Apr 14, 2021
5f50ab3
chore(package): reorder pubspec alpha
michaelcarter-wf Apr 14, 2021
98969cc
chore(utils): remove unused util
michaelcarter-wf Apr 14, 2021
9649a66
Merge pull request #75 from Workiva/pointer_lib
rmconsole4-wk Apr 14, 2021
76b8e88
Better _refMap check in ref fetch logic
jordanross-wf Apr 16, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
183 changes: 183 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
# Contributing to json_schema

Looking to contribute something to the json_schema library? __Here's how you can help.__

+ __[Coding Standards](#coding-standards)__
+ [General Formatting Guidelines](#general-formatting-guidelines)
+ __[Using the Issue Tracker](#using-the-issue-tracker)__
+ [Reporting Bugs](#bug-reports)
+ [Feature Requests](#feature-requests)
+ [Submitting Pull Requests](#pull-requests)
+ __[Developer Workflow](#developer-workflow)__




## Coding standards

A lot can be gained by writing code in a consistent way. Moreover, always remember that code is written and
maintained by _people_. Ensure your code is descriptive, well commented, and approachable by others.

__ALWAYS__ adhere to the [Dart Style Guide]. _Please take the time to read it if you have never done so._

 


### General formatting guidelines

+ __AVOID__ lines longer than 120 characters.
+ __AVOID__ using `dartfmt` as an excuse to ignore good judgement about
whether your code is readable and approachable by others.

 
 



## Using the issue tracker

The issue tracker is the preferred channel for [bug reports](#bug-reports) and [feature requests](#feature-requests),
but __please follow the guidelines:__

+ __Fill out the template we've provided.__

+ __Be Professional__
+ Please __do not__ derail or troll issues. Keep the discussion on topic and respect the opinions of others.

+ __Not that Professional__
+ Feel free to include _relevant_ animated gifs to drive home your message / request.

 


### Bug reports

A bug is a _demonstrable problem_ that is caused by the code in the repository.

_Good bug reports are extremely helpful - thank you!__

__Guidelines for bug reports:__

1. __Search for existing issues.__ Duplicate issues can become cumbersome, and you'd help us out a lot by first
checking if someone else has reported the same issue. Moreover, the issue may have already been resolved with a
fix available.

2. __Record a screencast of yourself reproducing the issue__.
1. Be sure the problem exists in json_schema's code by building a
reduced test case that one of the reviewers can pull locally
and test out.

3. __Share as much information as possible.__ Include operating system and version, browser and version, etc. where appropriate.

Always include steps to reproduce the bug.

__Example Bug Report:__

> Short and descriptive example bug report title
>
> A summary of the issue and the browser/OS environment in which it occurs. If
> suitable, include the steps required to reproduce the bug.
>
> 1. This is the first step
> 2. This is the second step
> 3. Further steps, etc.
>
> `<url>` - a link to branch with the reduced test case
>
> Any other information you want to share that is relevant to the issue being
> reported. This might include the lines of code that you have identified as
> causing the bug, and potential solutions (and your opinions on their
> merits).

&nbsp;


### Feature requests

Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and aims of the
project. It's up to *you* to make a strong case to convince the `json_schema` team of the merits of this feature.
Please provide as much detail and context as possible.

&nbsp;


### Pull requests

Good pull requests - patches, improvements, new features - are a fantastic help. They should remain focused in scope
and avoid containing unrelated commits.

__Please ask first__ before embarking on any significant pull request (e.g. implementing features, refactoring code,
porting to a different language), otherwise you risk spending a lot of time working on something that the project's
lead developers might not want to merge into the project.

Please adhere to the [Dart Style Guide] for all changes contained in your pull requests.

Adhering to the following process is the best way to get your work included in the project:

1. [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork,
and configure the remotes:

```bash
# Navigate to the directory where you store repos locally
cd ~/your-local-git-repo-spot
# Clone your fork of the repo into the current directory
git clone [email protected]:<your-username>/json_schema
# Navigate to the newly cloned directory
cd ~/your-local-git-repo-spot/json_schema
# Assign the repo you forked from to a remote called "upstream"
git remote add upstream [email protected]:Workiva/json_schema
```

2. If you cloned a while ago, get the latest changes from upstream:

```bash
git checkout master
git pull upstream master
```

3. Create a new topic branch that will contain your feature, change, or fix:

```bash
git checkout -b <topic-branch-name>
```

4. Commit your changes in logical chunks. Please adhere to these
[git commit message guidelines](#git-commit-message-standards) or your code is unlikely be merged into the master
branch. Optionally, you can use Git's [interactive rebase](https://help.github.com/articles/interactive-rebase)
feature to tidy up your commits before making them public.

5. Write tests for your changes.
1. There are no exceptions.
2. If you're having trouble, reach out in your PR about how to best go about testing your changes.

6. If you have merge conflicts, locally merge the upstream master branch into your topic branch:

```bash
git pull upstream master
```

7. Push your topic branch up to your fork:

```bash
git push origin <topic-branch-name>
```

8. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)
with a clear title and description - following all the [issue guidelines](#using-the-issue-tracker) listed above.

&nbsp;
&nbsp;


## Developer Workflow

The `json_schema` developer workflow couldn't be any more simple!

When you're ready to run the tests... run:

```bash
pub run dart_dev test
```


[Dart Style Guide]: https://www.dartlang.org/guides/language/effective-dart/style
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!--- Provide a general summary of the issue in the title above -->

<!--- Provide the type of issue (Bug, Improvement, Feature Request) -->
## Type

## Details
<!--- If you're describing a bug, tell us what happens instead of the expected behavior -->
<!--- If you're suggesting a change/improvement, tell us how it should work -->

## Possible Solution
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
<!--- or ideas how to implement the addition or change -->

<!--- Delete the following sections if not submitting a bug -->

## Steps to Reproduce
<!--- Provide steps to reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.

## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version:
* Browser name / VM and version:
* Operating System and version:

> __FYI:__ @michaelcarter-wf
16 changes: 16 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Ultimate problem:


## How it was fixed:


## Testing suggestions:


## Potential areas of regression:



---

> __FYA:__ @michaelcarter-wf
12 changes: 5 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
*.~*~
.idea/
.packages
packages
build/
.pub/
.project
.dart_tool/
*.dart.js
*.iml
*.ipr
*.iws
.idea/
*.dart.js
*.js_
*.js.deps
*.js.map
# custom <additional>
build/
coverage
pubspec.lock
# end <additional>

19 changes: 16 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
language: dart
sudo: false
dart:
- stable
- dev
script: ./tool/travis.sh
sudo: required
addons:
chrome: stable
cache:
directories:
- $HOME/.pub-cache
install: true
script:
- pub get
- pub run dependency_validator
- pub run dart_dev format --check
- pub run dart_dev analyze
- pub run dart_dev test -P travis
- pub run dart_dev test --test-args="--platform chrome" --release -P travis
# TODO: re-enable coverage when a Dart 2 solution is available.
# - pub run dart_dev dart1-only -- coverage --no-html && bash <(curl -s https://codecov.io/bash) -f coverage/coverage.lcov
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,43 @@
## 3.0.0

* Removed support for Dart 1

## 2.2.0

* Add note about root path in error string when instance path is empty
* Expose `ValidationError` class

## 2.1.4

* Use deep equality to compare maps, fixing equality when enums are present

## 2.1.3

* New `validateWithErrors` method on `JsonSchema` returns all validation errors as a list of objects
* `ValidationError` objects include both instance & schema paths for each error
* Error logic tweaked to provide consistent error paths in JSON pointer notation

## 2.0.0

* json_schema is no longer bound to dart:io and works in the browser!
* Full JSON Schema draft6 compatibility
* Much better $ref resolution, including deep nesting of $refs
* More typed keyword getters for draft6 like `examples`
* Syncronous schema evaluation by default
* Optional async evaluation and fetching with `createSchemaAsync`
* Automatic parsing of JSON strings passed to `createSchema` and `createSchemaAsync`
* Ability to do custom resolution of $refs with `RefProvider` and `RefProviderAsync`
* Optional parsing of JSON strings passed to `validate` with `parseJson = true`
* Dart 2.0 compatibility
* Many small changes to make things more in line with modern dart.
* Please see the [migration guide](./MIGRATION.md) for additional info.

## 1.0.8

* Code cleanup
* Strong mode
* Switch build tools to dart_dev

## 1.0.7

* Update dependency constraint on the `args` package.
Expand Down
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM drydock-prod.workiva.net/workiva/dart_build_image:1 as build

FROM scratch
38 changes: 37 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1 +1,37 @@
License: <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
Copyright 2013-2018 Workiva Inc.

Licensed under the Boost Software License (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.boost.org/LICENSE_1_0.txt

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

This software or document includes material copied from or derived
from JSON-Schema-Test-Suite (https://github.com/json-schema-org/JSON-Schema-Test-Suite),
Copyright (c) 2012 Julian Berman, which is licensed under the following terms:

Copyright (c) 2012 Julian Berman

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Loading