File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2020 "types" : " ./dist" ,
2121 "type" : " commonjs" ,
2222 "exports" : {
23- "import" : " ./dist/index.mjs" ,
24- "require" : " ./dist/index.js"
23+ "." : {
24+ "import" : " ./dist/index.mjs" ,
25+ "require" : " ./dist/index.js"
26+ },
27+ "./lib/*" : " ./dist/lib/*.js" ,
28+ "./lib/errors" : " ./dist/lib/errors/index.js" ,
29+ "./*" : " ./*"
2530 },
2631 "engines" : {
2732 "node" : " >=10.0.0"
Original file line number Diff line number Diff line change @@ -5,9 +5,20 @@ const esbuild = require('esbuild');
55const moduleAlias = require ( 'module-alias' ) ;
66const sourceMapSupport = require ( 'source-map-support' ) ;
77
8- const distDir = path . join ( __dirname , '../dist' ) ;
9- // make imports from `sequelize/` go to `../dist/`
10- moduleAlias . addAlias ( 'sequelize' , distDir ) ;
8+ const nodeMajorVersion = Number ( process . version . match ( / (?< = ^ v ) \d + / ) ) ;
9+
10+ // for node >= 12, we use the package.json "export" property to
11+ // map imports to dist (except package.json)
12+ // so "sequelize/lib/errors" is actually mapped to "sequelize/dist/errors/index.js"
13+ // (see package.json).
14+ if ( nodeMajorVersion < 12 ) {
15+ const jsonFile = path . join ( __dirname , '..' , 'package.json' ) ;
16+ moduleAlias . addAlias ( 'sequelize/package.json' , jsonFile ) ;
17+
18+ const distDir = path . join ( __dirname , '../dist' ) ;
19+ // make imports from `sequelize/` go to `../dist/`
20+ moduleAlias . addAlias ( 'sequelize' , distDir ) ;
21+ }
1122
1223const maps = { } ;
1324
Original file line number Diff line number Diff line change 1+ const chai = require ( 'chai' ) ,
2+ expect = chai . expect ;
3+
4+ /**
5+ * Tests whether users can import files deeper than "sequelize" (eg. "sequelize/package.json").
6+ * Context: https://github.com/sequelize/sequelize/issues/13787
7+ */
8+
9+ const nodeMajorVersion = Number ( process . version . match ( / (?< = ^ v ) \d + / ) ) ;
10+
11+ describe ( 'exports' , ( ) => {
12+ it ( 'exposes /package.json' , async ( ) => {
13+ // TODO: uncomment test once https://nodejs.org/api/esm.html#json-modules are stable
14+ // if (nodeMajorVersion >= 16) {
15+ // await import('sequelize/package.json', {
16+ // assert: { type: 'json' }
17+ // });
18+ // }
19+
20+ require ( 'sequelize/package.json' ) ;
21+ } ) ;
22+
23+ it ( 'exposes lib files' , async ( ) => {
24+ if ( nodeMajorVersion >= 12 ) {
25+ await import ( 'sequelize/lib/model' ) ;
26+ }
27+
28+ require ( 'sequelize/lib/model' ) ;
29+ } ) ;
30+ } ) ;
Original file line number Diff line number Diff line change 11'use strict' ;
22
33const path = require ( 'path' ) ;
4- const Query = require ( 'sequelize/lib/dialects/abstract/query.js ' ) ;
4+ const Query = require ( 'sequelize/lib/dialects/abstract/query' ) ;
55const Support = require ( path . join ( __dirname , './../../support' ) ) ;
66const chai = require ( 'chai' ) ;
77const { stub, match } = require ( 'sinon' ) ;
Original file line number Diff line number Diff line change 11'use strict' ;
22
33const path = require ( 'path' ) ;
4- const Query = require ( 'sequelize/lib/dialects/mssql/query.js ' ) ;
4+ const Query = require ( 'sequelize/lib/dialects/mssql/query' ) ;
55const Support = require ( '../../support' ) ;
66const dialect = Support . getTestDialect ( ) ;
77const sequelize = Support . sequelize ;
Original file line number Diff line number Diff line change 11'use strict' ;
22
33const path = require ( 'path' ) ;
4- const Query = require ( 'sequelize/lib/dialects/mysql/query.js ' ) ;
4+ const Query = require ( 'sequelize/lib/dialects/mysql/query' ) ;
55const Support = require ( path . join ( __dirname , './../../support' ) ) ;
66const chai = require ( 'chai' ) ;
77const sinon = require ( 'sinon' ) ;
Original file line number Diff line number Diff line change 11'use strict' ;
22
33const path = require ( 'path' ) ;
4- const Query = require ( 'sequelize/lib/dialects/snowflake/query.js ' ) ;
4+ const Query = require ( 'sequelize/lib/dialects/snowflake/query' ) ;
55const Support = require ( path . join ( __dirname , './../../support' ) ) ;
66const chai = require ( 'chai' ) ;
77const sinon = require ( 'sinon' ) ;
You can’t perform that action at this time.
0 commit comments