New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

tifastlane

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tifastlane - npm Package Compare versions

Comparing version 0.3.5 to 0.3.6

3

cli.js

@@ -66,3 +66,2 @@ #!/usr/bin/env node

.description('Register app and create provisioning profiles. You can target a specific platform: "appstore", "development", "adhoc" or leave empty for all')
.option('-f, --force', 'Force the provisioning profiles to be renewed')
.option('-i, --skip_itc', 'Skip the creation of the app on iTunes Connect')

@@ -141,3 +140,3 @@ .option('-si, --skip_install', 'Skip installation of new provisioning profiles')

notifier.update && notifier.notify();
var options = _filterOptions(opts);

@@ -144,0 +143,0 @@

@@ -13,11 +13,18 @@ ## Installation

### [Fastlane](https://fastlane.tools/)
Install the gem and all its dependencies (this might take a few minutes).
sudo gem install fastlane --verbose
### Tifastlane
In case RubyGems has a hard time installing Nokogiri, check out their [official installation guide](http://www.nokogiri.org/tutorials/installing_nokogiri.html).
**BEFORE** you download `tifastlane` you **MUST** do this trick to be able to download all `gems` dependencies.
### Tifastlane
Edit your `.bashrc` or `.zshrc` file:
export GEM_HOME=~/.gems
export PATH="/Users/{Your-Username}/.gems/bin"
* Save it
* Close your terminal and open it again
* `mkdir $GEM_HOME`
All done! no need for `sudo` anymore( on gems side ).
[sudo] npm install -g tifastlane

@@ -27,2 +34,4 @@

In case RubyGems has a hard time installing Nokogiri, check out their [official installation guide](http://www.nokogiri.org/tutorials/installing_nokogiri.html).
## Get Started

@@ -33,11 +42,11 @@

tifast setup
Once your configuration is set, then you want to initialize your app:
tifast init
And then finally when you are ready, you'll want to send your app for review at the App Store:
tifast send
**It's that easy!**

@@ -68,3 +77,3 @@

### Tifast Setup
This will configure TiFastlane on your current project.
This will configure TiFastlane on your current project.

@@ -107,10 +116,6 @@ tifast setup

For default provisiong profiles will be generated for all platforms, but if you wish you can target a single platform: `appstore`, `adhoc`, `development` or `all`.
For default provisiong profiles will be generated for all platforms, but if you wish you can target a single platform: `appstore`, `adhoc`, `development` or leave empty for all.
tifast register <platform>
If you wish to overwrite exists provisionings
tifast register <platform> -f
### Tifast Send

@@ -164,6 +169,9 @@

In this directory you will see several text files with the contents of the metadata that is language dependant. By default it's only created with the `EN_US` language, but if you run the wizard and you support more language, you'll see them listed here.
In this directory you will see several text files with the contents of the metadata that is language dependant.
#### Available languages
`da`, `de-DE`, `el`, `en-AU`, `en-CA`, `en-GB`, `en-US`, `es-ES`, `es-MX`, `fi`, `fr-CA`, `fr-FR`, `id`, `it`, `ja`, `ko`, `ms`, `nl`, `no`, `pt-BR`, `pt-PT`, `ru`, `sv`, `th`, `tr`, `vi`, `zh-Hans`, `zh-Hant`
**./screenshots/[LANG]/*.***
As with metadata, screenshots support multi language. Based on the dimension of the images they will be correctly set to the appropiate device. The images are ordered alphabetically, so make sure to name them correctly to control the right display order.

@@ -21,3 +21,3 @@ var chalk = require('chalk')

, locale : "en-US"
, username : ""
, apple_id : "null"
}

@@ -54,5 +54,2 @@ , appDeliveryDir = null

cfg = JSON.parse(fs.readFileSync(cfgfile, "utf-8"));
if( !cfg.username ){
console.log(chalk.red('Cannot determine username from configuration'));
}

@@ -90,14 +87,2 @@ /*

/*
@ build SKU for app creating
*/
function build_sku( appid ){
//We are going to use the same id of the app, for the SKU
var sku = appid.toUpperCase().replace(/\./g, "") + randomIntInc(100,999);
return sku;
};
function randomIntInc (low, high) {
return Math.floor(Math.random() * (high - low + 1) + low);
};
/*
@ extraFiles

@@ -150,3 +135,6 @@ */

console.log('\n');
console.log('Apple ID Username: ' + chalk.cyan(cfg.username))
if( cfg.apple_id != "null" ) console.log('Apple ID: ' + chalk.cyan(cfg.apple_id));
if( cfg.team_id != "null" ) console.log('Team ID: ' + chalk.cyan(cfg.team_id));
if( cfg.team_name != "null" ) console.log('Team Name: ' + chalk.cyan(cfg.team_name));
console.log('Name: ' + chalk.cyan(tiapp.name));

@@ -157,3 +145,2 @@ console.log('AppId: ' + chalk.cyan(tiapp.id));

console.log('GUID: ' + chalk.cyan(tiapp.guid));
console.log('SKU: ' + chalk.cyan( build_sku(tiapp.id) ));
console.log('\n');

@@ -198,3 +185,3 @@ };

'upload'
, '-u' , cfg.username
, '-u' , cfg.apple_id
, '-i' , "../../dist/" + tiapp.name + ".ipa"

@@ -279,3 +266,4 @@ ];

'init',
'--username', cfg.username
'--username', cfg.apple_id,
'-a', tiapp.id
];

@@ -298,11 +286,11 @@

// console.log('json: ', json);
// Set CLI
cfg.cli = ( json.cli == "appcelerator" ) ? "appc" : "ti";
cfg.locale = json.locale;
cfg.username = json.username;
cfg.apple_id = json.apple_id;
cfg.team_id = ( json.team_id ) ? json.team_id : null;
cfg.team_name = ( json.team_name ) ? json.team_name : null;
var cfgFile = templates.cfgFile;
cfgFile = cfgFile.replace("[CLI]", cfg.cli).replace("[LOCALE]", cfg.locale).replace('[USERNAME]', cfg.username);
cfgFile = cfgFile.replace("[CLI]", cfg.cli).replace("[LOCALE]", cfg.locale).replace('[APPLE_ID]', cfg.apple_id).replace('[TEAM_ID]', cfg.team_id).replace('[TEAM_NAME]', cfg.team_name);
fs.writeFileSync( "./tifastlane.cfg", cfgFile);

@@ -339,3 +327,3 @@

type: "input",
name: "username",
name: "apple_id",
message: "What's your apple@id.com?",

@@ -355,2 +343,14 @@ validate: function( value ) {

{
type: "input",
name: "team_id",
message: "What's your TEAM ID? Leave it if you don't want to use it"
},
{
type: "input",
name: "team_name",
message: "What's your TEAM NAME? Leave it if you don't want to use it"
}
], function( answers ) {

@@ -416,3 +416,3 @@ dealWithResults( answers );

var _deliverFile = templates.deliverFile;
_deliverFile = _deliverFile.replace("[APP_ID]", tiapp.id).replace("[EMAIL]", cfg.username);
_deliverFile = _deliverFile.replace("[APP_ID]", tiapp.id).replace("[EMAIL]", cfg.apple_id);

@@ -594,5 +594,5 @@ fs.writeFileSync(appDeliveryDir + "/Deliverfile", _deliverFile);

return
}else{
localStatus();
}
localStatus();
};

@@ -617,4 +617,2 @@

var sku = build_sku(tiapp.id);
console.log( chalk.white('APP ID: ' + tiapp.id) );

@@ -625,3 +623,3 @@ console.log( chalk.white('APP Name: ' + tiapp.name) );

var produceArgs = [
'--username', cfg.username,
'--username', cfg.apple_id,
'--app_identifier', tiapp.id,

@@ -632,2 +630,12 @@ '--app_version', tiapp.version,

if( cfg.team_id != "null" ){
produceArgs.push('--team_id');
produceArgs.push(cfg.team_id);
}
if( cfg.team_name != "null" ){
produceArgs.push('--team_name');
produceArgs.push(cfg.team_name);
}
if( opts.skip_itc ){

@@ -663,7 +671,18 @@ produceArgs.push('--skip_itc');

var sighArgs = [
'-u', cfg.username,
'-u', cfg.apple_id,
'-a', tiapp.id,
'-o', certDir
'-o', certDir,
'--force'
];
if( cfg.team_id != "null" ){
sighArgs.push('--team_id');
sighArgs.push(cfg.team_id);
}
if( cfg.team_name != "null" ){
sighArgs.push('--team_name');
sighArgs.push(cfg.team_name);
}
if( opts.skip_install ){

@@ -673,6 +692,2 @@ sighArgs.push('--skip_install');

if( opts.force ){
sighArgs.push('--force');
}
if( opts.skip_fetch_profiles ){

@@ -749,3 +764,3 @@ sighArgs.push('--skip_fetch_profiles');

'-a', tiapp.id,
'-u', cfg.username
'-u', cfg.apple_id
];

@@ -850,3 +865,3 @@

pilotArgs.push('-u');
pilotArgs.push(cfg.username);
pilotArgs.push(cfg.apple_id);
pilotArgs.push('-a');

@@ -853,0 +868,0 @@ pilotArgs.push(tiapp.id);

@@ -12,3 +12,5 @@ #!/usr/bin/env node

" , \"locale\": \"[LOCALE]\" \n" +
" , \"username\": \"[USERNAME]\" \n" +
" , \"apple_id\": \"[APPLE_ID]\" \n" +
" , \"team_id\": \"[TEAM_ID]\" \n" +
" , \"team_name\": \"[TEAM_NAME]\" \n" +
"}";

@@ -28,4 +30,3 @@

"app_identifier \"[APP_ID]\"\n" +
"apple_id \"[ID]\" # This is NOT your Apple login ID, but the App ID of your app\n" +
"email \"[EMAIL]\" # the login email address\n" +
"username \"[EMAIL]\" # the login email address\n" +
"\n" +

@@ -62,26 +63,23 @@ "# Pass the price tier as number. This will be active from the current day. 0 = free\n" +

"# You can set the app age ratings using deliver. You'll have to create and store a JSON configuration file.\n" +
"# The keys/values on the top allow values from 0-2, and the items on the bottom allow only 0 or 1.\n" +
"app_rating_config_path \"./ratings.json\"\n" +
"\n" +
"# The comment in the JSON file is just for your convenience, it will not be used by deliver. You can now replace the level values to have the value 1 for mild and 2 for intense.\n" +
"# Please, read this information https://github.com/KrauseFx/deliver/blob/master/Reference.md\n" +
"\n" +
"# The boolean values on the bottom can only have the value 0 or 1.\n" +
"ratings_config_path \"./ratings.json\"\n" +
"\n" +
"# should be a hash. This is used as the last step for the deployment process, where you define if you use third party content or use encryption.\n" +
"submit_further_information({\n" +
" export_compliance: {\n" +
" encryption_updated: false,\n" +
" cryptography_enabled: false,\n" +
" is_exempt: false\n" +
" },\n" +
" third_party_content: {\n" +
" contains_third_party_content: false,\n" +
" has_rights: false\n" +
" },\n" +
" advertising_identifier: {\n" +
" use_idfa: false,\n" +
" serve_advertisement: false,\n" +
" attribute_advertisement: false,\n" +
" attribute_actions: false,\n" +
" limit_ad_tracking: false\n" +
" }\n" +
"Must be a hash. This is used as the last step for the deployment process, where you define if you use third party content or use encryption.\n" +
"submission_information({\n" +
" add_id_info_serves_ads: false,\n" +
" add_id_info_limits_tracking: false,\n" +
" add_id_info_tracks_action: true,\n" +
" add_id_info_tracks_install: true,\n" +
" add_id_info_uses_idfa: true,\n" +
" content_rights_contains_third_party_content: false,\n" +
" content_rights_has_rights: false,\n" +
" export_compliance_available_on_french_store: false,\n" +
" export_compliance_ccat_file: false,\n" +
" export_compliance_contains_proprietary_cryptography: false,\n" +
" export_compliance_is_exempt: false,\n" +
" export_compliance_uses_encryption: false,\n" +
" export_compliance_encryption_updated: false,\n" +
" export_compliance_compliance_required: false\n" +
"})\n" +

@@ -97,62 +95,19 @@ "\n" +

*/
exports.ratings = "[\n" +
" {\n" +
" \"comment\": \"Cartoon or Fantasy Violence\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Realistic Violence\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Prolonged Graphic or Sadistic Realistic\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Profanity or Crude Humor\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Mature/Suggestive Themes\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Horror/Fear Themes\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Medical/Treatment Information\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Alcohol, Tobacco, or Drug Use or References\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Simulated Gambling\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Sexual Content or Nudity\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Graphic Sexual Content and Nudity\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"type\": \"boolean\",\n" +
" \"comment\": \"Unrestricted Web Access\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"type\": \"boolean\",\n" +
" \"comment\": \"Gambling and Contests\",\n" +
" \"level\": 0\n" +
" },\n" +
" {\n" +
" \"comment\": \"Made for Kids; 1 = Age < 5; 2 = Ages 6-8; 3 = Ages 9 - 11\",\n" +
" \"level\": 0\n" +
" }\n" +
"]";
exports.ratings = "{\n" +
" \"CARTOON_FANTASY_VIOLENCE\": 0,\n" +
" \"REALISTIC_VIOLENCE\": 0,\n" +
" \"PROLONGED_GRAPHIC_SADISTIC_REALISTIC_VIOLENCE\": 0,\n" +
" \"PROFANITY_CRUDE_HUMOR\": 0,\n" +
" \"MATURE_SUGGESTIVE\": 0,\n" +
" \"HORROR\": 0,\n" +
" \"MEDICAL_TREATMENT_INFO\": 0,\n" +
" \"ALCOHOL_TOBACCO_DRUGS\": 0,\n" +
" \"GAMBLING\": 0,\n" +
" \"SEXUAL_CONTENT_NUDITY\": 0,\n" +
" \"GRAPHIC_SEXUAL_CONTENT_NUDITY\": 0,\n" +
"\n" +
"\n" +
" \"UNRESTRICTED_WEB_ACCESS\": 0,\n" +
" \"GAMBLING_CONTESTS\": 0\n" +
"}";

@@ -159,0 +114,0 @@ /*

@@ -0,41 +1,50 @@

{
"name": "tifastlane",
"version": "0.3.5",
"description": "iOS Continuos Deployment support for Titanium using fastlane.tools. With TiFastlane you'll be able to fully optimize the way you submit your app updates and maintain your certificates and provisioning profiles on the App Store.",
"main": "index.js",
"bin": {
"tifastlane": "./cli.js",
"tifast": "./cli.js"
"_args": [
[
"tifastlane",
""
]
],
"_from": "tifastlane@*",
"_id": "tifastlane@0.3.5",
"_inCache": true,
"_location": "/tifastlane",
"_nodeVersion": "0.12.7",
"_npmUser": {
"email": "uriel@baboon.international",
"name": "ulizama"
},
"scripts": {
"postinstall": "node install",
"test": "echo \"Error: no test specified\" && exit 1"
"_npmVersion": "2.11.3",
"_phantomChildren": {},
"_requested": {
"name": "tifastlane",
"raw": "tifastlane",
"rawSpec": "",
"scope": null,
"spec": "*",
"type": "range"
},
"directories": {
"lib": "./lib"
},
"keywords": [
"titanium",
"alloy",
"fastlane",
"appcelerator",
"cli",
"TiApp",
"ios"
"_requiredBy": [
"#USER"
],
"repository": {
"type": "git",
"url": "git+https://github.com/ulizama/TiFastlane.git"
},
"_resolved": "https://registry.npmjs.org/tifastlane/-/tifastlane-0.3.5.tgz",
"_shasum": "9425f9c0bb9c4b0829e3b805542a767b5b7ff8d3",
"_shrinkwrap": null,
"_spec": "tifastlane",
"_where": "",
"author": {
"name": "Uriel Lizama"
},
"license": "Apache Public License v2",
"bin": {
"tifast": "./cli.js",
"tifastlane": "./cli.js"
},
"bugs": {
"url": "https://github.com/ulizama/TiFastlane/issues"
},
"homepage": "https://github.com/ulizama/TiFastlane",
"dependencies": {
"chalk": "*",
"commander": "*",
"inquirer": "*",
"sudo": "*",

@@ -45,19 +54,27 @@ "tiapp.xml": "*",

"update-notifier": "*",
"xpath": "*",
"inquirer": "*"
"xpath": "*"
},
"gitHead": "3667cbcb3fcbb00866a5265543d8d133e1f6e27e",
"_id": "tifastlane@0.3.0",
"_shasum": "362b2626ff068a070deee9d97e745e0697789413",
"_from": "tifastlane@0.3.0",
"_npmVersion": "2.11.3",
"_nodeVersion": "0.12.7",
"_npmUser": {
"name": "ulizama",
"email": "uriel@baboon.international"
"description": "iOS Continuos Deployment support for Titanium using fastlane.tools. With TiFastlane you'll be able to fully optimize the way you submit your app updates and maintain your certificates and provisioning profiles on the App Store.",
"devDependencies": {},
"directories": {
"lib": "./lib"
},
"dist": {
"shasum": "362b2626ff068a070deee9d97e745e0697789413",
"shasum": "9425f9c0bb9c4b0829e3b805542a767b5b7ff8d3",
"tarball": "http://registry.npmjs.org/tifastlane/-/tifastlane-0.3.5.tgz"
},
"gitHead": "3667cbcb3fcbb00866a5265543d8d133e1f6e27e",
"homepage": "https://github.com/ulizama/TiFastlane",
"installable": true,
"keywords": [
"TiApp",
"alloy",
"appcelerator",
"cli",
"fastlane",
"ios",
"titanium"
],
"license": "Apache Public License v2",
"main": "index.js",
"maintainers": [

@@ -69,3 +86,13 @@ {

],
"_resolved": "https://registry.npmjs.org/tifastlane/-/tifastlane-0.3.5.tgz"
"name": "tifastlane",
"optionalDependencies": {},
"repository": {
"type": "git",
"url": "git+https://github.com/ulizama/TiFastlane.git"
},
"scripts": {
"postinstall": "node install",
"test": "echo \"Error: no test specified\" && exit 1"
},
"version": "0.3.6"
}

@@ -11,12 +11,21 @@ # TiFastlane [![npm version](https://badge.fury.io/js/tifastlane.svg)](http://badge.fury.io/js/tifastlane)

## Documentation
### Current tools from [Fastlane](https://github.com/KrauseFx/fastlane) available:
<p align="center">
### You can look at complete usage instructions in the [Documentation](./docs/README.md)
&bull; <a href="https://github.com/KrauseFx/deliver">deliver</a> &bull;
<a href="https://github.com/KrauseFx/snapshot">snapshot</a> &bull;
<a href="https://github.com/KrauseFx/PEM">PEM</a> &bull;
<a href="https://github.com/KrauseFx/sigh">sigh</a> &bull;
<a href="https://github.com/KrauseFx/produce">produce</a> &bull;
<a href="https://github.com/fastlane/pilot">pilot</a> &bull;
<a href="https://github.com/fastlane/boarding">boarding</a>
</p>
## [Documentation](./docs/README.md)
## TODO
* Implement [Gym](https://github.com/fastlane/gym) Tool
* Check `sudo` issue to have the fastlane gem installed automatically when installing TiFastlane
* Allow configuration of team id, team name, and specification of the default certificate to use
* Add [Frameit](https://github.com/fastlane/frameit)
* Specification of the default certificate to use.

@@ -34,13 +43,5 @@ ## Collaborators

## Changelog
* 0.3.6 Update to use the latest tools provided by [@KrauseFx](https://github.com/KrauseFx/fastlane)
* 0.3.4 Fix on status and snapshot call
* 0.3.3 Update app version on send
* 0.3.2 Correct functionality of `tifast register [platform]`
* 0.3.1 You can now setup TiFastlane from the command line and you can choose which CLI to use. More documentation.
* 0.3.0 Added new tools [snapshot](https://github.com/KrauseFx/snapshot), [PEM](https://github.com/fastlane/PEM), [Pilot](https://github.com/fastlane/pilot)
* 0.2.3 Removed SKU delivery, automatic one will be generated by produce.
* 0.2.1 Send version on produce. Update SKU generator
* 0.2.0 Now you can upload your app update.
* 0.1.0 Now you can update your iTunes Connect metadata and screenshots (deliver)
* 0.0.3 Added register - Register App (produce + sigh)
* 0.0.1 Initial Commit

@@ -56,3 +57,3 @@ ## License

http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0

@@ -59,0 +60,0 @@ Unless required by applicable law or agreed to in writing, software

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc