packages-via-trailing-slashes.json (3529B)
1 { 2 "importMap": { 3 "imports": { 4 "moment": "/node_modules/moment/src/moment.js", 5 "moment/": "/node_modules/moment/src/", 6 "lodash-dot": "./node_modules/lodash-es/lodash.js", 7 "lodash-dot/": "./node_modules/lodash-es/", 8 "lodash-dotdot": "../node_modules/lodash-es/lodash.js", 9 "lodash-dotdot/": "../node_modules/lodash-es/", 10 "mapped/": "https://example.com/", 11 "mapped/path/": "https://github.com/WICG/import-maps/issues/207/", 12 "mapped/non-ascii-1/": "https://example.com/%E3%81%8D%E3%81%A4%E3%81%AD/", 13 "mapped/non-ascii-2/": "https://example.com/きつね/" 14 } 15 }, 16 "importMapBaseURL": "https://example.com/app/index.html", 17 "baseURL": "https://example.com/js/app.mjs", 18 "name": "Package-like scenarios", 19 "link": "https://github.com/WICG/import-maps#packages-via-trailing-slashes", 20 "tests": { 21 "package main modules": { 22 "expectedResults": { 23 "moment": "https://example.com/node_modules/moment/src/moment.js", 24 "lodash-dot": "https://example.com/app/node_modules/lodash-es/lodash.js", 25 "lodash-dotdot": "https://example.com/node_modules/lodash-es/lodash.js" 26 } 27 }, 28 "package submodules": { 29 "expectedResults": { 30 "moment/foo": "https://example.com/node_modules/moment/src/foo", 31 "moment/foo?query": "https://example.com/node_modules/moment/src/foo?query", 32 "moment/foo#fragment": "https://example.com/node_modules/moment/src/foo#fragment", 33 "moment/foo?query#fragment": "https://example.com/node_modules/moment/src/foo?query#fragment", 34 "lodash-dot/foo": "https://example.com/app/node_modules/lodash-es/foo", 35 "lodash-dotdot/foo": "https://example.com/node_modules/lodash-es/foo" 36 } 37 }, 38 "package names that end in a slash should just pass through": { 39 "expectedResults": { 40 "moment/": "https://example.com/node_modules/moment/src/" 41 } 42 }, 43 "package modules that are not declared should fail": { 44 "expectedResults": { 45 "underscore/": null, 46 "underscore/foo": null 47 } 48 }, 49 "backtracking via ..": { 50 "expectedResults": { 51 "mapped/path": "https://example.com/path", 52 "mapped/path/": "https://github.com/WICG/import-maps/issues/207/", 53 "mapped/path/..": null, 54 "mapped/path/../path/": null, 55 "mapped/path/../207": null, 56 "mapped/path/../207/": "https://github.com/WICG/import-maps/issues/207/", 57 "mapped/path//": null, 58 "mapped/path/WICG/import-maps/issues/207/": "https://github.com/WICG/import-maps/issues/207/WICG/import-maps/issues/207/", 59 "mapped/path//WICG/import-maps/issues/207/": "https://github.com/WICG/import-maps/issues/207/", 60 "mapped/path/../backtrack": null, 61 "mapped/path/../../backtrack": null, 62 "mapped/path/../../../backtrack": null, 63 "moment/../backtrack": null, 64 "moment/..": null, 65 "mapped/non-ascii-1/": "https://example.com/%E3%81%8D%E3%81%A4%E3%81%AD/", 66 "mapped/non-ascii-1/../%E3%81%8D%E3%81%A4%E3%81%AD/": "https://example.com/%E3%81%8D%E3%81%A4%E3%81%AD/", 67 "mapped/non-ascii-1/../きつね/": "https://example.com/%E3%81%8D%E3%81%A4%E3%81%AD/", 68 "mapped/non-ascii-2/": "https://example.com/%E3%81%8D%E3%81%A4%E3%81%AD/", 69 "mapped/non-ascii-2/../%E3%81%8D%E3%81%A4%E3%81%AD/": "https://example.com/%E3%81%8D%E3%81%A4%E3%81%AD/", 70 "mapped/non-ascii-2/../きつね/": "https://example.com/%E3%81%8D%E3%81%A4%E3%81%AD/" 71 } 72 } 73 } 74 }