diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 11c74c8d..80d217fc 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - node-version: [12.x, 14.x, 16.x] + node-version: [14.x, 16.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: diff --git a/generators/app/generate-command-js.js b/generators/app/generate-command-js.js index 56351e43..091e1607 100644 --- a/generators/app/generate-command-js.js +++ b/generators/app/generate-command-js.js @@ -56,6 +56,8 @@ module.exports = { if (extensionConfig.pkgManager === 'yarn') { generator.fs.copyTpl(generator.templatePath('.yarnrc'), generator.destinationPath('.yarnrc'), extensionConfig); + } else if (extensionConfig.pkgManager === 'pnpm') { + generator.fs.copyTpl(generator.templatePath('.npmrc-pnpm'), generator.destinationPath('.npmrc'), extensionConfig); } extensionConfig.installDependencies = true; diff --git a/generators/app/generate-command-ts.js b/generators/app/generate-command-ts.js index 3722f6ee..ecfe63ed 100644 --- a/generators/app/generate-command-ts.js +++ b/generators/app/generate-command-ts.js @@ -54,6 +54,8 @@ module.exports = { if (extensionConfig.pkgManager === 'yarn') { generator.fs.copyTpl(generator.templatePath('.yarnrc'), generator.destinationPath('.yarnrc'), extensionConfig); + } else if (extensionConfig.pkgManager === 'pnpm') { + generator.fs.copyTpl(generator.templatePath('.npmrc-pnpm'), generator.destinationPath('.npmrc'), extensionConfig); } extensionConfig.installDependencies = true; diff --git a/generators/app/generate-command-web.js b/generators/app/generate-command-web.js index 847601a7..1c29cd18 100644 --- a/generators/app/generate-command-web.js +++ b/generators/app/generate-command-web.js @@ -47,6 +47,8 @@ module.exports = { if (extensionConfig.pkgManager === 'yarn') { generator.fs.copyTpl(generator.templatePath('.yarnrc'), generator.destinationPath('.yarnrc'), extensionConfig); + } else if (extensionConfig.pkgManager === 'pnpm') { + generator.fs.copyTpl(generator.templatePath('.npmrc-pnpm'), generator.destinationPath('.npmrc'), extensionConfig); } extensionConfig.installDependencies = true; diff --git a/generators/app/generate-localization.js b/generators/app/generate-localization.js index b74bcaeb..64750503 100644 --- a/generators/app/generate-localization.js +++ b/generators/app/generate-localization.js @@ -40,6 +40,8 @@ module.exports = { if (extensionConfig.pkgManager === 'yarn') { generator.fs.copyTpl(generator.templatePath('.yarnrc'), generator.destinationPath('.yarnrc'), extensionConfig); + } else if (extensionConfig.pkgManager === 'pnpm') { + generator.fs.copyTpl(generator.templatePath('.npmrc-pnpm'), generator.destinationPath('.npmrc'), extensionConfig); } extensionConfig.installDependencies = true; diff --git a/generators/app/generate-notebook-renderer.js b/generators/app/generate-notebook-renderer.js index 408ca203..f0c6a800 100644 --- a/generators/app/generate-notebook-renderer.js +++ b/generators/app/generate-notebook-renderer.js @@ -51,6 +51,8 @@ module.exports = { if (extensionConfig.pkgManager === 'yarn') { generator.fs.copyTpl(generator.templatePath('.yarnrc'), generator.destinationPath('.yarnrc'), extensionConfig); + } else if (extensionConfig.pkgManager === 'pnpm') { + generator.fs.copyTpl(generator.templatePath('.npmrc-pnpm'), generator.destinationPath('.npmrc'), extensionConfig); } extensionConfig.installDependencies = true; diff --git a/generators/app/generate-snippets.js b/generators/app/generate-snippets.js index 81db6bb4..ee15d432 100644 --- a/generators/app/generate-snippets.js +++ b/generators/app/generate-snippets.js @@ -249,11 +249,3 @@ function getFileContent(filePath, errors) { return null; } } - -function isFile(filePath) { - try { - return fs.statSync(filePath).isFile() - } catch (e) { - return false; - } -} diff --git a/generators/app/templates/ext-command-js/.npmrc-pnpm b/generators/app/templates/ext-command-js/.npmrc-pnpm new file mode 100644 index 00000000..37d1b604 --- /dev/null +++ b/generators/app/templates/ext-command-js/.npmrc-pnpm @@ -0,0 +1 @@ +enable-pre-post-scripts = true \ No newline at end of file diff --git a/generators/app/templates/ext-command-ts/.npmrc-pnpm b/generators/app/templates/ext-command-ts/.npmrc-pnpm new file mode 100644 index 00000000..37d1b604 --- /dev/null +++ b/generators/app/templates/ext-command-ts/.npmrc-pnpm @@ -0,0 +1 @@ +enable-pre-post-scripts = true \ No newline at end of file diff --git a/generators/app/templates/ext-command-web/.npmrc-pnpm b/generators/app/templates/ext-command-web/.npmrc-pnpm new file mode 100644 index 00000000..37d1b604 --- /dev/null +++ b/generators/app/templates/ext-command-web/.npmrc-pnpm @@ -0,0 +1 @@ +enable-pre-post-scripts = true \ No newline at end of file diff --git a/generators/app/templates/ext-localization/.npmrc-pnpm b/generators/app/templates/ext-localization/.npmrc-pnpm new file mode 100644 index 00000000..37d1b604 --- /dev/null +++ b/generators/app/templates/ext-localization/.npmrc-pnpm @@ -0,0 +1 @@ +enable-pre-post-scripts = true \ No newline at end of file diff --git a/generators/app/templates/ext-notebook-renderer/.npmrc-pnpm b/generators/app/templates/ext-notebook-renderer/.npmrc-pnpm new file mode 100644 index 00000000..37d1b604 --- /dev/null +++ b/generators/app/templates/ext-notebook-renderer/.npmrc-pnpm @@ -0,0 +1 @@ +enable-pre-post-scripts = true \ No newline at end of file diff --git a/package.json b/package.json index b78ffc0c..ade4eb89 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "url": "https://github.com/Microsoft" }, "engines": { - "node": ">=12.10.0" + "node": ">=14.15.0" }, "scripts": { "test": "mocha", diff --git a/test/test.js b/test/test.js index fedc68de..cc6bd2fe 100644 --- a/test/test.js +++ b/test/test.js @@ -842,7 +842,7 @@ describe('test code generator', function () { } }; try { - assertFiles(runResult, 'testCom', ['src/extension.ts', 'src/test/suite/extension.test.ts', 'src/test/suite/index.ts', 'tsconfig.json', '.eslintrc.json', '.vscode/extensions.json']); + assertFiles(runResult, 'testCom', ['src/extension.ts', 'src/test/suite/extension.test.ts', 'src/test/suite/index.ts', 'tsconfig.json', '.eslintrc.json', '.vscode/extensions.json', '.npmrc']); runResult.assertJsonFileContent('testCom/package.json', expectedPackageJSON); @@ -1001,7 +1001,7 @@ describe('test code generator', function () { try { - assertFiles(runResult, 'testCom', ['src/extension.ts', 'src/test/suite/extension.test.ts', 'src/test/suite/index.ts', 'tsconfig.json']); + assertFiles(runResult, 'testCom', ['src/extension.ts', 'src/test/suite/extension.test.ts', 'src/test/suite/index.ts', 'tsconfig.json', '.npmrc']); runResult.assertJsonFileContent('testCom/package.json', expectedPackageJSON); @@ -1131,7 +1131,7 @@ describe('test code generator', function () { } }; try { - assertFiles(runResult, 'testCom', ['extension.js', 'test/suite/extension.test.js', 'test/suite/index.js', 'jsconfig.json']); + assertFiles(runResult, 'testCom', ['extension.js', 'test/suite/extension.test.js', 'test/suite/index.js', 'jsconfig.json', '.npmrc']); runResult.assertJsonFileContent('testCom/package.json', expectedPackageJSON); @@ -1495,7 +1495,7 @@ describe('test code generator', function () { } }; try { - assertFiles(runResult, 'testCom', ['src/web/extension.ts', 'webpack.config.js', 'src/web/test/suite/extension.test.ts', 'src/web/test/suite/index.ts', 'tsconfig.json']); + assertFiles(runResult, 'testCom', ['src/web/extension.ts', 'webpack.config.js', 'src/web/test/suite/extension.test.ts', 'src/web/test/suite/index.ts', 'tsconfig.json', '.npmrc']); runResult.assertJsonFileContent('testCom/package.json', expectedPackageJSON); @@ -1662,7 +1662,7 @@ describe('test code generator', function () { ]) }; try { - assertFiles(runResult, 'json-renderer-ext', ['webpack.config.js', '.gitignore', '.eslintrc.json']); + assertFiles(runResult, 'json-renderer-ext', ['webpack.config.js', '.gitignore', '.eslintrc.json', '.npmrc']); runResult.assertJsonFileContent('json-renderer-ext/package.json', expectedPackageJSON);