@fgv/ts-res-browser 1.0.0

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.
Files changed (95) hide show
  1. package/.rush/temp/5fc90bc7c2ccf812114ea099111568e5429be2a2.tar.log +15 -0
  2. package/.rush/temp/chunked-rush-logs/ts-res-browser.build.chunks.jsonl +35 -0
  3. package/.rush/temp/operation/build/all.log +35 -0
  4. package/.rush/temp/operation/build/log-chunks.jsonl +35 -0
  5. package/.rush/temp/operation/build/state.json +3 -0
  6. package/.rush/temp/shrinkwrap-deps.json +1217 -0
  7. package/README.md +95 -0
  8. package/TS_RES_BROWSER_PLAN.md +689 -0
  9. package/babel.config.js +17 -0
  10. package/config/jest.config.json +13 -0
  11. package/config/rig.json +16 -0
  12. package/dist/bundle.js +2 -0
  13. package/dist/bundle.js.LICENSE.txt +62 -0
  14. package/dist/index.html +1 -0
  15. package/package.json +78 -0
  16. package/postcss.config.js +3 -0
  17. package/public/index.html +15 -0
  18. package/rush-logs/ts-res-browser.build.cache.log +3 -0
  19. package/rush-logs/ts-res-browser.build.log +35 -0
  20. package/src/App.tsx +153 -0
  21. package/src/cli.ts +44 -0
  22. package/src/components/common/FileImporter.tsx +138 -0
  23. package/src/components/common/NavigationWarningModal.tsx +62 -0
  24. package/src/components/layout/AppLayout.tsx +46 -0
  25. package/src/components/layout/Header.tsx +22 -0
  26. package/src/components/layout/MessagesWindow.tsx +108 -0
  27. package/src/components/layout/Sidebar.tsx +92 -0
  28. package/src/components/tools/CompiledBrowser.tsx +949 -0
  29. package/src/components/tools/ConfigurationTool.tsx +1402 -0
  30. package/src/components/tools/FilterTool.tsx +1027 -0
  31. package/src/components/tools/ImportTool.tsx +246 -0
  32. package/src/components/tools/ResolutionViewer.tsx +1672 -0
  33. package/src/components/tools/SourceBrowser.tsx +496 -0
  34. package/src/hooks/useAppState.ts +107 -0
  35. package/src/hooks/useFileImport.ts +86 -0
  36. package/src/hooks/useNavigationWarning.ts +67 -0
  37. package/src/hooks/useResourceManager.ts +244 -0
  38. package/src/index.css +38 -0
  39. package/src/main.tsx +16 -0
  40. package/src/types/app.ts +62 -0
  41. package/src/types/fileSystemAccess.d.ts +94 -0
  42. package/src/utils/browserFileTreeAccessors.ts +245 -0
  43. package/src/utils/fileImport.ts +334 -0
  44. package/src/utils/filterResources.ts +677 -0
  45. package/src/utils/tsResIntegration.ts +467 -0
  46. package/tailwind.config.js +21 -0
  47. package/test-data/README.md +184 -0
  48. package/test-data/config-variations/README.md +64 -0
  49. package/test-data/config-variations/composition-terminology.json +112 -0
  50. package/test-data/config-variations/enterprise-complex.json +129 -0
  51. package/test-data/config-variations/gaming-app.json +87 -0
  52. package/test-data/config-variations/high-priority-language.json +65 -0
  53. package/test-data/config-variations/minimal-basic.json +37 -0
  54. package/test-data/config-variations/qualifier-default-values.json +71 -0
  55. package/test-data/config-variations/territory-first.json +68 -0
  56. package/test-data/config-variations/territory-hierarchy-test.json +31 -0
  57. package/test-data/config-variations/territory-hierarchy-unconstrained.json +32 -0
  58. package/test-data/default-matching-test/greeting.res.json +83 -0
  59. package/test-data/default-matching-test/only-defaults.res.json +48 -0
  60. package/test-data/sample-project/package.json +27 -0
  61. package/test-data/sample-project/src/resources/app-config.json +27 -0
  62. package/test-data/sample-project/src/resources/app.json +177 -0
  63. package/test-data/sample-project/src/resources/config/app.env=development.json +21 -0
  64. package/test-data/sample-project/src/resources/config/app.json +21 -0
  65. package/test-data/sample-project/src/resources/config/app.platform=mobile.json +23 -0
  66. package/test-data/sample-project/src/resources/feature-flags.json +23 -0
  67. package/test-data/sample-project/src/resources/home=CA/common.json +16 -0
  68. package/test-data/sample-project/src/resources/images/density=hdpi.json +29 -0
  69. package/test-data/sample-project/src/resources/images/home.json +29 -0
  70. package/test-data/sample-project/src/resources/images/logout.json +14 -0
  71. package/test-data/sample-project/src/resources/images/settings.json +14 -0
  72. package/test-data/sample-project/src/resources/images/ui-icons.json +29 -0
  73. package/test-data/sample-project/src/resources/images/user.density=hdpi.json +14 -0
  74. package/test-data/sample-project/src/resources/images/user.json +14 -0
  75. package/test-data/sample-project/src/resources/lang=en-US/common.json +15 -0
  76. package/test-data/sample-project/src/resources/language=en-CA/ui-terms.json +19 -0
  77. package/test-data/sample-project/src/resources/language=en-GB/ui-terms.json +30 -0
  78. package/test-data/sample-project/src/resources/language=fr-CA/ui-terms.json +25 -0
  79. package/test-data/sample-project/src/resources/language=nl-BE/ui-terms.json +17 -0
  80. package/test-data/sample-project/src/resources/region=europe/feature-flags.json +17 -0
  81. package/test-data/sample-project/src/resources/region=north-america/feature-flags.json +18 -0
  82. package/test-data/sample-project/src/resources/strings/dashboard.home=CA,language=fr.json +20 -0
  83. package/test-data/sample-project/src/resources/strings/dashboard.json +18 -0
  84. package/test-data/sample-project/src/resources/strings/dashboard.role=admin.json +23 -0
  85. package/test-data/sample-project/src/resources/strings/dashboard.role=user.json +21 -0
  86. package/test-data/sample-project/src/resources/strings/language=en-US.json +16 -0
  87. package/test-data/sample-project/src/resources/strings.json +78 -0
  88. package/test-data/sample-project/src/resources/territory=BE/app-config.json +19 -0
  89. package/test-data/sample-project/src/resources/territory=CA/app-config.json +21 -0
  90. package/test-data/sample-project/src/resources/territory=GB/app-config.json +25 -0
  91. package/test-data/sample-project/src/resources/territory=NL/app-config.json +25 -0
  92. package/test-data/sample-project/src/resources/ui-terms.json +96 -0
  93. package/test-data/sample-project/src/resources-config.json +111 -0
  94. package/tsconfig.json +27 -0
  95. package/webpack.config.js +54 -0
@@ -0,0 +1,19 @@
1
+ {
2
+ "resources": {
3
+ "ui-terms": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "ShoppingCart": "Shopping cart",
9
+ "ZipCode": "Postal code",
10
+ "Color": "Colour",
11
+ "Favorite": "Favourite",
12
+ "Email": "Courriel"
13
+ },
14
+ "isPartial": true
15
+ }
16
+ ]
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "resources": {
3
+ "ui-terms": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "Login": "Sign in",
9
+ "Logout": "Sign out",
10
+ "Settings": "Preferences",
11
+ "Delete": "Remove",
12
+ "MobilePhone": "Mobile phone",
13
+ "ShoppingCart": "Basket",
14
+ "ZipCode": "Postcode",
15
+ "Color": "Colour",
16
+ "Favorite": "Favourite",
17
+ "Checkbox": "Tick box",
18
+ "Update": "Refresh",
19
+ "Help": "Support",
20
+ "Home": "Homepage",
21
+ "Notifications": "Alerts",
22
+ "TermsOfService": "Terms and Conditions",
23
+ "Password": "Passcode"
24
+ },
25
+ "isPartial": true
26
+ }
27
+ ]
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "resources": {
3
+ "ui-terms": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "Login": "Ouverture de session",
9
+ "Logout": "Fermeture de session",
10
+ "Settings": "Réglages",
11
+ "Delete": "Effacer",
12
+ "MobilePhone": "Cellulaire",
13
+ "ShoppingCart": "Panier d'épicerie",
14
+ "Email": "Courriel",
15
+ "Save": "Sauvegarder",
16
+ "Update": "Actualisation",
17
+ "Help": "Soutien",
18
+ "Notifications": "Avis"
19
+ },
20
+ "isPartial": true
21
+ }
22
+ ]
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "resources": {
3
+ "ui-terms": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "MobilePhone": "GSM",
9
+ "Email": "E-post",
10
+ "Settings": "Parameters"
11
+ },
12
+ "isPartial": true
13
+ }
14
+ ]
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "resources": {
3
+ "feature-flags": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "socialLogin": false,
9
+ "analytics": false,
10
+ "chatSupport": true
11
+ },
12
+ "isPartial": true
13
+ }
14
+ ]
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "resources": {
3
+ "feature-flags": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "betaFeatures": true,
9
+ "darkMode": true,
10
+ "adminPanel": true,
11
+ "apiAccess": true
12
+ },
13
+ "isPartial": true
14
+ }
15
+ ]
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "candidates": [
3
+ {
4
+ "id": "dashboard",
5
+ "resourceTypeName": "json",
6
+ "json": {
7
+ "title": "Tableau de bord",
8
+ "overview": "Aperçu",
9
+ "stats": "Statistiques",
10
+ "recent_activity": "Activité récente",
11
+ "notifications": "Notifications",
12
+ "settings": "Paramètres",
13
+ "profile": "Profil",
14
+ "logout": "Déconnexion",
15
+ "currency": "CAD",
16
+ "timezone": "America/Toronto"
17
+ }
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "candidates": [
3
+ {
4
+ "id": "dashboard",
5
+ "resourceTypeName": "json",
6
+ "json": {
7
+ "title": "Dashboard",
8
+ "overview": "Overview",
9
+ "stats": "Statistics",
10
+ "recent_activity": "Recent Activity",
11
+ "notifications": "Notifications",
12
+ "settings": "Settings",
13
+ "profile": "Profile",
14
+ "logout": "Logout"
15
+ }
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "candidates": [
3
+ {
4
+ "id": "dashboard",
5
+ "resourceTypeName": "json",
6
+ "json": {
7
+ "title": "Admin Dashboard",
8
+ "overview": "System Overview",
9
+ "stats": "System Statistics",
10
+ "recent_activity": "System Activity",
11
+ "notifications": "System Notifications",
12
+ "settings": "System Settings",
13
+ "profile": "Admin Profile",
14
+ "logout": "Admin Logout",
15
+ "user_management": "User Management",
16
+ "system_logs": "System Logs",
17
+ "monitoring": "System Monitoring",
18
+ "reports": "Reports",
19
+ "maintenance": "Maintenance Mode"
20
+ }
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "candidates": [
3
+ {
4
+ "id": "dashboard",
5
+ "resourceTypeName": "json",
6
+ "json": {
7
+ "title": "User Dashboard",
8
+ "overview": "My Overview",
9
+ "stats": "My Statistics",
10
+ "recent_activity": "My Recent Activity",
11
+ "notifications": "My Notifications",
12
+ "settings": "My Settings",
13
+ "profile": "My Profile",
14
+ "logout": "Sign Out",
15
+ "help": "Help & Support",
16
+ "tutorials": "Tutorials",
17
+ "account_info": "Account Information"
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "candidates": [
3
+ {
4
+ "id": "strings",
5
+ "resourceTypeName": "json",
6
+ "json": {
7
+ "welcome": "Welcome to the app",
8
+ "hello": "Hello",
9
+ "goodbye": "Goodbye",
10
+ "date_format": "MM/DD/YYYY",
11
+ "currency": "USD",
12
+ "phone_format": "(XXX) XXX-XXXX"
13
+ }
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "resources": [
3
+ {
4
+ "id": "common",
5
+ "resourceTypeName": "json",
6
+ "candidates": [
7
+ {
8
+ "json": {
9
+ "welcome": "Welcome to the application",
10
+ "hello": "Hello",
11
+ "goodbye": "Goodbye",
12
+ "yes": "Yes",
13
+ "no": "No",
14
+ "cancel": "Cancel",
15
+ "ok": "OK",
16
+ "loading": "Loading...",
17
+ "error": "An error occurred",
18
+ "retry": "Retry"
19
+ }
20
+ },
21
+ {
22
+ "json": {
23
+ "welcome": "Bienvenido a la aplicación",
24
+ "hello": "Hola",
25
+ "goodbye": "Adiós",
26
+ "yes": "Sí",
27
+ "no": "No",
28
+ "cancel": "Cancelar",
29
+ "ok": "Aceptar",
30
+ "loading": "Cargando...",
31
+ "error": "Ocurrió un error",
32
+ "retry": "Reintentar"
33
+ },
34
+ "conditions": {
35
+ "language": "es"
36
+ }
37
+ },
38
+ {
39
+ "json": {
40
+ "welcome": "Bienvenue dans l'application",
41
+ "hello": "Bonjour",
42
+ "goodbye": "Au revoir",
43
+ "yes": "Oui",
44
+ "no": "Non",
45
+ "cancel": "Annuler",
46
+ "ok": "OK",
47
+ "loading": "Chargement...",
48
+ "error": "Une erreur s'est produite",
49
+ "retry": "Réessayer"
50
+ },
51
+ "conditions": {
52
+ "language": "fr"
53
+ }
54
+ }
55
+ ]
56
+ },
57
+ {
58
+ "id": "errors",
59
+ "resourceTypeName": "json",
60
+ "candidates": [
61
+ {
62
+ "json": {
63
+ "validation_required": "This field is required",
64
+ "validation_email": "Please enter a valid email address",
65
+ "validation_password": "Password must be at least 8 characters",
66
+ "validation_match": "Passwords do not match",
67
+ "network_error": "Network connection failed",
68
+ "server_error": "Server error occurred",
69
+ "timeout_error": "Request timed out",
70
+ "permission_denied": "Permission denied",
71
+ "not_found": "Resource not found",
72
+ "unknown_error": "An unknown error occurred"
73
+ }
74
+ }
75
+ ]
76
+ }
77
+ ]
78
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "resources": {
3
+ "app-config": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "currency": "EUR",
9
+ "phoneFormat": "+32 ## ## ## ##",
10
+ "supportEmail": "support@example.be",
11
+ "supportPhone": "+32-800-555-0128",
12
+ "legalEntity": "Example Belgium NV"
13
+ },
14
+ "isPartial": true
15
+ }
16
+ ]
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "resources": {
3
+ "app-config": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "currency": "CAD",
9
+ "dateFormat": "DD/MM/YYYY",
10
+ "supportEmail": "support@example.ca",
11
+ "supportPhone": "+1-800-555-0124",
12
+ "legalEntity": "Example Canada Inc",
13
+ "privacyPolicy": "https://example.ca/privacy",
14
+ "termsOfService": "https://example.ca/terms"
15
+ },
16
+ "isPartial": true
17
+ }
18
+ ]
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "resources": {
3
+ "app-config": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "currency": "GBP",
9
+ "dateFormat": "DD/MM/YYYY",
10
+ "timeFormat": "24h",
11
+ "numberFormat": "en-GB",
12
+ "measurement": "metric",
13
+ "phoneFormat": "+44 #### ######",
14
+ "supportEmail": "support@example.co.uk",
15
+ "supportPhone": "+44-800-555-0125",
16
+ "legalEntity": "Example UK Ltd",
17
+ "privacyPolicy": "https://example.co.uk/privacy",
18
+ "termsOfService": "https://example.co.uk/terms"
19
+ },
20
+ "isPartial": true
21
+ }
22
+ ]
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "resources": {
3
+ "app-config": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "currency": "EUR",
9
+ "dateFormat": "DD/MM/YYYY",
10
+ "timeFormat": "24h",
11
+ "numberFormat": "nl-NL",
12
+ "measurement": "metric",
13
+ "phoneFormat": "+31 ## ### ####",
14
+ "supportEmail": "support@example.nl",
15
+ "supportPhone": "+31-800-555-0127",
16
+ "legalEntity": "Example Netherlands BV",
17
+ "privacyPolicy": "https://example.nl/privacy",
18
+ "termsOfService": "https://example.nl/terms"
19
+ },
20
+ "isPartial": true
21
+ }
22
+ ]
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,96 @@
1
+ {
2
+ "resources": {
3
+ "ui-terms": {
4
+ "resourceTypeName": "json",
5
+ "candidates": [
6
+ {
7
+ "json": {
8
+ "Login": "Log in",
9
+ "Logout": "Log out",
10
+ "Settings": "Settings",
11
+ "Delete": "Delete",
12
+ "MobilePhone": "Cell phone",
13
+ "ShoppingCart": "Cart",
14
+ "Email": "Email",
15
+ "ZipCode": "Zip code",
16
+ "Color": "Color",
17
+ "Favorite": "Favorite",
18
+ "Checkbox": "Checkbox",
19
+ "Save": "Save",
20
+ "Update": "Update",
21
+ "Help": "Help",
22
+ "File": "File",
23
+ "Home": "Home",
24
+ "Cancel": "Cancel",
25
+ "Notifications": "Notifications",
26
+ "TermsOfService": "Terms of Service",
27
+ "Password": "Password",
28
+ "Custom": "Custom",
29
+ "Bespoke": "Bespoke"
30
+ },
31
+ "conditions": {
32
+ "language": "en-US"
33
+ }
34
+ },
35
+ {
36
+ "json": {
37
+ "Login": "Connexion",
38
+ "Logout": "Déconnexion",
39
+ "Settings": "Paramètres",
40
+ "Delete": "Supprimer",
41
+ "MobilePhone": "Portable",
42
+ "ShoppingCart": "Caddie",
43
+ "Email": "Email",
44
+ "ZipCode": "Code postal",
45
+ "Color": "Couleur",
46
+ "Favorite": "Favori",
47
+ "Checkbox": "Case à cocher",
48
+ "Save": "Enregistrer",
49
+ "Update": "Mise à jour",
50
+ "Help": "Aide",
51
+ "File": "Fichier",
52
+ "Home": "Accueil",
53
+ "Cancel": "Annuler",
54
+ "Notifications": "Notifications",
55
+ "TermsOfService": "Conditions d'utilisation",
56
+ "Password": "Mot de passe",
57
+ "Custom": "Personnalisé",
58
+ "Bespoke": "Sur mesure"
59
+ },
60
+ "conditions": {
61
+ "language": "fr-FR"
62
+ }
63
+ },
64
+ {
65
+ "json": {
66
+ "Login": "Inloggen",
67
+ "Logout": "Uitloggen",
68
+ "Settings": "Instellingen",
69
+ "Delete": "Verwijderen",
70
+ "MobilePhone": "Mobiele telefoon",
71
+ "ShoppingCart": "Winkelwagen",
72
+ "Email": "E-mail",
73
+ "ZipCode": "Postcode",
74
+ "Color": "Kleur",
75
+ "Favorite": "Favoriet",
76
+ "Checkbox": "Selectievakje",
77
+ "Save": "Opslaan",
78
+ "Update": "Bijwerken",
79
+ "Help": "Hulp",
80
+ "File": "Bestand",
81
+ "Home": "Thuis",
82
+ "Cancel": "Annuleren",
83
+ "Notifications": "Meldingen",
84
+ "TermsOfService": "Gebruiksvoorwaarden",
85
+ "Password": "Wachtwoord",
86
+ "Custom": "Aangepast",
87
+ "Bespoke": "Op maat"
88
+ },
89
+ "conditions": {
90
+ "language": "nl-NL"
91
+ }
92
+ }
93
+ ]
94
+ }
95
+ }
96
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "qualifierTypes": [
3
+ {
4
+ "name": "language",
5
+ "systemType": "language"
6
+ },
7
+ {
8
+ "name": "territory",
9
+ "systemType": "territory",
10
+ "configuration": {
11
+ "allowContextList": true
12
+ }
13
+ },
14
+ {
15
+ "name": "role",
16
+ "systemType": "literal",
17
+ "configuration": {
18
+ "allowContextList": false,
19
+ "caseSensitive": false,
20
+ "enumeratedValues": ["admin", "user", "guest", "anonymous"]
21
+ }
22
+ },
23
+ {
24
+ "name": "environment",
25
+ "systemType": "literal",
26
+ "configuration": {
27
+ "enumeratedValues": ["development", "integration", "production", "test"]
28
+ }
29
+ },
30
+ {
31
+ "name": "platform",
32
+ "systemType": "literal",
33
+ "configuration": {
34
+ "enumeratedValues": ["ios", "android", "web", "mobile", "tv", "desktop"]
35
+ },
36
+ "hierarchy": {
37
+ "ios": "mobile",
38
+ "android": "mobile"
39
+ }
40
+ },
41
+ {
42
+ "name": "density",
43
+ "systemType": "literal",
44
+ "configuration": {
45
+ "allowContextList": false,
46
+ "caseSensitive": false,
47
+ "enumeratedValues": ["hdpi", "mdpi", "ldpi"]
48
+ }
49
+ },
50
+ {
51
+ "name": "region",
52
+ "systemType": "literal",
53
+ "configuration": {
54
+ "allowContextList": false,
55
+ "caseSensitive": false,
56
+ "enumeratedValues": ["north-america", "europe", "asia-pacific", "latin-america"]
57
+ }
58
+ }
59
+ ],
60
+ "qualifiers": [
61
+ {
62
+ "name": "language",
63
+ "typeName": "language",
64
+ "defaultPriority": 800,
65
+ "token": "lang"
66
+ },
67
+ {
68
+ "name": "homeTerritory",
69
+ "typeName": "territory",
70
+ "defaultPriority": 850,
71
+ "token": "home",
72
+ "tokenIsOptional": true
73
+ },
74
+ {
75
+ "name": "territory",
76
+ "typeName": "territory",
77
+ "defaultPriority": 700
78
+ },
79
+ {
80
+ "name": "role",
81
+ "typeName": "role",
82
+ "defaultPriority": 500
83
+ },
84
+ {
85
+ "name": "env",
86
+ "typeName": "environment",
87
+ "defaultPriority": 400
88
+ },
89
+ {
90
+ "name": "platform",
91
+ "typeName": "platform",
92
+ "defaultPriority": 300
93
+ },
94
+ {
95
+ "name": "density",
96
+ "typeName": "density",
97
+ "defaultPriority": 200
98
+ },
99
+ {
100
+ "name": "region",
101
+ "typeName": "region",
102
+ "defaultPriority": 600
103
+ }
104
+ ],
105
+ "resourceTypes": [
106
+ {
107
+ "name": "json",
108
+ "typeName": "json"
109
+ }
110
+ ]
111
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "module": "ESNext",
5
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
+ "allowJs": true,
7
+ "skipLibCheck": true,
8
+ "esModuleInterop": true,
9
+ "allowSyntheticDefaultImports": true,
10
+ "strict": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "moduleResolution": "node",
13
+ "resolveJsonModule": true,
14
+ "isolatedModules": true,
15
+ "noEmit": true,
16
+ "jsx": "react-jsx",
17
+ "declaration": true,
18
+ "outDir": "./lib",
19
+ "rootDir": "./src",
20
+ "baseUrl": "./src",
21
+ "paths": {
22
+ "@/*": ["./*"]
23
+ }
24
+ },
25
+ "include": ["src/**/*"],
26
+ "exclude": ["node_modules", "dist", "lib"]
27
+ }