tshy 1.14.1 → 1.15.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.
- package/README.md +109 -0
- package/dist/esm/build-live-commonjs.d.ts +3 -0
- package/dist/esm/build-live-commonjs.d.ts.map +1 -0
- package/dist/esm/build-live-commonjs.js +36 -0
- package/dist/esm/build-live-commonjs.js.map +1 -0
- package/dist/esm/build-live-esm.d.ts +3 -0
- package/dist/esm/build-live-esm.d.ts.map +1 -0
- package/dist/esm/build-live-esm.js +34 -0
- package/dist/esm/build-live-esm.js.map +1 -0
- package/dist/esm/build.d.ts.map +1 -1
- package/dist/esm/build.js +10 -2
- package/dist/esm/build.js.map +1 -1
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +2 -1
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/exports.d.ts.map +1 -1
- package/dist/esm/exports.js +50 -17
- package/dist/esm/exports.js.map +1 -1
- package/dist/esm/types.d.ts +1 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -276,10 +276,12 @@ appropriate build target locations, like:
|
|
|
276
276
|
"./foo": {
|
|
277
277
|
"import": {
|
|
278
278
|
"types": "./dist/esm/foo.d.ts",
|
|
279
|
+
"source": "./src/foo.ts",
|
|
279
280
|
"default": "./dist/esm/foo.js"
|
|
280
281
|
},
|
|
281
282
|
"require": {
|
|
282
283
|
"types": "./dist/commonjs/foo.d.ts",
|
|
284
|
+
"source": "./src/foo.ts",
|
|
283
285
|
"default": "./dist/commonjs/foo.js"
|
|
284
286
|
}
|
|
285
287
|
}
|
|
@@ -345,20 +347,24 @@ be:
|
|
|
345
347
|
".": {
|
|
346
348
|
"require": {
|
|
347
349
|
"types": "./dist/commonjs/index.d.ts",
|
|
350
|
+
"source": "./src/index.ts",
|
|
348
351
|
"default": "./dist/commonjs/index.js"
|
|
349
352
|
},
|
|
350
353
|
"import": {
|
|
351
354
|
"types": "./dist/esm/index.d.ts",
|
|
355
|
+
"source": "./src/index.ts",
|
|
352
356
|
"default": "./dist/esm/index.js"
|
|
353
357
|
}
|
|
354
358
|
},
|
|
355
359
|
"./component/foo": {
|
|
356
360
|
"require": {
|
|
357
361
|
"types": "./dist/commonjs/component/foo.d.ts",
|
|
362
|
+
"source": "./src/component/foo.ts",
|
|
358
363
|
"default": "./dist/commonjs/component/foo.js"
|
|
359
364
|
},
|
|
360
365
|
"import": {
|
|
361
366
|
"types": "./dist/esm/component/foo.d.ts",
|
|
367
|
+
"source": "./src/component/foo.ts",
|
|
362
368
|
"default": "./dist/esm/component/foo.js"
|
|
363
369
|
}
|
|
364
370
|
},
|
|
@@ -381,6 +387,31 @@ This would export a file at `./src/foo.ts` as `./foo`, and a file
|
|
|
381
387
|
at `./src/utils/bar.ts` as `./utils/bar`, but would ignore a file
|
|
382
388
|
at `./internal/private.ts`.
|
|
383
389
|
|
|
390
|
+
### Live Dev
|
|
391
|
+
|
|
392
|
+
Set `"liveDev": true` in the tshy config in `package.json` to
|
|
393
|
+
build in link mode. In this mode, the files are hard-linked into
|
|
394
|
+
place in the `dist` folder, so that edits are immediately visible.
|
|
395
|
+
|
|
396
|
+
This is particularly beneficial in monorepo projects, where
|
|
397
|
+
workspaces may be edited in parallel, and so it's handy to have
|
|
398
|
+
changes reflected in real time without a rebuild.
|
|
399
|
+
|
|
400
|
+
Of course, tools that can't handle TypeScript will have a problem
|
|
401
|
+
with this, so any generic `node` program will not be able to run
|
|
402
|
+
your code. For this reason:
|
|
403
|
+
|
|
404
|
+
- `liveDev` is always disabled when the `npm_command` environment
|
|
405
|
+
variable is `'publish'` or `'pack'`. In these situations, your
|
|
406
|
+
code is being built for public consumption, and must be
|
|
407
|
+
compiled.
|
|
408
|
+
- Code in dist will not be able to be loaded in the node repl
|
|
409
|
+
unless you run it with a loader, such as `node --import=tsx`.
|
|
410
|
+
- Because it links files into place, a rebuild _is_ required when
|
|
411
|
+
a file is added or removed.
|
|
412
|
+
|
|
413
|
+
See also: "Loading from Source", below.
|
|
414
|
+
|
|
384
415
|
### Package `#imports`
|
|
385
416
|
|
|
386
417
|
You can use `"imports"` in your package.json, and it will be
|
|
@@ -574,10 +605,12 @@ will produce:
|
|
|
574
605
|
".": {
|
|
575
606
|
"require": {
|
|
576
607
|
"types": "./dist/commonjs/index.d.ts",
|
|
608
|
+
"source": "./src/index.js",
|
|
577
609
|
"default": "./dist/commonjs/index.js"
|
|
578
610
|
},
|
|
579
611
|
"import": {
|
|
580
612
|
"types": "./dist/esm/index.d.ts",
|
|
613
|
+
"source": "./src/index.ts",
|
|
581
614
|
"default": "./dist/esm/index.js"
|
|
582
615
|
}
|
|
583
616
|
}
|
|
@@ -682,22 +715,27 @@ Will result in:
|
|
|
682
715
|
".": {
|
|
683
716
|
"deno": {
|
|
684
717
|
"types": "./dist/deno/index.d.ts",
|
|
718
|
+
"source": "./src/index.ts",
|
|
685
719
|
"default": "./dist/deno/index.js"
|
|
686
720
|
},
|
|
687
721
|
"browser": {
|
|
688
722
|
"types": "./dist/browser/index.d.ts",
|
|
723
|
+
"default": "./src/index.ts",
|
|
689
724
|
"default": "./dist/browser/index.js"
|
|
690
725
|
},
|
|
691
726
|
"webpack": {
|
|
692
727
|
"types": "./dist/webpack/index.d.ts",
|
|
728
|
+
"source": "./src/index.ts",
|
|
693
729
|
"default": "./dist/webpack/index.js"
|
|
694
730
|
},
|
|
695
731
|
"require": {
|
|
696
732
|
"types": "./dist/commonjs/index.d.ts",
|
|
733
|
+
"source": "./src/index.ts",
|
|
697
734
|
"default": "./dist/commonjs/index.js"
|
|
698
735
|
},
|
|
699
736
|
"import": {
|
|
700
737
|
"types": "./dist/esm/index.d.ts",
|
|
738
|
+
"source": "./src/index.ts",
|
|
701
739
|
"default": "./dist/esm/index.js"
|
|
702
740
|
}
|
|
703
741
|
}
|
|
@@ -722,6 +760,44 @@ src/index-deno.mts # esm variant for deno
|
|
|
722
760
|
src/index-webpack.cts # cjs variant for webpack
|
|
723
761
|
```
|
|
724
762
|
|
|
763
|
+
If dialect overrides are used, then the `"source"` export
|
|
764
|
+
condition will refer to the original source for the override. For
|
|
765
|
+
example:
|
|
766
|
+
|
|
767
|
+
```json
|
|
768
|
+
{
|
|
769
|
+
"exports": {
|
|
770
|
+
".": {
|
|
771
|
+
"deno": {
|
|
772
|
+
"types": "./dist/deno/index.d.ts",
|
|
773
|
+
"source": "./src/index-deno.mts",
|
|
774
|
+
"default": "./dist/deno/index.js"
|
|
775
|
+
},
|
|
776
|
+
"browser": {
|
|
777
|
+
"types": "./dist/browser/index.d.ts",
|
|
778
|
+
"default": "./src/index-browser.mts",
|
|
779
|
+
"default": "./dist/browser/index.js"
|
|
780
|
+
},
|
|
781
|
+
"webpack": {
|
|
782
|
+
"types": "./dist/webpack/index.d.ts",
|
|
783
|
+
"source": "./src/index-webpack.cts",
|
|
784
|
+
"default": "./dist/webpack/index.js"
|
|
785
|
+
},
|
|
786
|
+
"require": {
|
|
787
|
+
"types": "./dist/commonjs/index.d.ts",
|
|
788
|
+
"source": "./src/index-cjs.cts",
|
|
789
|
+
"default": "./dist/commonjs/index.js"
|
|
790
|
+
},
|
|
791
|
+
"import": {
|
|
792
|
+
"types": "./dist/esm/index.d.ts",
|
|
793
|
+
"source": "./src/index.ts",
|
|
794
|
+
"default": "./dist/esm/index.js"
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
```
|
|
800
|
+
|
|
725
801
|
Note that the `commonjs` override uses the abbreviated `cjs`
|
|
726
802
|
name (historical reasons, it was originally the only override
|
|
727
803
|
supported), and that the file extension must be `cts` or `mts`
|
|
@@ -778,6 +854,39 @@ provided for you.
|
|
|
778
854
|
Then the `tsconfig.json` file will be used as the default project
|
|
779
855
|
for code hints in VSCode, neovim, tests, etc.
|
|
780
856
|
|
|
857
|
+
### Loading from Source
|
|
858
|
+
|
|
859
|
+
If you are using tshy in a monorepo environment, you can
|
|
860
|
+
configure TypeScript (and other tools) to resolve to the _source_
|
|
861
|
+
files rather than built artifacts by telling them to use the
|
|
862
|
+
`"source"` export condition.
|
|
863
|
+
|
|
864
|
+
For example, in editors such as VS Code and neovim/CoC that use
|
|
865
|
+
the TypeScript language services, you can give them a `tsconfig`
|
|
866
|
+
that contains this:
|
|
867
|
+
|
|
868
|
+
```json
|
|
869
|
+
{
|
|
870
|
+
"compilerOptions": {
|
|
871
|
+
"customConditions": ["source"]
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
```
|
|
875
|
+
|
|
876
|
+
If you are loading your program with a custom Node.js importer
|
|
877
|
+
like [`tsx`](https://npm.im/tsx) that can load TypeScript
|
|
878
|
+
directly, you can specify it like this:
|
|
879
|
+
|
|
880
|
+
```bash
|
|
881
|
+
node --import=tsx --conditions=source ./script.ts
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
Other TypeScript-aware tools may have other mechanisms for
|
|
885
|
+
specifying export conditions. Refer to their documentation for
|
|
886
|
+
more information.
|
|
887
|
+
|
|
888
|
+
See also: "Live Dev", above.
|
|
889
|
+
|
|
781
890
|
### Custom `project`
|
|
782
891
|
|
|
783
892
|
Configure `tshy.project` if you want tshy to extend from a custom
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-live-commonjs.d.ts","sourceRoot":"","sources":["../../src/build-live-commonjs.ts"],"names":[],"mappings":"AAUA,OAAO,eAAe,CAAA;AAKtB,eAAO,MAAM,iBAAiB,YA2B7B,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { linkSync, mkdirSync } from 'node:fs';
|
|
3
|
+
import { dirname } from 'node:path';
|
|
4
|
+
import { relative, resolve } from 'node:path/posix';
|
|
5
|
+
import config from './config.js';
|
|
6
|
+
import * as console from './console.js';
|
|
7
|
+
import ifExist from './if-exist.js';
|
|
8
|
+
import polyfills from './polyfills.js';
|
|
9
|
+
import setFolderDialect from './set-folder-dialect.js';
|
|
10
|
+
import sources from './sources.js';
|
|
11
|
+
import './tsconfig.js';
|
|
12
|
+
const { commonjsDialects = [] } = config;
|
|
13
|
+
// don't actually do a build, just link files into places.
|
|
14
|
+
export const buildLiveCommonJS = () => {
|
|
15
|
+
for (const d of ['commonjs', ...commonjsDialects]) {
|
|
16
|
+
const pf = polyfills.get(d === 'commonjs' ? 'cjs' : d);
|
|
17
|
+
console.debug(chalk.cyan.dim('linking ' + d));
|
|
18
|
+
for (const s of sources) {
|
|
19
|
+
const source = s.substring('./src/'.length);
|
|
20
|
+
const target = resolve(`.tshy-build/${d}/${source}`);
|
|
21
|
+
mkdirSync(dirname(target), { recursive: true });
|
|
22
|
+
linkSync(s, target);
|
|
23
|
+
}
|
|
24
|
+
setFolderDialect('.tshy-build/' + d, 'commonjs');
|
|
25
|
+
for (const [override, orig] of pf?.map.entries() ?? []) {
|
|
26
|
+
const stemFrom = resolve(`.tshy-build/${d}`, relative(resolve('src'), resolve(override))).replace(/\.cts$/, '');
|
|
27
|
+
const stemTo = resolve(`.tshy-build/${d}`, relative(resolve('src'), resolve(orig))).replace(/\.tsx?$/, '');
|
|
28
|
+
ifExist.unlink(`${stemTo}.js.map`);
|
|
29
|
+
ifExist.unlink(`${stemTo}.d.ts.map`);
|
|
30
|
+
ifExist.rename(`${stemFrom}.cjs`, `${stemTo}.js`);
|
|
31
|
+
ifExist.rename(`${stemFrom}.d.cts`, `${stemTo}.d.ts`);
|
|
32
|
+
}
|
|
33
|
+
console.error(chalk.cyan.bold('linked commonjs'));
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=build-live-commonjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-live-commonjs.js","sourceRoot":"","sources":["../../src/build-live-commonjs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,OAAO,MAAM,eAAe,CAAA;AACnC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,gBAAgB,MAAM,yBAAyB,CAAA;AACtD,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,eAAe,CAAA;AAEtB,MAAM,EAAE,gBAAgB,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;AAExC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;QAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;YACpD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/C,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QACrB,CAAC;QACD,gBAAgB,CAAC,cAAc,GAAG,CAAC,EAAE,UAAU,CAAC,CAAA;QAChD,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,OAAO,CACtB,eAAe,CAAC,EAAE,EAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC5C,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACvB,MAAM,MAAM,GAAG,OAAO,CACpB,eAAe,CAAC,EAAE,EAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CACxC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACxB,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,CAAA;YAClC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,CAAA;YACpC,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,CAAA;YACjD,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;IACnD,CAAC;AACH,CAAC,CAAA","sourcesContent":["import chalk from 'chalk'\nimport { linkSync, mkdirSync } from 'node:fs'\nimport { dirname } from 'node:path'\nimport { relative, resolve } from 'node:path/posix'\nimport config from './config.js'\nimport * as console from './console.js'\nimport ifExist from './if-exist.js'\nimport polyfills from './polyfills.js'\nimport setFolderDialect from './set-folder-dialect.js'\nimport sources from './sources.js'\nimport './tsconfig.js'\n\nconst { commonjsDialects = [] } = config\n\n// don't actually do a build, just link files into places.\nexport const buildLiveCommonJS = () => {\n for (const d of ['commonjs', ...commonjsDialects]) {\n const pf = polyfills.get(d === 'commonjs' ? 'cjs' : d)\n console.debug(chalk.cyan.dim('linking ' + d))\n for (const s of sources) {\n const source = s.substring('./src/'.length)\n const target = resolve(`.tshy-build/${d}/${source}`)\n mkdirSync(dirname(target), { recursive: true })\n linkSync(s, target)\n }\n setFolderDialect('.tshy-build/' + d, 'commonjs')\n for (const [override, orig] of pf?.map.entries() ?? []) {\n const stemFrom = resolve(\n `.tshy-build/${d}`,\n relative(resolve('src'), resolve(override))\n ).replace(/\\.cts$/, '')\n const stemTo = resolve(\n `.tshy-build/${d}`,\n relative(resolve('src'), resolve(orig))\n ).replace(/\\.tsx?$/, '')\n ifExist.unlink(`${stemTo}.js.map`)\n ifExist.unlink(`${stemTo}.d.ts.map`)\n ifExist.rename(`${stemFrom}.cjs`, `${stemTo}.js`)\n ifExist.rename(`${stemFrom}.d.cts`, `${stemTo}.d.ts`)\n }\n console.error(chalk.cyan.bold('linked commonjs'))\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-live-esm.d.ts","sourceRoot":"","sources":["../../src/build-live-esm.ts"],"names":[],"mappings":"AASA,OAAO,eAAe,CAAA;AAItB,eAAO,MAAM,YAAY,YA2BxB,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { linkSync, mkdirSync } from 'node:fs';
|
|
3
|
+
import { dirname, relative, resolve } from 'node:path';
|
|
4
|
+
import config from './config.js';
|
|
5
|
+
import * as console from './console.js';
|
|
6
|
+
import ifExist from './if-exist.js';
|
|
7
|
+
import polyfills from './polyfills.js';
|
|
8
|
+
import setFolderDialect from './set-folder-dialect.js';
|
|
9
|
+
import sources from './sources.js';
|
|
10
|
+
import './tsconfig.js';
|
|
11
|
+
const { esmDialects = [] } = config;
|
|
12
|
+
export const buildLiveESM = () => {
|
|
13
|
+
for (const d of ['esm', ...esmDialects]) {
|
|
14
|
+
const pf = polyfills.get(d);
|
|
15
|
+
console.debug(chalk.cyan.dim('linking ' + d));
|
|
16
|
+
for (const s of sources) {
|
|
17
|
+
const source = s.substring('./src/'.length);
|
|
18
|
+
const target = resolve(`.tshy-build/${d}/${source}`);
|
|
19
|
+
mkdirSync(dirname(target), { recursive: true });
|
|
20
|
+
linkSync(s, target);
|
|
21
|
+
}
|
|
22
|
+
setFolderDialect('.tshy-build/' + d, 'esm');
|
|
23
|
+
for (const [override, orig] of pf?.map.entries() ?? []) {
|
|
24
|
+
const stemFrom = resolve(`.tshy-build/${d}`, relative(resolve('src'), resolve(override))).replace(/\.mts$/, '');
|
|
25
|
+
const stemTo = resolve(`.tshy-build/${d}`, relative(resolve('src'), resolve(orig))).replace(/\.tsx?$/, '');
|
|
26
|
+
ifExist.unlink(`${stemTo}.js.map`);
|
|
27
|
+
ifExist.unlink(`${stemTo}.d.ts.map`);
|
|
28
|
+
ifExist.rename(`${stemFrom}.mjs`, `${stemTo}.js`);
|
|
29
|
+
ifExist.rename(`${stemFrom}.d.mts`, `${stemTo}.d.ts`);
|
|
30
|
+
}
|
|
31
|
+
console.error(chalk.cyan.bold('linked ' + d));
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=build-live-esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-live-esm.js","sourceRoot":"","sources":["../../src/build-live-esm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,OAAO,MAAM,eAAe,CAAA;AACnC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,gBAAgB,MAAM,yBAAyB,CAAA;AACtD,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,eAAe,CAAA;AAEtB,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;AAEnC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;QAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;YACpD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/C,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QACrB,CAAC;QACD,gBAAgB,CAAC,cAAc,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QAC3C,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,OAAO,CACtB,eAAe,CAAC,EAAE,EAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC5C,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACvB,MAAM,MAAM,GAAG,OAAO,CACpB,eAAe,CAAC,EAAE,EAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CACxC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACxB,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,CAAA;YAClC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,CAAA;YACpC,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,CAAA;YACjD,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC,CAAA","sourcesContent":["import chalk from 'chalk'\nimport { linkSync, mkdirSync } from 'node:fs'\nimport { dirname, relative, resolve } from 'node:path'\nimport config from './config.js'\nimport * as console from './console.js'\nimport ifExist from './if-exist.js'\nimport polyfills from './polyfills.js'\nimport setFolderDialect from './set-folder-dialect.js'\nimport sources from './sources.js'\nimport './tsconfig.js'\n\nconst { esmDialects = [] } = config\n\nexport const buildLiveESM = () => {\n for (const d of ['esm', ...esmDialects]) {\n const pf = polyfills.get(d)\n console.debug(chalk.cyan.dim('linking ' + d))\n for (const s of sources) {\n const source = s.substring('./src/'.length)\n const target = resolve(`.tshy-build/${d}/${source}`)\n mkdirSync(dirname(target), { recursive: true })\n linkSync(s, target)\n }\n setFolderDialect('.tshy-build/' + d, 'esm')\n for (const [override, orig] of pf?.map.entries() ?? []) {\n const stemFrom = resolve(\n `.tshy-build/${d}`,\n relative(resolve('src'), resolve(override))\n ).replace(/\\.mts$/, '')\n const stemTo = resolve(\n `.tshy-build/${d}`,\n relative(resolve('src'), resolve(orig))\n ).replace(/\\.tsx?$/, '')\n ifExist.unlink(`${stemTo}.js.map`)\n ifExist.unlink(`${stemTo}.d.ts.map`)\n ifExist.rename(`${stemFrom}.mjs`, `${stemTo}.js`)\n ifExist.rename(`${stemFrom}.d.mts`, `${stemTo}.d.ts`)\n }\n console.error(chalk.cyan.bold('linked ' + d))\n }\n}\n"]}
|
package/dist/esm/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/build.ts"],"names":[],"mappings":"AAcA,OAAO,eAAe,CAAA;;AAUtB,wBA0CC"}
|
package/dist/esm/build.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
+
import config from './config.js';
|
|
2
3
|
import { syncContentSync } from 'sync-content';
|
|
3
4
|
import bins from './bins.js';
|
|
4
5
|
import { buildCommonJS } from './build-commonjs.js';
|
|
@@ -11,14 +12,21 @@ import { link as linkSelfDep, unlink as unlinkSelfDep, } from './self-link.js';
|
|
|
11
12
|
import './tsconfig.js';
|
|
12
13
|
import { link as linkImports, save as saveImports, unlink as unlinkImports, } from './unbuilt-imports.js';
|
|
13
14
|
import writePackage from './write-package.js';
|
|
15
|
+
import { buildLiveESM } from './build-live-esm.js';
|
|
16
|
+
import { buildLiveCommonJS } from './build-live-commonjs.js';
|
|
14
17
|
export default async () => {
|
|
15
18
|
cleanBuildTmp();
|
|
16
19
|
linkSelfDep(pkg, 'src');
|
|
17
20
|
await linkImports(pkg, 'src');
|
|
21
|
+
const liveDev = config.liveDev &&
|
|
22
|
+
process.env.npm_command !== 'publish' &&
|
|
23
|
+
process.env.npm_command !== 'pack';
|
|
24
|
+
const esm = liveDev ? buildLiveESM : buildESM;
|
|
25
|
+
const commonjs = liveDev ? buildLiveCommonJS : buildCommonJS;
|
|
18
26
|
if (dialects.includes('esm'))
|
|
19
|
-
|
|
27
|
+
esm();
|
|
20
28
|
if (dialects.includes('commonjs'))
|
|
21
|
-
|
|
29
|
+
commonjs();
|
|
22
30
|
await unlinkImports(pkg, 'src');
|
|
23
31
|
unlinkSelfDep(pkg, 'src');
|
|
24
32
|
console.debug(chalk.cyan.dim('moving to ./dist'));
|
package/dist/esm/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,aAAa,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,QAAQ,MAAM,eAAe,CAAA;AACpC,OAAO,GAAG,MAAM,cAAc,CAAA;AAC9B,OAAO,EACL,IAAI,IAAI,WAAW,EACnB,MAAM,IAAI,aAAa,GACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,eAAe,CAAA;AACtB,OAAO,EACL,IAAI,IAAI,WAAW,EACnB,IAAI,IAAI,WAAW,EACnB,MAAM,IAAI,aAAa,GACxB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,YAAY,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/build.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from 'chalk'\nimport config from './config.js'\nimport { syncContentSync } from 'sync-content'\nimport bins from './bins.js'\nimport { buildCommonJS } from './build-commonjs.js'\nimport { buildESM } from './build-esm.js'\nimport cleanBuildTmp from './clean-build-tmp.js'\nimport * as console from './console.js'\nimport dialects from './dialects.js'\nimport pkg from './package.js'\nimport {\n link as linkSelfDep,\n unlink as unlinkSelfDep,\n} from './self-link.js'\nimport './tsconfig.js'\nimport {\n link as linkImports,\n save as saveImports,\n unlink as unlinkImports,\n} from './unbuilt-imports.js'\nimport writePackage from './write-package.js'\nimport { buildLiveESM } from './build-live-esm.js'\nimport { buildLiveCommonJS } from './build-live-commonjs.js'\n\nexport default async () => {\n cleanBuildTmp()\n\n linkSelfDep(pkg, 'src')\n await linkImports(pkg, 'src')\n const liveDev =\n config.liveDev &&\n process.env.npm_command !== 'publish' &&\n process.env.npm_command !== 'pack'\n const esm = liveDev ? buildLiveESM : buildESM\n const commonjs = liveDev ? buildLiveCommonJS : buildCommonJS\n if (dialects.includes('esm')) esm()\n if (dialects.includes('commonjs')) commonjs()\n await unlinkImports(pkg, 'src')\n unlinkSelfDep(pkg, 'src')\n\n console.debug(chalk.cyan.dim('moving to ./dist'))\n syncContentSync('.tshy-build', 'dist')\n console.debug(chalk.cyan.dim('cleaning build temp dir'))\n\n cleanBuildTmp()\n\n linkSelfDep(pkg, 'dist')\n\n if (pkg.imports) {\n console.debug('linking package imports', pkg.imports)\n if (dialects.includes('commonjs'))\n await linkImports(pkg, 'dist/commonjs', true)\n if (dialects.includes('esm'))\n await linkImports(pkg, 'dist/esm', true)\n if (saveImports('dist/.tshy-link-imports.mjs')) {\n pkg.scripts = pkg.scripts || {}\n pkg.scripts.preinstall =\n 'node -e \"import(process.argv[1]).catch(()=>{})\" ' +\n 'dist/.tshy-link-imports.mjs'\n }\n }\n\n console.debug(chalk.cyan.dim('chmod bins'))\n bins()\n console.debug(chalk.cyan.dim('write package.json'))\n writePackage()\n}\n"]}
|
package/dist/esm/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,UAAU,EAEX,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,UAAU,EAEX,MAAM,YAAY,CAAA;AAkHnB,QAAA,MAAM,MAAM,EAAE,UAAoC,CAAA;AAClD,eAAe,MAAM,CAAA"}
|
package/dist/esm/config.js
CHANGED
|
@@ -30,7 +30,8 @@ const validConfig = (e) => !!e &&
|
|
|
30
30
|
(e.exclude === undefined || validExclude(e.exclude)) &&
|
|
31
31
|
validExtraDialects(e) &&
|
|
32
32
|
validBoolean(e, 'selfLink') &&
|
|
33
|
-
validBoolean(e, 'main')
|
|
33
|
+
validBoolean(e, 'main') &&
|
|
34
|
+
validBoolean(e, 'liveDev');
|
|
34
35
|
const match = (e, pattern) => pattern.some(m => m.match(e));
|
|
35
36
|
const parsePattern = (p) => Array.isArray(p)
|
|
36
37
|
? p.map(p => new Minimatch(p.replace(/^\.\//, '')))
|
package/dist/esm/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,GAAG,MAAM,cAAc,CAAA;AAC9B,OAAO,OAAO,MAAM,cAAc,CAAA;AAMlC,OAAO,aAAa,MAAM,qBAAqB,CAAA;AAC/C,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,kBAAkB,MAAM,2BAA2B,CAAA;AAC1D,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAE7C,MAAM,YAAY,GAAG,CAAC,CAAsB,EAAE,IAAY,EAAE,EAAE;IAC5D,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;IACjB,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAC1D,IAAI,CAAC,QAAQ,IAAI,8CAA8C,GAAG,CAAC,CAAC,CAAA;IACpE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,CAAM,EAAiB,EAAE,CAC9C,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAA;AAEhE,MAAM,WAAW,GAAG,CAAC,CAAM,EAAmC,EAAE,CAC9D,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,KAAK,QAAQ;IACrB,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS;QACtB,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;QAC7B,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;QACxB,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACpD,kBAAkB,CAAC,CAAC,CAAC;IACrB,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC;IAC3B,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["// get the config and package and stuff\n\nimport chalk from 'chalk'\nimport { Minimatch } from 'minimatch'\nimport * as console from './console.js'\nimport fail from './fail.js'\nimport pkg from './package.js'\nimport sources from './sources.js'\nimport {\n Package,\n TshyConfig,\n TshyConfigMaybeGlobExports,\n} from './types.js'\nimport validDialects from './valid-dialects.js'\nimport validExclude from './valid-exclude.js'\nimport validExports from './valid-exports.js'\nimport validExtraDialects from './valid-extra-dialects.js'\nimport validImports from './valid-imports.js'\nimport validProject from './valid-project.js'\n\nconst validBoolean = (e: Record<string, any>, name: string) => {\n const v = e[name]\n if (v === undefined || typeof v === 'boolean') return true\n fail(`tshy.${name} must be a boolean value if specified, got: ` + v)\n return process.exit(1)\n}\n\nconst isStringArray = (e: any): e is string[] =>\n !!e && Array.isArray(e) && !e.some(e => typeof e !== 'string')\n\nconst validConfig = (e: any): e is TshyConfigMaybeGlobExports =>\n !!e &&\n typeof e === 'object' &&\n (e.exports === undefined ||\n typeof e.exports === 'string' ||\n isStringArray(e.exports) ||\n validExports(e.exports)) &&\n (e.dialects === undefined || validDialects(e.dialects)) &&\n (e.project === undefined || validProject(e.project)) &&\n (e.exclude === undefined || validExclude(e.exclude)) &&\n validExtraDialects(e) &&\n validBoolean(e, 'selfLink') &&\n validBoolean(e, 'main') &&\n validBoolean(e, 'liveDev')\n\nconst match = (e: string, pattern: Minimatch[]): boolean =>\n pattern.some(m => m.match(e))\n\nconst parsePattern = (p: string | string[]): Minimatch[] =>\n Array.isArray(p)\n ? p.map(p => new Minimatch(p.replace(/^\\.\\//, '')))\n : parsePattern([p])\n\nconst getConfig = (\n pkg: Package,\n sources: Set<string>\n): TshyConfig => {\n const tshy: TshyConfigMaybeGlobExports = validConfig(pkg.tshy)\n ? pkg.tshy\n : {}\n let exportsConfig = tshy.exports\n if (\n typeof exportsConfig === 'string' ||\n Array.isArray(exportsConfig)\n ) {\n // Strip off the `./src` prefix and the extension\n // exports: \"src/**/*.ts\" => exports: {\"./foo\": \"./src/foo.ts\"}\n const exp: Exclude<TshyConfig['exports'], undefined> = {}\n const pattern: string | string[] = exportsConfig\n const m = parsePattern(pattern)\n for (const e of sources) {\n if (!match(e.replace(/^\\.\\//, ''), m)) continue\n // index is main, anything else is a subpath\n const sp = /^\\.\\/src\\/index.([mc]?[jt]s|[jt]sx)$/.test(e)\n ? '.'\n : './' +\n e\n .replace(/^\\.\\/src\\//, '')\n .replace(/\\.([mc]?[tj]s|[jt]sx)$/, '')\n exp[sp] = `./${e}`\n }\n /* c8 ignore start - should be impossible */\n if (!validExports(exp)) {\n console.error('invalid exports pattern, using default exports')\n delete tshy.exports\n exportsConfig = undefined\n } else {\n /* c8 ignore stop */\n exp['./package.json'] = './package.json'\n tshy.exports = exp\n }\n }\n const config = { ...tshy } as TshyConfig\n const ti = config as TshyConfig & { imports?: any }\n if (ti.imports) {\n console.debug(\n chalk.cyan.dim('imports') +\n ' moving from tshy config to top level'\n )\n pkg.imports = {\n ...pkg.imports,\n ...ti.imports,\n }\n delete ti.imports\n }\n validImports(pkg)\n if (!exportsConfig) {\n const e: Exclude<TshyConfig['exports'], undefined> = {\n './package.json': './package.json',\n }\n for (const i of sources) {\n if (/^\\.\\/src\\/index\\.[^\\.]+$/.test(i)) {\n e['.'] = i\n break\n }\n }\n config.exports = e\n tshy.exports = e\n exportsConfig = e\n }\n // return the filled out config, but leave the package.json\n // exports as they were, as long as they turned out to be valid.\n pkg.tshy = { ...tshy, exports: exportsConfig }\n return config\n}\n\nconst config: TshyConfig = getConfig(pkg, sources)\nexport default config\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAKvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAGjD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAKvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAGjD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AA6C5D,eAAO,MAAM,YAAY,MACpB,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,cAC9B,IAAI,MAAM,EAAE,WAAW,CAAC,8BAE+B,CAAA;AAEpE,eAAO,MAAM,YAAY,MACpB,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,cAC9B,IAAI,MAAM,EAAE,WAAW,CAAC,8BAQlC,CAAA;AAgHH,eAAO,MAAM,OAAO,MACf,UAAU,GAAG,SAAS,OACpB,OAAO,GAAG;IAAE,OAAO,EAAE,eAAe,CAAA;CAAE,cAsB5C,CAAA;;AAMD,wBAA0B"}
|
package/dist/esm/exports.js
CHANGED
|
@@ -6,6 +6,9 @@ import pkg from './package.js';
|
|
|
6
6
|
import polyfills from './polyfills.js';
|
|
7
7
|
import { resolveExport } from './resolve-export.js';
|
|
8
8
|
const { esmDialects = [], commonjsDialects = [] } = config;
|
|
9
|
+
const liveDev = config.liveDev &&
|
|
10
|
+
process.env.npm_command !== 'publish' &&
|
|
11
|
+
process.env.npm_command !== 'pack';
|
|
9
12
|
const getTargetForDialectCondition = (s, dialect, condition, type, polyfills = new Map()) => {
|
|
10
13
|
if (s === undefined)
|
|
11
14
|
return undefined;
|
|
@@ -15,10 +18,14 @@ const getTargetForDialectCondition = (s, dialect, condition, type, polyfills = n
|
|
|
15
18
|
if (s.endsWith(xts))
|
|
16
19
|
return undefined;
|
|
17
20
|
const pf = dialect === 'commonjs' ? 'cjs' : dialect;
|
|
21
|
+
const rel = relative(resolve('./src'), resolve(polyfills.get(pf)?.map.get(s) ?? s));
|
|
22
|
+
const target = liveDev
|
|
23
|
+
? rel
|
|
24
|
+
: rel.replace(/\.([mc]?)tsx?$/, '.$1js');
|
|
18
25
|
return !s || !s.startsWith('./src/')
|
|
19
26
|
? s
|
|
20
27
|
: dialects.includes(type)
|
|
21
|
-
? `./dist/${dialect}/${
|
|
28
|
+
? `./dist/${dialect}/${target}`
|
|
22
29
|
: undefined;
|
|
23
30
|
}
|
|
24
31
|
return resolveExport(s, [condition]);
|
|
@@ -52,38 +59,64 @@ const getExports = (c) => {
|
|
|
52
59
|
const exp = (e[sub] = {});
|
|
53
60
|
if (impTarget) {
|
|
54
61
|
for (const d of esmDialects) {
|
|
62
|
+
const source = s && (polyfills.get(d)?.map.get(s) ?? s);
|
|
55
63
|
const target = getTargetForDialectCondition(s, d, d, 'esm', polyfills);
|
|
56
64
|
if (target) {
|
|
57
|
-
exp[d] =
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
65
|
+
exp[d] = liveDev
|
|
66
|
+
? {
|
|
67
|
+
source,
|
|
68
|
+
default: target,
|
|
69
|
+
}
|
|
70
|
+
: {
|
|
71
|
+
types: target.replace(/\.js$/, '.d.ts'),
|
|
72
|
+
source,
|
|
73
|
+
default: target,
|
|
74
|
+
};
|
|
61
75
|
}
|
|
62
76
|
}
|
|
63
77
|
}
|
|
64
78
|
if (reqTarget) {
|
|
65
79
|
for (const d of commonjsDialects) {
|
|
80
|
+
const source = s && (polyfills.get(d)?.map.get(s) ?? s);
|
|
66
81
|
const target = getTargetForDialectCondition(s, d, d, 'commonjs', polyfills);
|
|
67
82
|
if (target) {
|
|
68
|
-
exp[d] =
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
83
|
+
exp[d] = liveDev
|
|
84
|
+
? {
|
|
85
|
+
source,
|
|
86
|
+
default: target,
|
|
87
|
+
}
|
|
88
|
+
: {
|
|
89
|
+
types: target.replace(/\.js$/, '.d.ts'),
|
|
90
|
+
source,
|
|
91
|
+
default: target,
|
|
92
|
+
};
|
|
72
93
|
}
|
|
73
94
|
}
|
|
74
95
|
}
|
|
75
96
|
// put the default import/require after all the other special ones.
|
|
76
97
|
if (impTarget) {
|
|
77
|
-
exp.import =
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
98
|
+
exp.import = liveDev
|
|
99
|
+
? {
|
|
100
|
+
source: s,
|
|
101
|
+
default: impTarget,
|
|
102
|
+
}
|
|
103
|
+
: {
|
|
104
|
+
types: impTarget.replace(/\.(m?)js$/, '.d.$1ts'),
|
|
105
|
+
source: s,
|
|
106
|
+
default: impTarget,
|
|
107
|
+
};
|
|
81
108
|
}
|
|
82
109
|
if (reqTarget) {
|
|
83
|
-
exp.require =
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
110
|
+
exp.require = liveDev
|
|
111
|
+
? {
|
|
112
|
+
source: s,
|
|
113
|
+
default: reqTarget,
|
|
114
|
+
}
|
|
115
|
+
: {
|
|
116
|
+
types: reqTarget.replace(/\.(c?)js$/, '.d.$1ts'),
|
|
117
|
+
source: s,
|
|
118
|
+
default: reqTarget,
|
|
119
|
+
};
|
|
87
120
|
}
|
|
88
121
|
}
|
|
89
122
|
return e;
|
package/dist/esm/exports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"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","sourcesContent":["import { relative, resolve } from 'node:path/posix'\nimport {\n ConditionalValue,\n ConditionalValueObject,\n ExportsSubpaths,\n} from 'resolve-import'\nimport config from './config.js'\nimport dialects from './dialects.js'\nimport fail from './fail.js'\nimport pkg from './package.js'\nimport type { PolyfillSet } from './polyfills.js'\nimport polyfills from './polyfills.js'\nimport { resolveExport } from './resolve-export.js'\nimport { Package, TshyConfig, TshyExport } from './types.js'\nconst { esmDialects = [], commonjsDialects = [] } = config\n\nconst getTargetForDialectCondition = <T extends string>(\n s: string | TshyExport | undefined | null,\n dialect: T,\n condition: T extends 'esm'\n ? 'import'\n : T extends 'commonjs'\n ? 'require'\n : T,\n type: T extends 'esm'\n ? 'esm'\n : T extends 'commonjs'\n ? 'commonjs'\n : 'esm' | 'commonjs',\n polyfills: Map<string, PolyfillSet> = new Map()\n): string | undefined | null => {\n if (s === undefined) return undefined\n if (typeof s === 'string') {\n // the excluded filename pattern\n const xts = type === 'commonjs' ? '.mts' : '.cts'\n if (s.endsWith(xts)) return undefined\n const pf = dialect === 'commonjs' ? 'cjs' : dialect\n return !s || !s.startsWith('./src/')\n ? s\n : dialects.includes(type)\n ? `./dist/${dialect}/${relative(\n resolve('./src'),\n resolve(polyfills.get(pf)?.map.get(s) ?? s)\n ).replace(/\\.([mc]?)tsx?$/, '.$1js')}`\n : undefined\n }\n return resolveExport(s, [condition])\n}\n\nexport const getImpTarget = (\n s: string | TshyExport | undefined | null,\n polyfills: Map<string, PolyfillSet> = new Map()\n) =>\n getTargetForDialectCondition(s, 'esm', 'import', 'esm', polyfills)\n\nexport const getReqTarget = (\n s: string | TshyExport | undefined | null,\n polyfills: Map<string, PolyfillSet> = new Map()\n) =>\n getTargetForDialectCondition(\n s,\n 'commonjs',\n 'require',\n 'commonjs',\n polyfills\n )\n\nconst getExports = (\n c: TshyConfig\n): Record<string, ConditionalValue> => {\n // by this time it always exports, will get the default if missing\n /* c8 ignore start */\n if (!c.exports) {\n fail('no exports on tshy config (is there code in ./src?)')\n return process.exit(1)\n }\n /* c8 ignore stop */\n const e: Record<string, ConditionalValue> = {}\n for (const [sub, s] of Object.entries(c.exports)) {\n // external export, not built by us\n if (\n s !== null &&\n (typeof s !== 'string' || !s.startsWith('./src/'))\n ) {\n // already been validated, just accept as-is\n e[sub] = s as ConditionalValue\n continue\n }\n\n const impTarget = getImpTarget(s, polyfills)\n const reqTarget = getReqTarget(s, polyfills)\n\n // should be impossible\n /* c8 ignore start */\n if (!impTarget && !reqTarget) continue\n /* c8 ignore stop */\n\n const exp: ConditionalValueObject = (e[sub] = {})\n if (impTarget) {\n for (const d of esmDialects) {\n const target = getTargetForDialectCondition(\n s,\n d,\n d,\n 'esm',\n polyfills\n )\n if (target) {\n exp[d] = {\n types: target.replace(/\\.js$/, '.d.ts'),\n default: target,\n }\n }\n }\n }\n\n if (reqTarget) {\n for (const d of commonjsDialects) {\n const target = getTargetForDialectCondition(\n s,\n d,\n d,\n 'commonjs',\n polyfills\n )\n if (target) {\n exp[d] = {\n types: target.replace(/\\.js$/, '.d.ts'),\n default: target,\n }\n }\n }\n }\n // put the default import/require after all the other special ones.\n if (impTarget) {\n exp.import = {\n types: impTarget.replace(/\\.(m?)js$/, '.d.$1ts'),\n default: impTarget,\n }\n }\n if (reqTarget) {\n exp.require = {\n types: reqTarget.replace(/\\.(c?)js$/, '.d.$1ts'),\n default: reqTarget,\n }\n }\n }\n return e\n}\n\nexport const setMain = (\n c: TshyConfig | undefined,\n pkg: Package & { exports: ExportsSubpaths }\n) => {\n const mod = resolveExport(pkg.exports['.'], ['require'])\n const main = c?.main ?? !!mod\n if (main) {\n if (!mod) {\n fail(`could not resolve exports['.'] for tshy.main 'require'`)\n return process.exit(1)\n }\n const types = resolveExport(pkg.exports['.'], [\n 'require',\n 'types',\n ])\n pkg.main = mod\n if (types && types !== mod) pkg.types = types\n else delete pkg.types\n } else {\n if (c && c.main !== false) delete c.main\n delete pkg.main\n delete pkg.types\n }\n pkg.type = pkg.type === 'commonjs' ? 'commonjs' : 'module'\n}\n\n// These are all defined by exports, so it's just confusing otherwise\ndelete pkg.module\npkg.exports = getExports(config)\nsetMain(config, pkg as Package & { exports: ExportsSubpaths })\nexport default pkg.exports\n"]}
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"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","sourcesContent":["import { relative, resolve } from 'node:path/posix'\nimport {\n ConditionalValue,\n ConditionalValueObject,\n ExportsSubpaths,\n} from 'resolve-import'\nimport config from './config.js'\nimport dialects from './dialects.js'\nimport fail from './fail.js'\nimport pkg from './package.js'\nimport type { PolyfillSet } from './polyfills.js'\nimport polyfills from './polyfills.js'\nimport { resolveExport } from './resolve-export.js'\nimport { Package, TshyConfig, TshyExport } from './types.js'\nconst { esmDialects = [], commonjsDialects = [] } = config\n\nconst liveDev =\n config.liveDev &&\n process.env.npm_command !== 'publish' &&\n process.env.npm_command !== 'pack'\n\nconst getTargetForDialectCondition = <T extends string>(\n s: string | TshyExport | undefined | null,\n dialect: T,\n condition: T extends 'esm'\n ? 'import'\n : T extends 'commonjs'\n ? 'require'\n : T,\n type: T extends 'esm'\n ? 'esm'\n : T extends 'commonjs'\n ? 'commonjs'\n : 'esm' | 'commonjs',\n polyfills: Map<string, PolyfillSet> = new Map()\n): string | undefined | null => {\n if (s === undefined) return undefined\n if (typeof s === 'string') {\n // the excluded filename pattern\n const xts = type === 'commonjs' ? '.mts' : '.cts'\n if (s.endsWith(xts)) return undefined\n const pf = dialect === 'commonjs' ? 'cjs' : dialect\n const rel = relative(\n resolve('./src'),\n resolve(polyfills.get(pf)?.map.get(s) ?? s)\n )\n const target = liveDev\n ? rel\n : rel.replace(/\\.([mc]?)tsx?$/, '.$1js')\n return !s || !s.startsWith('./src/')\n ? s\n : dialects.includes(type)\n ? `./dist/${dialect}/${target}`\n : undefined\n }\n return resolveExport(s, [condition])\n}\n\nexport const getImpTarget = (\n s: string | TshyExport | undefined | null,\n polyfills: Map<string, PolyfillSet> = new Map()\n) =>\n getTargetForDialectCondition(s, 'esm', 'import', 'esm', polyfills)\n\nexport const getReqTarget = (\n s: string | TshyExport | undefined | null,\n polyfills: Map<string, PolyfillSet> = new Map()\n) =>\n getTargetForDialectCondition(\n s,\n 'commonjs',\n 'require',\n 'commonjs',\n polyfills\n )\n\nconst getExports = (\n c: TshyConfig\n): Record<string, ConditionalValue> => {\n // by this time it always exports, will get the default if missing\n /* c8 ignore start */\n if (!c.exports) {\n fail('no exports on tshy config (is there code in ./src?)')\n return process.exit(1)\n }\n /* c8 ignore stop */\n const e: Record<string, ConditionalValue> = {}\n for (const [sub, s] of Object.entries(c.exports)) {\n // external export, not built by us\n if (\n s !== null &&\n (typeof s !== 'string' || !s.startsWith('./src/'))\n ) {\n // already been validated, just accept as-is\n e[sub] = s as ConditionalValue\n continue\n }\n\n const impTarget = getImpTarget(s, polyfills)\n const reqTarget = getReqTarget(s, polyfills)\n\n // should be impossible\n /* c8 ignore start */\n if (!impTarget && !reqTarget) continue\n /* c8 ignore stop */\n\n const exp: ConditionalValueObject = (e[sub] = {})\n if (impTarget) {\n for (const d of esmDialects) {\n const source = s && (polyfills.get(d)?.map.get(s) ?? s)\n\n const target = getTargetForDialectCondition(\n s,\n d,\n d,\n 'esm',\n polyfills\n )\n if (target) {\n exp[d] = liveDev\n ? {\n source,\n default: target,\n }\n : {\n types: target.replace(/\\.js$/, '.d.ts'),\n source,\n default: target,\n }\n }\n }\n }\n\n if (reqTarget) {\n for (const d of commonjsDialects) {\n const source = s && (polyfills.get(d)?.map.get(s) ?? s)\n const target = getTargetForDialectCondition(\n s,\n d,\n d,\n 'commonjs',\n polyfills\n )\n if (target) {\n exp[d] = liveDev\n ? {\n source,\n default: target,\n }\n : {\n types: target.replace(/\\.js$/, '.d.ts'),\n source,\n default: target,\n }\n }\n }\n }\n // put the default import/require after all the other special ones.\n if (impTarget) {\n exp.import = liveDev\n ? {\n source: s,\n default: impTarget,\n }\n : {\n types: impTarget.replace(/\\.(m?)js$/, '.d.$1ts'),\n source: s,\n default: impTarget,\n }\n }\n if (reqTarget) {\n exp.require = liveDev\n ? {\n source: s,\n default: reqTarget,\n }\n : {\n types: reqTarget.replace(/\\.(c?)js$/, '.d.$1ts'),\n source: s,\n default: reqTarget,\n }\n }\n }\n return e\n}\n\nexport const setMain = (\n c: TshyConfig | undefined,\n pkg: Package & { exports: ExportsSubpaths }\n) => {\n const mod = resolveExport(pkg.exports['.'], ['require'])\n const main = c?.main ?? !!mod\n if (main) {\n if (!mod) {\n fail(`could not resolve exports['.'] for tshy.main 'require'`)\n return process.exit(1)\n }\n const types = resolveExport(pkg.exports['.'], [\n 'require',\n 'types',\n ])\n pkg.main = mod\n if (types && types !== mod) pkg.types = types\n else delete pkg.types\n } else {\n if (c && c.main !== false) delete c.main\n delete pkg.main\n delete pkg.types\n }\n pkg.type = pkg.type === 'commonjs' ? 'commonjs' : 'module'\n}\n\n// These are all defined by exports, so it's just confusing otherwise\ndelete pkg.module\npkg.exports = getExports(config)\nsetMain(config, pkg as Package & { exports: ExportsSubpaths })\nexport default pkg.exports\n"]}
|
package/dist/esm/types.d.ts
CHANGED
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,OAAO,EACR,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACxD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,OAAO,EACR,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACxD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,0BAA0B,GAAG;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,KAAK,CAAA;AAExC,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAA;AAEzC,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,IAAI,CAAC,EAAE,0BAA0B,CAAA;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB,CAAA"}
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ConditionalValue,\n ExportsSubpaths,\n Imports,\n} from 'resolve-import'\n\nexport type TshyConfigMaybeGlobExports = {\n exports?: string | string[] | Record<string, TshyExport>\n dialects?: Dialect[]\n selfLink?: boolean\n main?: boolean\n commonjsDialects?: string[]\n esmDialects?: string[]\n project?: string\n exclude?: string[]\n}\n\nexport type TshyConfig = TshyConfigMaybeGlobExports & {\n exports?: Record<string, TshyExport>\n}\n\nexport type Dialect = 'commonjs' | 'esm'\n\nexport type ExportDetail = {\n default: string\n [k: string]: string\n}\n\nexport type TshyExport = ConditionalValue\n\nexport type Package = {\n name: string\n version: string\n main?: string\n types?: string\n type?: 'module' | 'commonjs'\n bin?: string | Record<string, string>\n exports?: ExportsSubpaths\n tshy?: TshyConfigMaybeGlobExports\n imports?: Imports\n [k: string]: any\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ConditionalValue,\n ExportsSubpaths,\n Imports,\n} from 'resolve-import'\n\nexport type TshyConfigMaybeGlobExports = {\n exports?: string | string[] | Record<string, TshyExport>\n dialects?: Dialect[]\n selfLink?: boolean\n main?: boolean\n commonjsDialects?: string[]\n esmDialects?: string[]\n project?: string\n exclude?: string[]\n liveDev?: boolean\n}\n\nexport type TshyConfig = TshyConfigMaybeGlobExports & {\n exports?: Record<string, TshyExport>\n}\n\nexport type Dialect = 'commonjs' | 'esm'\n\nexport type ExportDetail = {\n default: string\n [k: string]: string\n}\n\nexport type TshyExport = ConditionalValue\n\nexport type Package = {\n name: string\n version: string\n main?: string\n types?: string\n type?: 'module' | 'commonjs'\n bin?: string | Record<string, string>\n exports?: ExportsSubpaths\n tshy?: TshyConfigMaybeGlobExports\n imports?: Imports\n [k: string]: any\n}\n"]}
|
package/package.json
CHANGED