@eik/common 4.0.0-next.7 → 4.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 (123) hide show
  1. package/CHANGELOG.md +103 -5
  2. package/README.md +9 -5
  3. package/eikjson.d.ts +1 -1
  4. package/{packages/config-loader/src/errors → lib/classes}/custom-error.js +1 -3
  5. package/{packages/config-loader/src → lib/classes}/eik-config.js +19 -17
  6. package/{packages/config-loader/src → lib}/classes/file-mapping.js +4 -6
  7. package/{packages/config-loader/src/errors → lib/classes}/invalid-config-error.js +2 -4
  8. package/{packages/config-loader/src → lib}/classes/local-file-location.js +5 -4
  9. package/{packages/config-loader/src/errors → lib/classes}/missing-config-error.js +2 -4
  10. package/{packages/config-loader/src/errors → lib/classes}/multiple-config-sources-error.js +2 -4
  11. package/{packages/config-loader/src/errors → lib/classes}/no-files-matched-error.js +2 -4
  12. package/{packages/config-loader/src → lib}/classes/read-file.js +4 -3
  13. package/{packages/config-loader/src → lib}/classes/remote-file-location.js +3 -3
  14. package/{packages/config-loader/src → lib}/classes/resolved-files.js +5 -6
  15. package/{packages/config-loader/src/errors → lib/classes}/single-dest-multiple-source-error.js +2 -4
  16. package/{packages/config-loader/src → lib/helpers}/config-store.js +39 -8
  17. package/lib/helpers/get-defaults.js +38 -0
  18. package/lib/helpers/index.js +25 -0
  19. package/{packages/config-loader/src → lib/helpers}/local-assets.js +9 -7
  20. package/{packages/utils/src → lib/helpers}/path-slashes.js +1 -1
  21. package/{packages/config-loader/src/utils → lib/helpers}/resolve-files.js +7 -11
  22. package/{packages/utils/src → lib/helpers}/type-slug.js +4 -1
  23. package/{packages/utils/src → lib/helpers}/type-title.js +4 -1
  24. package/lib/index.js +16 -0
  25. package/{packages/schemas/src → lib/schemas}/assert.js +6 -6
  26. package/lib/schemas/index.js +15 -0
  27. package/{packages/schemas/src → lib/schemas}/validate.js +18 -17
  28. package/{packages/schemas/src → lib/schemas}/validation-error.js +2 -2
  29. package/lib/stream.js +12 -0
  30. package/lib/validators/index.js +65 -0
  31. package/package.json +63 -6
  32. package/types/classes/custom-error.d.ts +6 -0
  33. package/types/classes/eik-config.d.ts +63 -0
  34. package/types/classes/file-mapping.d.ts +21 -0
  35. package/types/classes/invalid-config-error.d.ts +3 -0
  36. package/types/classes/local-file-location.d.ts +36 -0
  37. package/types/classes/missing-config-error.d.ts +3 -0
  38. package/types/classes/multiple-config-sources-error.d.ts +4 -0
  39. package/types/classes/no-files-matched-error.d.ts +3 -0
  40. package/types/classes/read-file.d.ts +15 -0
  41. package/types/classes/remote-file-location.d.ts +21 -0
  42. package/types/classes/resolved-files.d.ts +20 -0
  43. package/types/classes/single-dest-multiple-source-error.d.ts +3 -0
  44. package/types/helpers/config-store.d.ts +28 -0
  45. package/types/helpers/get-defaults.d.ts +9 -0
  46. package/types/helpers/index.d.ts +23 -0
  47. package/types/helpers/local-assets.d.ts +8 -0
  48. package/types/helpers/path-slashes.d.ts +32 -0
  49. package/types/helpers/resolve-files.d.ts +13 -0
  50. package/types/helpers/type-slug.d.ts +2 -0
  51. package/types/helpers/type-title.d.ts +2 -0
  52. package/types/index.d.ts +16 -0
  53. package/types/schemas/assert.d.ts +11 -0
  54. package/types/schemas/index.d.ts +11 -0
  55. package/types/schemas/validate.d.ts +26 -0
  56. package/types/schemas/validation-error.d.ts +8 -0
  57. package/types/stream.d.ts +2 -0
  58. package/types/validators/index.d.ts +8 -0
  59. package/.eslintignore +0 -2
  60. package/.eslintrc +0 -34
  61. package/.github/workflows/publish.yml +0 -69
  62. package/.github/workflows/test.yml +0 -45
  63. package/.prettierignore +0 -17
  64. package/.prettierrc +0 -20
  65. package/fixtures/client-with-bare-imports.js +0 -16
  66. package/fixtures/client.js +0 -6
  67. package/fixtures/client.js.map +0 -0
  68. package/fixtures/folder/client.js +0 -6
  69. package/fixtures/folder/styles.css +0 -0
  70. package/fixtures/icons/checkbox-sprite.svg +0 -46
  71. package/fixtures/nested/client.js.map +0 -0
  72. package/fixtures/nested/styles.css.map +0 -0
  73. package/fixtures/styles.css +0 -0
  74. package/fixtures/styles.css.map +0 -0
  75. package/packages/config-loader/.prettierignore +0 -17
  76. package/packages/config-loader/index.js +0 -13
  77. package/packages/config-loader/package.json +0 -42
  78. package/packages/config-loader/src/get-defaults.js +0 -25
  79. package/packages/config-loader/test/assets/esm.css +0 -0
  80. package/packages/config-loader/test/assets/esm.css.map +0 -0
  81. package/packages/config-loader/test/assets/esm.js +0 -0
  82. package/packages/config-loader/test/assets/esm.js.map +0 -0
  83. package/packages/config-loader/test/config-store.test.js +0 -231
  84. package/packages/config-loader/test/eik-config/cwd.test.js +0 -35
  85. package/packages/config-loader/test/eik-config/map.test.js +0 -31
  86. package/packages/config-loader/test/eik-config/mappings.test.js +0 -507
  87. package/packages/config-loader/test/eik-config/out.test.js +0 -54
  88. package/packages/config-loader/test/eik-config/server.test.js +0 -32
  89. package/packages/config-loader/test/eik-config/toJSON.test.js +0 -19
  90. package/packages/config-loader/test/eik-config/token.test.js +0 -49
  91. package/packages/config-loader/test/eik-config/type.test.js +0 -22
  92. package/packages/config-loader/test/eik-config/validate.test.js +0 -31
  93. package/packages/config-loader/test/eik-config/version.test.js +0 -22
  94. package/packages/config-loader/test/eik.json +0 -10
  95. package/packages/config-loader/test/local-assets.test.js +0 -125
  96. package/packages/config-loader/test/local-file-location/absolute.test.js +0 -35
  97. package/packages/config-loader/test/local-file-location/contentType.test.js +0 -55
  98. package/packages/config-loader/test/local-file-location/extension.test.js +0 -20
  99. package/packages/config-loader/test/local-file-location/mimeType.test.js +0 -43
  100. package/packages/config-loader/test/read-file.test.js +0 -60
  101. package/packages/config-loader/test/resolve-files.test.js +0 -257
  102. package/packages/config-loader/test/resolved-files/iterator.test.js +0 -17
  103. package/packages/config-loader/test/tmp/.gitkeep +0 -0
  104. package/packages/schemas/.prettierignore +0 -17
  105. package/packages/schemas/eikjson.d.ts +0 -41
  106. package/packages/schemas/index.js +0 -7
  107. package/packages/schemas/package.json +0 -40
  108. package/packages/schemas/test/assert.js +0 -207
  109. package/packages/schemas/test/index.js +0 -182
  110. package/packages/utils/.prettierignore +0 -17
  111. package/packages/utils/index.js +0 -20
  112. package/packages/utils/package.json +0 -29
  113. package/packages/utils/src/stream.js +0 -21
  114. package/packages/utils/tests/eik.json +0 -10
  115. package/packages/validators/.prettierignore +0 -17
  116. package/packages/validators/package.json +0 -34
  117. package/packages/validators/src/index.js +0 -53
  118. package/packages/validators/test/index.js +0 -238
  119. package/release/eik-common-4.0.0-next.7.tgz +0 -0
  120. package/release.config.js +0 -27
  121. package/renovate.json +0 -6
  122. package/tsconfig.json +0 -30
  123. /package/{packages/schemas/src → lib/schemas}/eikjson.schema.json +0 -0
@@ -1,53 +0,0 @@
1
- const semver = require('semver');
2
- const npmPkg = require('validate-npm-package-name');
3
-
4
- module.exports = {
5
- origin: (value) => {
6
- if (new RegExp('^https?://[a-zA-Z0-9-_./]+(:[0-9]+)?').test(value)) {
7
- return value.toLowerCase();
8
- }
9
- throw new Error('Parameter "origin" is not valid');
10
- },
11
- org: (value) => {
12
- if (/^[a-zA-Z0-9_-]+$/.test(value)) {
13
- return value.toLowerCase();
14
- }
15
- throw new Error(`Parameter "org" is not valid - Value: ${value}`);
16
- },
17
- name: (value) => {
18
- const result = npmPkg(value);
19
- if (result.validForNewPackages || result.validForOldPackages) {
20
- return value.toLowerCase();
21
- }
22
- throw new Error(`Parameter "name" is not valid - Value: ${value}`);
23
- },
24
- version: (value) => {
25
- const result = semver.valid(value);
26
- if (result) {
27
- return result;
28
- }
29
- throw new Error(`Parameter "version" is not valid - Value: ${value}`);
30
- },
31
- alias: (value) => {
32
- if (/^[0-9]+$/.test(value)) {
33
- return value;
34
- }
35
- throw new Error(`Parameter "alias" is not valid - Value: ${value}`);
36
- },
37
- type: (value) => {
38
- if (value === 'pkg' || value === 'map' || value === 'npm') {
39
- return value;
40
- }
41
- throw new Error(`Parameter "type" is not valid - Value: ${value}`);
42
- },
43
- semverType: (value) => {
44
- if (value === 'major' || value === 'minor' || value === 'patch') {
45
- return value;
46
- }
47
- throw new Error(
48
- `Parameter "semverType" is not valid - Value: ${value}`,
49
- );
50
- },
51
- // TODO; https://github.com/asset-pipe/core/issues/12
52
- extra: (value) => value,
53
- };
@@ -1,238 +0,0 @@
1
- const tap = require('tap');
2
- const validators = require('../src/index.js');
3
-
4
- //
5
- // .origin()
6
- //
7
-
8
- tap.test('.origin() - valid values - should return value', (t) => {
9
- t.equal(validators.origin('http://origin.com'), 'http://origin.com');
10
- t.equal(
11
- validators.origin('http://origin.com/one/two'),
12
- 'http://origin.com/one/two',
13
- );
14
- t.equal(validators.origin('http://s'), 'http://s');
15
- t.equal(validators.origin('https://s'), 'https://s');
16
- t.equal(
17
- validators.origin('http://localhost:4001'),
18
- 'http://localhost:4001',
19
- );
20
- t.equal(
21
- validators.origin('http://127.0.0.1:4001'),
22
- 'http://127.0.0.1:4001',
23
- );
24
- t.end();
25
- });
26
-
27
- tap.test('.origin() - invalid values - should throw', (t) => {
28
- t.throws(() => {
29
- validators.origin('!name');
30
- }, new Error('Parameter "origin" is not valid'));
31
- t.end();
32
- });
33
-
34
- tap.test(
35
- '.origin() - upper case valid value - should convert to lower case value',
36
- (t) => {
37
- t.equal(validators.origin('http://some-origin'), 'http://some-origin');
38
- t.equal(validators.origin('http://SOME_origin'), 'http://some_origin');
39
- t.end();
40
- },
41
- );
42
-
43
- //
44
- // .org()
45
- //
46
-
47
- tap.test('.org() - valid values - should return value', (t) => {
48
- t.equal(validators.org('someorg'), 'someorg');
49
- t.equal(validators.org('some-org'), 'some-org');
50
- t.equal(validators.org('some_org'), 'some_org');
51
- t.equal(validators.org('123'), '123');
52
- t.end();
53
- });
54
-
55
- tap.test('.org() - invalid values - should throw', (t) => {
56
- t.throws(() => {
57
- validators.org('!name');
58
- }, new Error('Parameter "org" is not valid'));
59
- t.end();
60
- });
61
-
62
- tap.test(
63
- '.org() - upper case valid value - should convert to lower case value',
64
- (t) => {
65
- t.equal(validators.org('SOMEorg'), 'someorg');
66
- t.equal(validators.org('some-ORG'), 'some-org');
67
- t.equal(validators.org('SOME_ORG'), 'some_org');
68
- t.equal(validators.org('123'), '123');
69
- t.end();
70
- },
71
- );
72
-
73
- //
74
- // .name()
75
- //
76
-
77
- tap.test('.name() - valid values - should return value', (t) => {
78
- t.equal(validators.name('some-package'), 'some-package');
79
- t.equal(validators.name('example.com'), 'example.com');
80
- t.equal(validators.name('under_score'), 'under_score');
81
- t.equal(validators.name('123numeric'), '123numeric');
82
- t.equal(validators.name('@npm/thingy'), '@npm/thingy');
83
- t.equal(validators.name('@jane/foo.js'), '@jane/foo.js');
84
- t.end();
85
- });
86
-
87
- tap.test('.name() - invalid values - should throw', (t) => {
88
- t.throws(() => {
89
- validators.name(' leading-space:and:weirdchars');
90
- }, new Error('Parameter "name" is not valid'));
91
- t.end();
92
- });
93
-
94
- //
95
- // .version()
96
- //
97
-
98
- tap.test('.version() - valid values - should return value', (t) => {
99
- t.equal(validators.version('2.3.4'), '2.3.4');
100
- t.equal(validators.version('1.2.4-beta.0'), '1.2.4-beta.0');
101
- t.end();
102
- });
103
-
104
- tap.test('.version() - invalid values - should throw', (t) => {
105
- t.throws(() => {
106
- validators.version(' 1.and:weirdchars~5');
107
- }, new Error('Parameter "version" is not valid'));
108
- t.end();
109
- });
110
-
111
- tap.test('.version() - caret range - should throw', (t) => {
112
- t.throws(() => {
113
- validators.version('^1.2.4');
114
- }, new Error('Parameter "version" is not valid'));
115
- t.end();
116
- });
117
-
118
- tap.test('.version() - tilde range - should throw', (t) => {
119
- t.throws(() => {
120
- validators.version('~1.2.4');
121
- }, new Error('Parameter "version" is not valid'));
122
- t.end();
123
- });
124
-
125
- tap.test('.version() - X-range - should throw', (t) => {
126
- t.throws(() => {
127
- validators.version('1.x');
128
- }, new Error('Parameter "version" is not valid'));
129
- t.end();
130
- });
131
-
132
- tap.test('.version() - * - should throw', (t) => {
133
- t.throws(() => {
134
- validators.version('*');
135
- }, new Error('Parameter "version" is not valid'));
136
- t.end();
137
- });
138
-
139
- tap.test('.version() - latest - should throw', (t) => {
140
- t.throws(() => {
141
- validators.version('latest');
142
- }, new Error('Parameter "version" is not valid'));
143
- t.end();
144
- });
145
-
146
- //
147
- // .alias()
148
- //
149
-
150
- tap.test('.alias() - valid values - should return value', (t) => {
151
- t.equal(validators.alias('8'), '8');
152
- t.equal(validators.alias('10'), '10');
153
- t.equal(validators.alias('10893475983749384'), '10893475983749384');
154
- t.end();
155
- });
156
-
157
- tap.test('.name() - invalid value - semver patch - should throw', (t) => {
158
- t.throws(() => {
159
- validators.alias('1.2.4');
160
- }, new Error('Parameter "alias" is not valid'));
161
- t.end();
162
- });
163
-
164
- tap.test('.name() - invalid value - semver minor - should throw', (t) => {
165
- t.throws(() => {
166
- validators.alias('1.2');
167
- }, new Error('Parameter "alias" is not valid'));
168
- t.end();
169
- });
170
-
171
- tap.test('.name() - invalid value - semver latest - should throw', (t) => {
172
- t.throws(() => {
173
- validators.alias('latest');
174
- }, new Error('Parameter "alias" is not valid'));
175
- t.end();
176
- });
177
-
178
- //
179
- // .type()
180
- //
181
-
182
- tap.test('.type() - valid values - should return value', (t) => {
183
- t.equal(validators.type('pkg'), 'pkg');
184
- t.equal(validators.type('map'), 'map');
185
- t.equal(validators.type('npm'), 'npm');
186
- t.end();
187
- });
188
-
189
- tap.test('.type() - invalid value - should throw', (t) => {
190
- t.throws(() => {
191
- validators.type('foo');
192
- }, new Error('Parameter "type" is not valid'));
193
- t.end();
194
- });
195
-
196
- tap.test('.type() - invalid value - upper case - should throw', (t) => {
197
- t.throws(() => {
198
- validators.type('PKG');
199
- }, new Error('Parameter "type" is not valid'));
200
- t.end();
201
- });
202
-
203
- //
204
- // .extra()
205
- //
206
-
207
- tap.test('.extra() - valid values - should return value', (t) => {
208
- t.equal(validators.extra('/foo/bar/index.js'), '/foo/bar/index.js');
209
- t.equal(validators.extra('/foo/a9-8_3/index.js'), '/foo/a9-8_3/index.js');
210
- t.equal(validators.extra('/foo/bar'), '/foo/bar');
211
- t.equal(validators.extra('index.js'), 'index.js');
212
- t.end();
213
- });
214
-
215
- //
216
- // .semverType()
217
- //
218
-
219
- tap.test('.semverType() - valid values - should return value', (t) => {
220
- t.equal(validators.semverType('major'), 'major');
221
- t.equal(validators.semverType('minor'), 'minor');
222
- t.equal(validators.semverType('patch'), 'patch');
223
- t.end();
224
- });
225
-
226
- tap.test('.semverType() - invalid value - should throw', (t) => {
227
- t.throws(() => {
228
- validators.semverType('foo');
229
- }, new Error('Parameter "semverType" is not valid'));
230
- t.end();
231
- });
232
-
233
- tap.test('.semverType() - invalid value - upper case - should throw', (t) => {
234
- t.throws(() => {
235
- validators.semverType('MAJOR');
236
- }, new Error('Parameter "semverType" is not valid'));
237
- t.end();
238
- });
Binary file
package/release.config.js DELETED
@@ -1,27 +0,0 @@
1
- module.exports = {
2
- plugins: [
3
- '@semantic-release/commit-analyzer',
4
- '@semantic-release/release-notes-generator',
5
- '@semantic-release/changelog',
6
- [
7
- '@semantic-release/npm',
8
- {
9
- tarballDir: 'release',
10
- },
11
- ],
12
- [
13
- '@semantic-release/github',
14
- {
15
- assets: 'release/*.tgz',
16
- },
17
- ],
18
- '@semantic-release/git',
19
- ],
20
- preset: 'angular',
21
- branches: [
22
- { name: 'master' },
23
- { name: 'alpha', prerelease: true },
24
- { name: 'beta', prerelease: true },
25
- { name: 'next', prerelease: true },
26
- ],
27
- };
package/renovate.json DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
- "extends": [
4
- "github>eik-lib/renovate-presets:sub-level-module"
5
- ]
6
- }
package/tsconfig.json DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "lib": [
4
- "es2020",
5
- "dom"
6
- ],
7
- "module": "es2020",
8
- "target": "es2020",
9
- "resolveJsonModule": true,
10
- "checkJs": true,
11
- "allowJs": true,
12
- "moduleResolution": "node",
13
- "noEmit": false,
14
- "declaration": true,
15
- "emitDeclarationOnly": true,
16
- "outDir": "types"
17
- },
18
- "include": [
19
- "lib",
20
- "packages/validators/index.js",
21
- "packages/helpers/src/type-slug.js",
22
- "packages/helpers/src/config-store.js",
23
- "packages/schemas/src/validation-error.js",
24
- "packages/schemas/src/validate.js",
25
- "packages/schemas/index.js",
26
- "packages/schemas/src/assert.js",
27
- "packages/shared/src/stream.js",
28
- "packages/config-loader/src/custom-error.js"
29
- ]
30
- }