diff --git a/ts/blueprints/ember-cli-typescript/index.js b/ts/blueprints/ember-cli-typescript/index.js index cb3e4d19f..3486cc408 100644 --- a/ts/blueprints/ember-cli-typescript/index.js +++ b/ts/blueprints/ember-cli-typescript/index.js @@ -191,9 +191,9 @@ module.exports = { let pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8')); - // Really `prepack` and `postpack` would be ideal, but yarn doesn't execute those when publishing - this._addScript(pkg.scripts, 'prepublishOnly', 'ember ts:precompile'); - this._addScript(pkg.scripts, 'postpublish', 'ember ts:clean'); + // As of https://github.com/yarnpkg/yarn/pull/5712 yarn runs `prepack` and `postpack` when publishing + this._addScript(pkg.scripts, 'prepack', 'ember ts:precompile'); + this._addScript(pkg.scripts, 'postpack', 'ember ts:clean'); // avoid being placed in devDependencies if (pkg.devDependencies[ADDON_NAME]) { diff --git a/ts/tests/blueprints/ember-cli-typescript-test.ts b/ts/tests/blueprints/ember-cli-typescript-test.ts index d222d5694..9cfcc93e3 100644 --- a/ts/tests/blueprints/ember-cli-typescript-test.ts +++ b/ts/tests/blueprints/ember-cli-typescript-test.ts @@ -52,8 +52,8 @@ describe('Acceptance: ember-cli-typescript generator', function () { expect(pkg).to.exist; const pkgJson = JSON.parse(pkg.content); - expect(pkgJson.scripts.prepublishOnly).to.be.undefined; - expect(pkgJson.scripts.postpublish).to.be.undefined; + expect(pkgJson.scripts.prepack).to.be.undefined; + expect(pkgJson.scripts.postpack).to.be.undefined; expect(pkgJson.devDependencies).to.include.all.keys('ember-cli-typescript-blueprints'); expect(pkgJson.devDependencies).to.include.all.keys('ember-data'); expect(pkgJson.devDependencies).to.include.all.keys('@types/ember-data'); @@ -97,8 +97,8 @@ describe('Acceptance: ember-cli-typescript generator', function () { expect(pkg).to.exist; const pkgJson = JSON.parse(pkg.content); - expect(pkgJson.scripts.prepublishOnly).to.equal('ember ts:precompile'); - expect(pkgJson.scripts.postpublish).to.equal('ember ts:clean'); + expect(pkgJson.scripts.prepack).to.equal('ember ts:precompile'); + expect(pkgJson.scripts.postpack).to.equal('ember ts:clean'); expect(pkgJson.dependencies).to.include.all.keys('ember-cli-typescript'); expect(pkgJson.devDependencies).to.not.include.all.keys('ember-cli-typescript'); expect(pkgJson.devDependencies).to.not.have.any.keys('ember-data');