Skip to content

Commit e1f713e

Browse files
committed
Fix colocated source maps
1 parent 60d499b commit e1f713e

4 files changed

Lines changed: 68 additions & 24 deletions

File tree

lib/colocated-broccoli-plugin.js

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const walkSync = require('walk-sync');
66
const Plugin = require('broccoli-plugin');
77
const logger = require('heimdalljs-logger')('ember-cli-htmlbars:colocated-broccoli-plugin');
88
const FSTree = require('fs-tree-diff');
9+
const MagicString = require('magic-string');
910

1011
module.exports = class ColocatedTemplateProcessor extends Plugin {
1112
constructor(tree) {
@@ -165,10 +166,27 @@ module.exports = class ColocatedTemplateProcessor extends Plugin {
165166
jsContents = `import templateOnly from '@ember/component/template-only';\n\nexport default templateOnly();\n`;
166167
}
167168

168-
jsContents = prefix + jsContents;
169-
170169
let jsOutputPath = path.join(this.outputPath, backingClassPath);
171170

171+
if (prefix.length > 0) {
172+
let jsContentsMagic = new MagicString(jsContents);
173+
174+
jsContentsMagic.prepend(prefix);
175+
176+
jsContents = jsContentsMagic.toString();
177+
178+
// It's not clear to me how to format this correctly for coffeescript.
179+
if (!backingClassPath.endsWith('.coffee')) {
180+
let jsContentsMap = jsContentsMagic.generateMap({
181+
source: jsOutputPath,
182+
file: jsOutputPath,
183+
includeContent: true,
184+
});
185+
186+
jsContents += `\n//# sourceMappingURL=${jsContentsMap.toUrl()}`;
187+
}
188+
}
189+
172190
switch (method) {
173191
case 'unlink': {
174192
if (filePathParts.ext === '.hbs' && hasBackingClass) {

node-tests/colocated-broccoli-plugin-test.js

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,14 @@ describe('ColocatedTemplateCompiler', function () {
4444
'app-name-here': {
4545
'router.js': '// stuff here',
4646
components: {
47-
'foo.js':
48-
stripIndent`
47+
'foo.js': stripIndent`
4948
import { hbs } from 'ember-cli-htmlbars';
5049
const __COLOCATED_TEMPLATE__ = hbs("{{yield}}", {"contents":"{{yield}}","moduleName":"app-name-here/components/foo.hbs","parseOptions":{"srcName":"app-name-here/components/foo.hbs"}});
5150
import templateOnly from '@ember/component/template-only';
5251
53-
export default templateOnly();` + '\n',
52+
export default templateOnly();
53+
54+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlbXBsYXRlT25seSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgZGVmYXVsdCB0ZW1wbGF0ZU9ubHkoKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTsifQ==`,
5455
},
5556
templates: {
5657
'application.hbs': '{{outlet}}',
@@ -110,6 +111,7 @@ describe('ColocatedTemplateCompiler', function () {
110111
import Component from '@glimmer/component';
111112
112113
export default class FooComponent extends Component {}
114+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb29Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge30iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0EifQ==
113115
`,
114116
},
115117
templates: {
@@ -269,6 +271,7 @@ describe('ColocatedTemplateCompiler', function () {
269271
import Component from '@glimmer/component';
270272
271273
export default class FooComponent extends Component {}
274+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLnRzIiwic291cmNlcyI6WyJmb28udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb29Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge30iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0EifQ==
272275
`,
273276
},
274277
templates: {
@@ -347,13 +350,14 @@ describe('ColocatedTemplateCompiler', function () {
347350
'@scope-name': {
348351
'addon-name-here': {
349352
components: {
350-
'foo.js':
351-
stripIndent`
353+
'foo.js': stripIndent`
352354
import { hbs } from 'ember-cli-htmlbars';
353355
const __COLOCATED_TEMPLATE__ = hbs("{{yield}}", {"contents":"{{yield}}","moduleName":"@scope-name/addon-name-here/components/foo.hbs","parseOptions":{"srcName":"@scope-name/addon-name-here/components/foo.hbs"}});
354356
import templateOnly from '@ember/component/template-only';
355357
356-
export default templateOnly();` + '\n',
358+
export default templateOnly();
359+
360+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlbXBsYXRlT25seSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgZGVmYXVsdCB0ZW1wbGF0ZU9ubHkoKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTsifQ==`,
357361
},
358362
templates: {
359363
'application.hbs': '{{outlet}}',
@@ -401,6 +405,7 @@ describe('ColocatedTemplateCompiler', function () {
401405
import Component from '@glimmer/component';
402406
403407
export default class FooComponent extends Component {}
408+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb29Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge30iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0EifQ==
404409
`,
405410
},
406411
templates: {
@@ -590,13 +595,14 @@ describe('ColocatedTemplateCompiler', function () {
590595
'app-name-here': {
591596
'router.js': '// stuff here',
592597
components: {
593-
'foo.js':
594-
stripIndent`
598+
'foo.js': stripIndent`
595599
import { hbs } from 'ember-cli-htmlbars';
596600
const __COLOCATED_TEMPLATE__ = hbs("{{yield}}", {"contents":"{{yield}}","moduleName":"app-name-here/components/foo.hbs","parseOptions":{"srcName":"app-name-here/components/foo.hbs"}});
597601
import templateOnly from '@ember/component/template-only';
598602
599-
export default templateOnly();` + '\n',
603+
export default templateOnly();
604+
605+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlbXBsYXRlT25seSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgZGVmYXVsdCB0ZW1wbGF0ZU9ubHkoKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTsifQ==`,
600606
},
601607
templates: {
602608
'application.hbs': '{{outlet}}',
@@ -642,6 +648,7 @@ describe('ColocatedTemplateCompiler', function () {
642648
import Component from '@glimmer/component';
643649
644650
export default class FooComponent extends Component {}
651+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb29Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge30iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0EifQ==
645652
`,
646653
},
647654
templates: {
@@ -727,6 +734,7 @@ describe('ColocatedTemplateCompiler', function () {
727734
import Component from '@glimmer/component';
728735
729736
export default class FooComponent extends Component {}
737+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb29Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge30iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0EifQ==
730738
`,
731739
},
732740
templates: {
@@ -839,13 +847,14 @@ describe('ColocatedTemplateCompiler', function () {
839847
'app-name-here': {
840848
'router.js': '// stuff here',
841849
components: {
842-
'foo.js':
843-
stripIndent`
850+
'foo.js': stripIndent`
844851
import { hbs } from 'ember-cli-htmlbars';
845852
const __COLOCATED_TEMPLATE__ = hbs("{{yield}}", {"contents":"{{yield}}","moduleName":"app-name-here/components/foo.hbs","parseOptions":{"srcName":"app-name-here/components/foo.hbs"}});
846853
import templateOnly from '@ember/component/template-only';
847854
848-
export default templateOnly();` + '\n',
855+
export default templateOnly();
856+
857+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlbXBsYXRlT25seSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgZGVmYXVsdCB0ZW1wbGF0ZU9ubHkoKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTsifQ==`,
849858
},
850859
templates: {
851860
'application.hbs': '{{outlet}}',
@@ -900,13 +909,15 @@ describe('ColocatedTemplateCompiler', function () {
900909
'app-name-here': {
901910
'router.js': '// stuff here',
902911
components: {
903-
'foo.js':
904-
stripIndent`
912+
'foo.js': stripIndent`
905913
import { hbs } from 'ember-cli-htmlbars';
906914
const __COLOCATED_TEMPLATE__ = hbs("{{yield}}", {"contents":"{{yield}}","moduleName":"app-name-here/components/foo.hbs","parseOptions":{"srcName":"app-name-here/components/foo.hbs"}});
907915
import templateOnly from '@ember/component/template-only';
908916
909-
export default templateOnly();` + '\n',
917+
export default templateOnly();
918+
919+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlbXBsYXRlT25seSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgZGVmYXVsdCB0ZW1wbGF0ZU9ubHkoKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTsifQ==
920+
`,
910921
},
911922
templates: {
912923
'application.hbs': '{{outlet}}',
@@ -942,13 +953,14 @@ describe('ColocatedTemplateCompiler', function () {
942953
'app-name-here': {
943954
'router.js': '// stuff here',
944955
components: {
945-
'foo.js':
946-
stripIndent`
956+
'foo.js': stripIndent`
947957
import { hbs } from 'ember-cli-htmlbars';
948958
const __COLOCATED_TEMPLATE__ = hbs("whoops!", {"contents":"whoops!","moduleName":"app-name-here/components/foo.hbs","parseOptions":{"srcName":"app-name-here/components/foo.hbs"}});
949959
import templateOnly from '@ember/component/template-only';
950960
951-
export default templateOnly();` + '\n',
961+
export default templateOnly();
962+
963+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlbXBsYXRlT25seSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgZGVmYXVsdCB0ZW1wbGF0ZU9ubHkoKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTsifQ==`,
952964
},
953965
templates: {
954966
'application.hbs': '{{outlet}}',
@@ -994,6 +1006,7 @@ describe('ColocatedTemplateCompiler', function () {
9941006
import Component from '@glimmer/component';
9951007
9961008
export default class FooComponent extends Component {}
1009+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb29Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge30iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0EifQ==
9971010
`,
9981011
},
9991012
templates: {
@@ -1036,6 +1049,7 @@ describe('ColocatedTemplateCompiler', function () {
10361049
import Component from '@glimmer/component';
10371050
10381051
export default class FooComponent extends Component {}
1052+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb29Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge30iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0EifQ==
10391053
`,
10401054
},
10411055
templates: {
@@ -1082,6 +1096,7 @@ describe('ColocatedTemplateCompiler', function () {
10821096
import Component from '@glimmer/component';
10831097
10841098
export default class FooComponent extends Component {}
1099+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb29Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge30iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0EifQ==
10851100
`,
10861101
},
10871102
templates: {
@@ -1122,6 +1137,7 @@ describe('ColocatedTemplateCompiler', function () {
11221137
import Component from '@glimmer/component';
11231138
11241139
export default class FooBarComponent extends Component {}
1140+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb29CYXJDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge30iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0EifQ==
11251141
`,
11261142
},
11271143
templates: {
@@ -1174,6 +1190,7 @@ describe('ColocatedTemplateCompiler', function () {
11741190
import Component from '@glimmer/component';
11751191
11761192
export default class FooComponent extends Component {}
1193+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb29Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge30iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0EifQ==
11771194
`,
11781195
},
11791196
templates: {
@@ -1210,13 +1227,14 @@ describe('ColocatedTemplateCompiler', function () {
12101227
'app-name-here': {
12111228
'router.js': '// stuff here',
12121229
components: {
1213-
'foo.js':
1214-
stripIndent`
1230+
'foo.js': stripIndent`
12151231
import { hbs } from 'ember-cli-htmlbars';
12161232
const __COLOCATED_TEMPLATE__ = hbs("{{yield}}", {"contents":"{{yield}}","moduleName":"app-name-here/components/foo.hbs","parseOptions":{"srcName":"app-name-here/components/foo.hbs"}});
12171233
import templateOnly from '@ember/component/template-only';
12181234
1219-
export default templateOnly();` + '\n',
1235+
export default templateOnly();
1236+
1237+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vLmpzIiwic291cmNlcyI6WyJmb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRlbXBsYXRlT25seSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgZGVmYXVsdCB0ZW1wbGF0ZU9ubHkoKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTsifQ==`,
12201238
},
12211239
templates: {
12221240
'application.hbs': '{{outlet}}',

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"hash-for-dep": "^1.5.1",
4444
"heimdalljs-logger": "^0.1.10",
4545
"js-string-escape": "^1.0.1",
46+
"magic-string": "^0.27.0",
4647
"semver": "^7.3.4",
4748
"silent-error": "^1.1.1",
4849
"walk-sync": "^2.2.0"

yarn.lock

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2336,7 +2336,7 @@
23362336
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
23372337
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
23382338

2339-
"@jridgewell/sourcemap-codec@^1.4.10":
2339+
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13":
23402340
version "1.4.14"
23412341
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
23422342
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
@@ -10698,6 +10698,13 @@ magic-string@^0.25.7:
1069810698
dependencies:
1069910699
sourcemap-codec "^1.4.4"
1070010700

10701+
magic-string@^0.27.0:
10702+
version "0.27.0"
10703+
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3"
10704+
integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==
10705+
dependencies:
10706+
"@jridgewell/sourcemap-codec" "^1.4.13"
10707+
1070110708
make-dir@^2.0.0:
1070210709
version "2.1.0"
1070310710
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"

0 commit comments

Comments
 (0)