Skip to content

Commit 3b0e7bb

Browse files
author
Dimitar Tachev
authored
Merge pull request #8 from NativeScript/tachev/hooks
chore: make hook args backwards and forwards compatible with the NativeScript 6.0.0 release
2 parents 3d41086 + d14a132 commit 3b0e7bb

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed

lib/after-prepare.js

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,21 @@ var fs = require('fs');
44
var glob = require('glob');
55
var minimatch = require('minimatch');
66

7-
module.exports = function (logger, platformsData, projectData, hookArgs) {
7+
module.exports = function ($logger, $projectData, $injector, hookArgs) {
88
var logsPrefix = "nativescript-dev-babel: ";
9-
var platformData = platformsData.getPlatformData(hookArgs.platform.toLowerCase());
9+
var platform = (hookArgs && (hookArgs.platform || (hookArgs.prepareData && hookArgs.prepareData.platform)) || '').toLowerCase();
10+
var platformData = getPlatformData($injector, $projectData, platform);
1011
var outDir = platformData.appDestinationDirectoryPath;
1112

1213
var babelOptions = {
1314
sourceMaps: 'inline'
1415
};
1516

16-
var babelrcFilePath = path.join(projectData.projectDir, '.babelrc');
17+
var babelrcFilePath = path.join($projectData.projectDir, '.babelrc');
1718
if (fs.existsSync(babelrcFilePath)) {
1819
babelOptions = JSON.parse(fs.readFileSync(babelrcFilePath));
1920
} else {
20-
var packageOpts = JSON.parse(fs.readFileSync(path.join(projectData.projectDir, 'package.json')));
21+
var packageOpts = JSON.parse(fs.readFileSync(path.join($projectData.projectDir, 'package.json')));
2122
if (packageOpts.babel) {
2223
babelOptions = packageOpts.babel;
2324
}
@@ -30,7 +31,7 @@ module.exports = function (logger, platformsData, projectData, hookArgs) {
3031
var transformations = [];
3132
for (var includePattern of includedPatterns) {
3233
transformations.push(new Promise(function (resolve, reject) {
33-
logger.info(`${logsPrefix}Processing '${path.join(outDir, includePattern)}.'`);
34+
$logger.info(`${logsPrefix}Processing '${path.join(outDir, includePattern)}.'`);
3435
glob(path.join(outDir, includePattern), {}, function (err, files) {
3536
if (err) {
3637
reject(err);
@@ -43,15 +44,15 @@ module.exports = function (logger, platformsData, projectData, hookArgs) {
4344
return;
4445
}
4546

46-
logger.trace(`${logsPrefix}Processing '${jsFile}'.`);
47+
$logger.trace(`${logsPrefix}Processing '${jsFile}'.`);
4748
try {
4849
var result = babel.transformFileSync(jsFile, babelOptions);
4950
fs.writeFileSync(jsFile, result.code);
5051
} catch (err) {
5152
error = err;
5253
}
5354
});
54-
logger.info(`${logsPrefix}Processing '${path.join(outDir, includePattern)}' complete.`);
55+
$logger.info(`${logsPrefix}Processing '${path.join(outDir, includePattern)}' complete.`);
5556
if (error) {
5657
error.errorAsWarning = true;
5758
}
@@ -63,3 +64,18 @@ module.exports = function (logger, platformsData, projectData, hookArgs) {
6364

6465
return Promise.all(transformations);
6566
}
67+
68+
function getPlatformData($injector, $projectData, platform) {
69+
let platformData;
70+
try {
71+
// used in CLI 6+
72+
const platformsDataService = $injector.resolve("platformsDataService");
73+
platformData = platformsDataService.getPlatformData(platform, $projectData);
74+
} catch (err) {
75+
// Used in CLI 5.4.x and below:
76+
const platformsData = $injector.resolve("platformsData");
77+
platformData = platformsData.getPlatformData(platform, $projectData);
78+
}
79+
80+
return platformData;
81+
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nativescript-dev-babel",
3-
"version": "0.2.0",
3+
"version": "0.2.1",
44
"description": "",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)