0.0.3 • Published 1 year ago
uni-c5-ios-npmpckage_beta v0.0.3
UNIFY
This is a mon repo that allows you to build Lobo(LE) iOS applications and Core5 iOS applications
NPM Package location
privately scoped tool here: https://www.npmjs.com/package/@lexialearning/uni-ios-c5-lobo-buildtools listed as @lexialearning/uni-ios-c5-lobo-buildtools
Installation
#NPM Installation:
npm i @lexialearning/uni-ios-c5-lobo-buildtools
#Yarn Installation:
yarn add @lexialearning/uni-ios-c5-lobo-buildtools
Usage
the common script for building the Core5 project and Lobo(LE) is build-ios.sh. the current implementation for the build are as follows; Currently the 'build-ios.js' (framework) is called, then the 'build-const.js'(build static/ dynamic data) constructs paths to the 'build-ios.js' script, then the data is feed to the 'build-func.js' scripts (common functions between core5 and lobo).
the 'index.js' is used for a common insertion point and validates the data and components are loaded.
Core5 as built by bamboo -- still under construction
#format
bin/build-ios.js appstore ${bamboo.major} ${bamboo.minor} ${bamboo.patch} ${bamboo.buildNumber} $region,
#examples
bin/build-ios.js appstore ${bamboo.major} ${bamboo.minor} ${bamboo.patch} ${bamboo.buildNumber} us,
bin/build-ios.js appstore ${bamboo.major} ${bamboo.minor} ${bamboo.patch} ${bamboo.buildNumber} uk,
bin/build-ios.js enterprise ${bamboo.major} ${bamboo.minor} ${bamboo.patch} ${bamboo.buildNumber} us,
Lobo(LE)as built by bamboo or local
#Current Build Entry for local computer or server is:
!! this is what you execute in Command line : 'npm run build major)<space>(minor)<space>(patch)<space>(version)<space>($region)' IE: 'npm run build 1 1 1 190 us'
#format
bin/build-ios.js ($Target)<space>(major)<space>(minor)<space>(patch)<space>(version) ($region),
#examples
bin/build-ios.js lobo-local 1 1 1 165 us",
bin/build-ios.js lobo-bamboo 1 1 1 166 us",
NPM RUN Commands
"build:aws": "NODE_OPTIONS='--max-old-space-size=4096' tool-build-to-aws --config ./web/config/tool-build-to-aws.config.js",
"confirm:coverage": "node ./scripts/lobo/confirm-coverage.js",
"format": "prettier --write --list-different \"./src/**/*.{ts,tsx,md}\"",
"test_j": "where ever you go; there you are..!!",
"assets:prepare:core5-uk": "copyfiles -e '**/us/*' -s assets/content/**/*.json ios/c5v3native",
"assets:prepare:core5-us": "copyfiles -e '**/uk/*' -s assets/content/**/*.json ios/c5v3native",
"assets:prepare:numfum": "rm -rf ios/c5v3native/numfum_20 && cp -R assets/numfum_20 ios/c5v3native/numfum_20",
"clean-assets": "rm -rf ios/c5v3native/assets",
"clean-workspace": "sh scripts/lobo/cleanworkspace.sh",
"core5:ios-app-us": "chmod +x scripts/build-ios.sh && scripts/build-ios.sh appstore ${bamboo.major} ${bamboo.minor} ${bamboo.patch} ${bamboo.buildNumber} us",
"core5:ios-app-uk": "chmod +x scripts/build-ios.sh && scripts/build-ios.sh appstore ${bamboo.major} ${bamboo.minor} ${bamboo.patch} ${bamboo.buildNumber} uk",
"core5:assets:prepare-uk": "npm run assets:prepare:numfum && npm run assets:prepare:core5-uk && npm run set-region-uk",
"core5:assets:prepare-us": "npm run assets:prepare:numfum && npm run assets:prepare:core5-us && npm run set-region-us",
"core5:clean": "npm run clean-assets && npm run clean-workspace",
"core5:create-assetmap-uk": "rm -rf native/platform/assetMaps && mkdir -p native/platform/assetMaps && node scripts/core5/createAssetmap.js region=uk",
"core5:create-assetmap-us": "rm -rf native/platform/assetMaps && mkdir -p native/platform/assetMaps && node scripts/core5/createAssetmap.js",
"core5:css-convert": "node --max-old-space-size=4096 scripts/core5/transformCss.js",
"core5:svg-convert": "node scripts/core5/svgconvert.js",
"ios:bundle-prod": "yarn podinstall && react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios",
"lobo:ios:maybe-backup-ipa": "chmod +x scripts/lobo/maybe-backup-ipa.sh && scripts/lobo/maybe-backup-ipa.sh",
"ios:profiling-patches": "bash scripts/lobo/apply-native-profiling-patches.sh",
"lint": "eslint -c .eslintrc.prod.js \"./src/**/*.{ts,tsx}\" --ext .ts,.tsx",
"lobo:ios:configure-assets-bamboo": "yarn lobo:sync-assets-bamboo && yarn setup:assets-bamboo && yarn storm:remove-filelnpist-dat",
"lobo:ios:configure-assets-local": "yarn lobo:sync-assets-local && yarn storm:remove-filelist-dat",
"lobo:clean": "rm -rf node_modules && npm cache clean --force && npm install",
"lobo:ios:clean": "watchman watch-del-all && rm -rf $TMPDIR/metro-* && rm -rf $TMPDIR/haste-map-metro-* && rm -rf ./ios/Pods && yarn podinstall",
"lobo:ios:verify-app-size": "chmod +x scripts/lobo/verify-app-size.sh && scripts/lobo/verify-app-size.sh",
"lobo:setup:assets-bamboo": "chmod +x scripts/lobo/move-assets-for-ios.sh && sh scripts/lobo/move-assets-for-ios.sh",
"lobo:sync-assets-bamboo": "chmod +x scripts/lobo/sync-assets-bamboo.sh && sh scripts/lobo/sync-assets-bamboo.sh",
"lobo:sync-assets-local": "chmod +x scripts/lobo/sync-assets-local.sh && sh scripts/lobo/sync-assets-local.sh",
"podinstall": "pod install --project-directory=../ios",
"premerge:web": "yarn format && yarn lint && yarn validate:package-json && yarn build:web && yarn test:coverage",
"push": "bash ./tools/push_aws.sh dist-web",
"run:metro": "node --expose-gc --max_old_space_size=8192 ./node_modules/react-native/local-cli/cli.js start --reset-cache",
"set-region-uk": "cat region/region-uk.template > region/region.json",
"set-region-us": "cat region/region-us.template > region/region.json",
"storm:remove-filelist-dat": "chmod +x scripts/lobo/remove_filelist_dat.sh && sh scripts/lobo/remove_filelist_dat.sh",
"storm:test-local": "chmod +x scripts/lobo/storm-test-local.sh && sh scripts/lobo/storm-test-local.sh",
"test:once": "jest -c jest/jest.config.js",
"test:ci": "jest -c jest/jest.config.js --ci --coverage || true",
"test:coverage": "yarn test:once --coverage",
"test": "jest -c jest/jest.config.js --watch",
"type-check": "tsc -p tsconfig.prod.json --noEmit",
"type-check:watch": "yarn type-check -w",
"validate:package-json": "chmod +x scripts/lobo/validate-package-json.sh && sh scripts/lobo/validate-package-json.sh",
"ver": "$PATH; echo $PATH; node --version; which node; yarn --version; which yarn",
"yarn:clean": "rm -rf node_modules && yarn cache clean && yarn"
plist are pulled from /plist folder
both core5 and Lobo are located there, these include:
- exportOptions-appstore-uk.plist
- exportOptions-appstore-us.plist
- exportOptions-enterprise-us.plist
- exportOptions-lobo-bamboo.plist
- exportOptions-lobo-local.plist
- exportOptions-lobo-enterprise.plist
build scripts are split by project into corresponding folders
#core5
scripts/core5:
- createAssetmap.js
- svgconvert.js
- transformCss.js
#lobo
scripts/lobo
- apply-native-profiling-patches.sh
- aws-setup.sh
- bamboo-build-android.sh
- bamboo-build-ios.sh
- cleanworkspace.sh
- confirm-coverage.sh
- jq-osx-amd64
- maybe-backup-ipa.sh
- move-assets-for-ios.sh
- remove_filelist_dat.sh
- setup-initial.sh
- storm-test-local.sh
- sync-assets-bamboo.sh
- sync-assets-local.sh
- validate-package-json.sh
- verify-app-size.sh