From 08c97b5c976682e0e7930f88f3a111105ee332f8 Mon Sep 17 00:00:00 2001 From: orYoffe Date: Mon, 2 Nov 2020 18:24:31 +0100 Subject: [PATCH] removed template and updated cli --- README.md | 2 + cli.js | 129 +-- cli.test.js | 90 +- copyFiles.js | 84 -- package.json | 11 +- template/.buckconfig | 6 - template/.flowconfig | 75 -- template/.gitattributes | 1 - template/.gitignore.txt | 83 -- template/.prettierrc.js | 6 - template/.watchmanconfig | 1 - template/README.md | 69 -- template/android/app/_BUCK | 55 -- template/android/app/build.gradle | 201 ---- template/android/app/build_defs.bzl | 19 - template/android/app/debug.keystore | Bin 2257 -> 0 bytes template/android/app/proguard-rules.pro | 10 - .../android/app/src/debug/AndroidManifest.xml | 8 - .../android/app/src/main/AndroidManifest.xml | 26 - .../java/com/creaternwapp/MainActivity.java | 15 - .../com/creaternwapp/MainApplication.java | 74 -- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3056 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5024 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2096 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2858 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4569 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7098 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6464 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10676 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9250 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15523 -> 0 bytes .../app/src/main/res/values/strings.xml | 3 - .../app/src/main/res/values/styles.xml | 9 - template/android/build.gradle | 38 - template/android/gradle.properties | 21 - .../android/gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - template/android/gradlew | 188 ---- template/android/gradlew.bat | 100 -- template/android/settings.gradle | 3 - template/app.json | 4 - template/babel.config.js | 11 - template/config/env.js | 101 -- template/config/getHttpsConfig.js | 66 -- template/config/jest/cssTransform.js | 14 - template/config/jest/fileTransform.js | 40 - template/config/jest/jest.config.native.js | 43 - template/config/modules.js | 141 --- template/config/paths.js | 72 -- template/config/pnpTs.js | 35 - template/config/webpack.config.js | 688 ------------- template/config/webpackDevServer.config.js | 130 --- template/index.js | 9 - template/ios/Podfile | 53 - template/ios/Podfile.lock | 338 ------- template/ios/creaternwapp-tvOS/Info.plist | 53 - .../ios/creaternwapp-tvOSTests/Info.plist | 24 - .../creaternwapp.xcodeproj/project.pbxproj | 923 ------------------ .../xcschemes/creaternwapp-tvOS.xcscheme | 129 --- .../xcschemes/creaternwapp.xcscheme | 129 --- .../contents.xcworkspacedata | 10 - template/ios/creaternwapp/AppDelegate.h | 15 - template/ios/creaternwapp/AppDelegate.m | 42 - .../creaternwapp/Base.lproj/LaunchScreen.xib | 42 - .../AppIcon.appiconset/Contents.json | 38 - .../Images.xcassets/Contents.json | 6 - template/ios/creaternwapp/Info.plist | 57 -- template/ios/creaternwapp/main.m | 16 - template/ios/creaternwappTests/Info.plist | 24 - .../ios/creaternwappTests/creaternwappTests.m | 72 -- template/metro.config.js | 17 - template/package.json | 150 --- template/public/favicon.ico | Bin 3150 -> 0 bytes template/public/index.html | 44 - template/public/logo192.png | Bin 5347 -> 0 bytes template/public/logo512.png | Bin 9664 -> 0 bytes template/public/manifest.json | 25 - template/public/robots.txt | 3 - template/scripts/build.js | 211 ---- template/scripts/start.js | 157 --- template/scripts/test.js | 51 - template/src/App.js | 95 -- template/src/App.test.js | 12 - template/src/index.css | 27 - template/src/index.js | 12 - template/src/logo.png | Bin 129451 -> 0 bytes template/src/serviceWorker.js | 141 --- template/src/setupTests.js | 5 - 88 files changed, 50 insertions(+), 5557 deletions(-) delete mode 100644 copyFiles.js delete mode 100644 template/.buckconfig delete mode 100644 template/.flowconfig delete mode 100644 template/.gitattributes delete mode 100755 template/.gitignore.txt delete mode 100644 template/.prettierrc.js delete mode 100755 template/.watchmanconfig delete mode 100644 template/README.md delete mode 100644 template/android/app/_BUCK delete mode 100755 template/android/app/build.gradle delete mode 100644 template/android/app/build_defs.bzl delete mode 100644 template/android/app/debug.keystore delete mode 100755 template/android/app/proguard-rules.pro delete mode 100644 template/android/app/src/debug/AndroidManifest.xml delete mode 100755 template/android/app/src/main/AndroidManifest.xml delete mode 100755 template/android/app/src/main/java/com/creaternwapp/MainActivity.java delete mode 100755 template/android/app/src/main/java/com/creaternwapp/MainApplication.java delete mode 100755 template/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100755 template/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100755 template/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100755 template/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100755 template/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100755 template/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100755 template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100755 template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100755 template/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100755 template/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100755 template/android/app/src/main/res/values/strings.xml delete mode 100755 template/android/app/src/main/res/values/styles.xml delete mode 100755 template/android/build.gradle delete mode 100755 template/android/gradle.properties delete mode 100755 template/android/gradle/wrapper/gradle-wrapper.jar delete mode 100755 template/android/gradle/wrapper/gradle-wrapper.properties delete mode 100755 template/android/gradlew delete mode 100755 template/android/gradlew.bat delete mode 100755 template/android/settings.gradle delete mode 100755 template/app.json delete mode 100755 template/babel.config.js delete mode 100755 template/config/env.js delete mode 100644 template/config/getHttpsConfig.js delete mode 100755 template/config/jest/cssTransform.js delete mode 100755 template/config/jest/fileTransform.js delete mode 100644 template/config/jest/jest.config.native.js delete mode 100644 template/config/modules.js delete mode 100755 template/config/paths.js delete mode 100644 template/config/pnpTs.js delete mode 100644 template/config/webpack.config.js delete mode 100755 template/config/webpackDevServer.config.js delete mode 100755 template/index.js delete mode 100644 template/ios/Podfile delete mode 100644 template/ios/Podfile.lock delete mode 100755 template/ios/creaternwapp-tvOS/Info.plist delete mode 100755 template/ios/creaternwapp-tvOSTests/Info.plist delete mode 100755 template/ios/creaternwapp.xcodeproj/project.pbxproj delete mode 100755 template/ios/creaternwapp.xcodeproj/xcshareddata/xcschemes/creaternwapp-tvOS.xcscheme delete mode 100755 template/ios/creaternwapp.xcodeproj/xcshareddata/xcschemes/creaternwapp.xcscheme delete mode 100644 template/ios/creaternwapp.xcworkspace/contents.xcworkspacedata delete mode 100755 template/ios/creaternwapp/AppDelegate.h delete mode 100755 template/ios/creaternwapp/AppDelegate.m delete mode 100755 template/ios/creaternwapp/Base.lproj/LaunchScreen.xib delete mode 100755 template/ios/creaternwapp/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100755 template/ios/creaternwapp/Images.xcassets/Contents.json delete mode 100755 template/ios/creaternwapp/Info.plist delete mode 100755 template/ios/creaternwapp/main.m delete mode 100755 template/ios/creaternwappTests/Info.plist delete mode 100755 template/ios/creaternwappTests/creaternwappTests.m delete mode 100644 template/metro.config.js delete mode 100644 template/package.json delete mode 100755 template/public/favicon.ico delete mode 100755 template/public/index.html delete mode 100644 template/public/logo192.png delete mode 100644 template/public/logo512.png delete mode 100755 template/public/manifest.json delete mode 100644 template/public/robots.txt delete mode 100755 template/scripts/build.js delete mode 100755 template/scripts/start.js delete mode 100755 template/scripts/test.js delete mode 100755 template/src/App.js delete mode 100755 template/src/App.test.js delete mode 100755 template/src/index.css delete mode 100755 template/src/index.js delete mode 100755 template/src/logo.png delete mode 100755 template/src/serviceWorker.js delete mode 100644 template/src/setupTests.js diff --git a/README.md b/README.md index 4fe7ef9..2843f3a 100755 --- a/README.md +++ b/README.md @@ -12,6 +12,8 @@ ### A simple CLI tool to start your React Native Web project to develop same app for IOS Android and Web +**Compatibility: React Native >= 0.63**. +

diff --git a/cli.js b/cli.js index d4937f4..a809a9e 100755 --- a/cli.js +++ b/cli.js @@ -2,11 +2,11 @@ const chalk = require('chalk'); const commander = require('commander'); -const fs = require('fs-extra'); -const path = require('path'); +// const fs = require('fs-extra'); +// const path = require('path'); const execSync = require('child_process').execSync; const packageJson = require('./package.json'); -const copyFiles = require('./copyFiles'); +// const copyFiles = require('./copyFiles'); const nodeVersion = process.versions.node; const nodeVersionSplitted = nodeVersion.split('.'); @@ -24,23 +24,19 @@ if (nodeMajorVersion < 8) { } const printCyan = (text) => console.log(` ${chalk.cyan(text)}`); -const printGreen = (text) => console.log(` ${chalk.green(text)}`); +// const printGreen = (text) => console.log(` ${chalk.green(text)}`); let appName; -let appBundleId; const program = new commander.Command(packageJson.name) .version(packageJson.version) - .arguments(' []') + .arguments('') .option('-r, --router') - .usage( - `${chalk.green('')} [${chalk.green('')}]`, - ) - .action((name, bundleId) => { + .usage(`${chalk.green('')}`) + .action((name) => { appName = name; - appBundleId = bundleId; }) .on('--help', () => { - console.log(` Only ${chalk.green('')} is required.`); + console.log(` ${chalk.green('')} is required.`); console.log(); console.log( ` If you have any problems, do not hesitate to file an issue:`, @@ -54,114 +50,27 @@ const program = new commander.Command(packageJson.name) async function run() { if (appName) { - function installPods() { - // TODO add better testing for pods - if (process.platform === 'darwin') { - const iosFolderPath = `${appName}/ios`; - try { - if (!fs.existsSync(iosFolderPath)) { - return; - } - - const hasPods = fs.existsSync(`${iosFolderPath}/Podfile`); - - if (!hasPods) { - return; - } - - try { - // Check if "pod" is available and usable. It happens that there are - // multiple versions of "pod" command and even though it's there, it exits - // with a failure - execSync(`cd ${iosFolderPath} && pod --version`); - } catch (e) { - // "pod" command outputs errors to stdout (at least some of them) - console.log(error.stderr || error.stdout); - - throw new Error( - `Failed to install CocoaPods dependencies for iOS project, which is required by this template.\nPlease try again manually: "gem install cocoapods --no-document && cd ./${appName}/ios && pod install".\nCocoaPods documentation: - "https://cocoapods.org/" - `, - ); - } - - try { - printCyan( - '⏳ Installing CocoaPods dependencies (this may take a few minutes)...', - ); - execSync(`cd ${iosFolderPath} && pod install`); - } catch (error) { - // "pod" command outputs errors to stdout (at least some of them) - console.log(error.stderr || error.stdout); - - throw new Error( - `Failed to install CocoaPods dependencies for iOS project, which is required by this template.\nPlease try again manually: "cd ./${appName}/ios && pod install".\nCocoaPods documentation: - "https://cocoapods.org/" - `, - ); - } - } catch (error) { - throw error; - } - } - } - printCyan(`⏳ Creating React Native Web App by the name of ${appName}`); console.log(); - printCyan('⏳ Creating project folder...'); - console.log(); - - // create folder appName and copy files - fs.ensureDirSync(appName); - fs.emptyDirSync(appName); - - printCyan('⏳ Adding project files...'); - console.log(); - - await copyFiles(path.resolve(__dirname, 'template'), appName); + execSync( + `npx react-native init ${appName} --template react-native-template-react-native-web`, + {stdio: [0, 1, 2]}, + ); - if (program.router) { - printCyan('⏳ Adding react router files...'); - console.log(); - fs.removeSync(`${appName}/src/App.js`); - await copyFiles( - path.resolve(__dirname, 'react-router'), - path.resolve(appName, 'src'), - ); + let isYarnAvailable; + try { + execSync('yarnpkg --version', {stdio: 'ignore'}); + isYarnAvailable = true; + } catch (e) { + isYarnAvailable = false; } - fs.renameSync( - path.resolve(appName, '.gitignore.txt'), - path.resolve(appName, '.gitignore'), - ); - try { execSync(`cd ${appName} && git init`); } catch (error) {} - // install deps - printCyan('⏳ Installing project dependencies...'); - console.log(); - - const renameCommand = `cd ${appName} && npx react-native-rename-next ${appName}${ - appBundleId ? ` -b ${appBundleId}` : '' - }`; - - execSync(renameCommand); - - const installCommand = `cd ${appName} && npm i${ - program.router ? '&& npm i -S react-router-native react-router-dom' : '' - }`; - execSync(installCommand, {stdio: [0, 1, 2]}); - - installPods(); - - // print script commands with info links - printGreen('✅ Done! 😁👍 Your project is ready for development.'); - console.log(); - - const packageManagerRunCommand = 'npm run'; + const packageManagerRunCommand = isYarnAvailable ? 'yarn' : 'npm run'; console.log(` ${chalk.magenta('*')} ${chalk.magenta( 'change directory to your new project', diff --git a/cli.test.js b/cli.test.js index c7a27b4..654fdf9 100755 --- a/cli.test.js +++ b/cli.test.js @@ -1,35 +1,8 @@ const chalk = require('chalk'); -// const commander = require("commander"); -const fs = require('fs-extra'); -// const path = require("path"); const execSync = require('child_process').execSync; -const copyFiles = require('./copyFiles'); -// const packageJson = require("./package.json"); -const isWin = process.platform === 'win32'; - -jest.mock('fs-extra', () => { - const ensureDirSync = jest.fn(); - const emptyDirSync = jest.fn(); - const copySync = jest.fn(); - const existsSync = jest.fn(); - const renameSync = jest.fn(); - - return { - ensureDirSync, - emptyDirSync, - copySync, - existsSync, - renameSync, - }; -}); -jest.mock('./copyFiles', () => { - const copyFiles = jest.fn(() => Promise.resolve()); - - return copyFiles; -}); const originalConsoleLog = console.log; -console.log = jest.fn(); +console.log = jest.fn(() => true); const originalConsoleError = console.error; console.error = jest.fn(); @@ -57,32 +30,30 @@ jest.mock('chalk', () => { describe('cli runs properly', () => { it('cli runs with argument and logs info', (done) => { process.argv[2] = 'myFakeName'; - fs.existsSync.mockReturnValue(true); jest.requireActual('./cli'); + let isYarnAvailable; + try { + execSync('yarnpkg --version', {stdio: 'ignore'}); + isYarnAvailable = true; + } catch (e) { + isYarnAvailable = false; + } + + const packageManagerRunCommand = isYarnAvailable ? 'yarn' : 'npm run'; process.nextTick(() => { expect(chalk.red.mock.calls).toEqual([]); expect(chalk.cyan.mock.calls).toEqual([ ['⏳ Creating React Native Web App by the name of myFakeName'], - ['⏳ Creating project folder...'], - ['⏳ Adding project files...'], - ['⏳ Installing project dependencies...'], - [ - '⏳ Installing CocoaPods dependencies (this may take a few minutes)...', - ], ['cd myFakeName'], ['Then run the these commands to get started:'], - ['npm run web'], - ['npm run android'], - ['npm run ios'], - ['npm run test'], - ['npm run build'], - ]); - expect(chalk.green.mock.calls).toEqual([ - [''], - [''], - ['✅ Done! 😁👍 Your project is ready for development.'], + [`${packageManagerRunCommand} web`], + [`${packageManagerRunCommand} android`], + [`${packageManagerRunCommand} ios`], + [`${packageManagerRunCommand} test`], + [`${packageManagerRunCommand} build`], ]); + expect(chalk.green.mock.calls).toEqual([['']]); expect(chalk.magenta.mock.calls).toEqual([ ['*'], ['change directory to your new project'], @@ -102,27 +73,14 @@ describe('cli runs properly', () => { ['To run build for Web'], ]); - if (isWin) { - expect(execSync.mock.calls).toEqual([ - [ - 'cd myFakeName && npx react-native-rename-next myFakeName && npm i', - {stdio: [0, 1, 2]}, - ], - ]); - } else { - expect(execSync.mock.calls).toEqual([ - ['cd myFakeName && git init'], - ['cd myFakeName && npx react-native-rename-next myFakeName'], - ['cd myFakeName && npm i', {stdio: [0, 1, 2]}], - ['cd myFakeName/ios && pod --version'], - ['cd myFakeName/ios && pod install'], - ]); - } - - expect(fs.emptyDirSync.mock.calls).toEqual([['myFakeName']]); - expect(fs.ensureDirSync.mock.calls).toEqual([['myFakeName']]); - expect(copyFiles.mock.calls).toEqual([ - [__dirname + (isWin ? '\\' : '/') + 'template', 'myFakeName'], + expect(execSync.mock.calls).toEqual([ + [ + 'npx react-native init myFakeName --template react-native-template-react-native-web', + {stdio: [0, 1, 2]}, + ], + ['yarnpkg --version', {stdio: 'ignore'}], + ['cd myFakeName && git init'], + ['yarnpkg --version', {stdio: 'ignore'}], ]); }); done(); diff --git a/copyFiles.js b/copyFiles.js deleted file mode 100644 index b6c5af9..0000000 --- a/copyFiles.js +++ /dev/null @@ -1,84 +0,0 @@ -const fs = require("fs"); -const path = require("path"); - -function walk(current) { - if (!fs.lstatSync(current).isDirectory()) { - return [current]; - } - - const files = fs - .readdirSync(current) - .map((child) => walk(path.join(current, child))); - const result = []; - return result.concat.apply([current], files); -} - -/** - * Copy files (binary included) recursively. - */ -async function copyFiles(srcPath, destPath, options = {}) { - return Promise.all( - walk(srcPath).map(async (absoluteSrcFilePath) => { - const exclude = options.exclude; - if (exclude && exclude.some((p) => p.test(absoluteSrcFilePath))) { - return; - } - const relativeFilePath = path.relative(srcPath, absoluteSrcFilePath); - await copyFile( - absoluteSrcFilePath, - path.resolve(destPath, relativeFilePath) - ); - }) - ); -} - -/** - * Copy a file to given destination. - */ -function copyFile(srcPath, destPath) { - if (fs.lstatSync(srcPath).isDirectory()) { - if (!fs.existsSync(destPath)) { - fs.mkdirSync(destPath); - } - // Not recursive - return; - } - - return new Promise((resolve, reject) => { - copyBinaryFile(srcPath, destPath, (err) => { - if (err) { - reject(err); - } - resolve(destPath); - }); - }); -} - -/** - * Same as 'cp' on Unix. Don't do any replacements. - */ -function copyBinaryFile(srcPath, destPath, cb) { - let cbCalled = false; - const { mode } = fs.statSync(srcPath); - const readStream = fs.createReadStream(srcPath); - const writeStream = fs.createWriteStream(destPath); - readStream.on("error", (err) => { - done(err); - }); - writeStream.on("error", (err) => { - done(err); - }); - readStream.on("close", () => { - done(); - fs.chmodSync(destPath, mode); - }); - readStream.pipe(writeStream); - function done(err) { - if (!cbCalled) { - cb(err); - cbCalled = true; - } - } -} - -module.exports = copyFiles; diff --git a/package.json b/package.json index 20de586..0c8c97a 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "create-react-native-web-app", - "version": "0.15.6", + "version": "0.16.0", "description": "React Native Web CLI", "main": "cli.js", "scripts": { @@ -26,7 +26,8 @@ "ios", "android", "react-native", - "react-native-web" + "react-native-web", + "CLI" ], "author": { "name": "Or Yoffe", @@ -43,14 +44,12 @@ }, "dependencies": { "chalk": "^3.0.0", - "commander": "^2.15.1", - "fs-extra": "^8.0.1" + "commander": "^2.15.1" }, "jest": { "testEnvironment": "node", "testPathIgnorePatterns": [ - "./node_modules/", - "./template/*" + "./node_modules/" ] } } diff --git a/template/.buckconfig b/template/.buckconfig deleted file mode 100644 index 934256c..0000000 --- a/template/.buckconfig +++ /dev/null @@ -1,6 +0,0 @@ - -[android] - target = Google Inc.:Google APIs:23 - -[maven_repositories] - central = https://repo1.maven.org/maven2 diff --git a/template/.flowconfig b/template/.flowconfig deleted file mode 100644 index 4afc766..0000000 --- a/template/.flowconfig +++ /dev/null @@ -1,75 +0,0 @@ -[ignore] -; We fork some components by platform -.*/*[.]android.js - -; Ignore "BUCK" generated dirs -/\.buckd/ - -; Ignore polyfills -node_modules/react-native/Libraries/polyfills/.* - -; These should not be required directly -; require from fbjs/lib instead: require('fbjs/lib/warning') -node_modules/warning/.* - -; Flow doesn't support platforms -.*/Libraries/Utilities/LoadingView.js - -[untyped] -.*/node_modules/@react-native-community/cli/.*/.* - -[include] - -[libs] -node_modules/react-native/Libraries/react-native/react-native-interface.js -node_modules/react-native/flow/ - -[options] -emoji=true - -esproposal.optional_chaining=enable -esproposal.nullish_coalescing=enable - -module.file_ext=.js -module.file_ext=.json -module.file_ext=.ios.js - -munge_underscores=true - -module.name_mapper='^react-native$' -> '/node_modules/react-native/Libraries/react-native/react-native-implementation' -module.name_mapper='^react-native/\(.*\)$' -> '/node_modules/react-native/\1' -module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '/node_modules/react-native/Libraries/Image/RelativeImageStub' - -suppress_type=$FlowIssue -suppress_type=$FlowFixMe -suppress_type=$FlowFixMeProps -suppress_type=$FlowFixMeState - -suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\) -suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+ -suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError - -[lints] -sketchy-null-number=warn -sketchy-null-mixed=warn -sketchy-number=warn -untyped-type-import=warn -nonstrict-import=warn -deprecated-type=warn -unsafe-getters-setters=warn -inexact-spread=warn -unnecessary-invariant=warn -signature-verification-failure=warn -deprecated-utility=error - -[strict] -deprecated-type -nonstrict-import -sketchy-null -unclear-type -unsafe-getters-setters -untyped-import -untyped-type-import - -[version] -^0.105.0 diff --git a/template/.gitattributes b/template/.gitattributes deleted file mode 100644 index d42ff18..0000000 --- a/template/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.pbxproj -text diff --git a/template/.gitignore.txt b/template/.gitignore.txt deleted file mode 100755 index a481978..0000000 --- a/template/.gitignore.txt +++ /dev/null @@ -1,83 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# OSX -# -.DS_Store - -# Xcode -# -build/ -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata -*.xccheckout -*.moved-aside -DerivedData -*.hmap -*.ipa -*.xcuserstate - -# Android/IntelliJ -# -build/ -.idea -.gradle -local.properties -*.iml - -# node.js -# -node_modules/ -npm-debug.log -yarn-error.log - -# BUCK -buck-out/ -\.buckd/ -*.keystore -!debug.keystore - -# fastlane -# -# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the -# screenshots whenever they are needed. -# For more information about the recommended setup visit: -# https://docs.fastlane.tools/best-practices/source-control/ - -*/fastlane/report.xml -*/fastlane/Preview.html -*/fastlane/screenshots - -# Bundle artifact -*.jsbundle - -# CocoaPods -/ios/Pods/ diff --git a/template/.prettierrc.js b/template/.prettierrc.js deleted file mode 100644 index 5c4de1a..0000000 --- a/template/.prettierrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - bracketSpacing: false, - jsxBracketSameLine: true, - singleQuote: true, - trailingComma: 'all', -}; diff --git a/template/.watchmanconfig b/template/.watchmanconfig deleted file mode 100755 index 0967ef4..0000000 --- a/template/.watchmanconfig +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/template/README.md b/template/README.md deleted file mode 100644 index 62e8d08..0000000 --- a/template/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# This repository was initiated with create-react-native-web-app - -[![NPM](https://nodei.co/npm/create-react-native-web-app.png)](https://npmjs.org/package/create-react-native-web-app) - -![GitHub issues](https://img.shields.io/github/issues/orYoffe/create-react-native-web-app.svg) -![license](https://img.shields.io/github/license/orYoffe/create-react-native-web-app.svg) -![GitHub top language](https://img.shields.io/github/languages/top/orYoffe/create-react-native-web-app.svg) -![npm bundle size (minified)](https://img.shields.io/bundlephobia/min/create-react-native-web-app.svg) -![npm](https://img.shields.io/npm/v/create-react-native-web-app.svg) - -### A simple CLI tool to start your React Native Web project to develop same app for IOS Android and Web - -

- -

- -## Installation - -```sh -# Run create-react-native-web-app -$ npx create-react-native-web-app myApp - -# if you previously installed this package globaly run this command first to uninstall the previous version: -# npm uninstall -g create-react-native-web-app - -# cd into your -$ cd myApp - -# Run Web/Ios/Android development -# Web -$ npm run web - -# IOS (simulator) -$ npm run ios - -# Android (connected device) -$ npm run android - -``` - -- To work with IOS and Android - Install Xcode and Android studio and follow the react native instructions [under the "Building Projects with Native Code" tab](http://facebook.github.io/react-native/docs/getting-started.html) - -

- -

- -## Folder structure - -``` -myApp -├── android (When opening with Android studio, open this folder) -│ └── android project files -├── ios (When opening with Xcode, open this folder) -│ └── ios project files -├── public -│ ├── favicon.ico -│ ├── index.html -│ └── manifest.json -└── src - └── project code -``` - -## Resources - -- [React Native for Web (react-native-web)](https://github.com/necolas/react-native-web) -- [React](https://reactjs.org/) -- [React Native](http://facebook.github.io/react-native/) -- [Create React App](https://github.com/facebook/create-react-app) -- [Create React Native App](https://github.com/react-community/create-react-native-app) diff --git a/template/android/app/_BUCK b/template/android/app/_BUCK deleted file mode 100644 index 7514827..0000000 --- a/template/android/app/_BUCK +++ /dev/null @@ -1,55 +0,0 @@ -# To learn about Buck see [Docs](https://buckbuild.com/). -# To run your application with Buck: -# - install Buck -# - `npm start` - to start the packager -# - `cd android` -# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` -# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck -# - `buck install -r android/app` - compile, install and run application -# - -load(":build_defs.bzl", "create_aar_targets", "create_jar_targets") - -lib_deps = [] - -create_aar_targets(glob(["libs/*.aar"])) - -create_jar_targets(glob(["libs/*.jar"])) - -android_library( - name = "all-libs", - exported_deps = lib_deps, -) - -android_library( - name = "app-code", - srcs = glob([ - "src/main/java/**/*.java", - ]), - deps = [ - ":all-libs", - ":build_config", - ":res", - ], -) - -android_build_config( - name = "build_config", - package = "com.rntemplate", -) - -android_resource( - name = "res", - package = "com.rntemplate", - res = "src/main/res", -) - -android_binary( - name = "app", - keystore = "//android/keystores:debug", - manifest = "src/main/AndroidManifest.xml", - package_type = "debug", - deps = [ - ":app-code", - ], -) diff --git a/template/android/app/build.gradle b/template/android/app/build.gradle deleted file mode 100755 index f364ab7..0000000 --- a/template/android/app/build.gradle +++ /dev/null @@ -1,201 +0,0 @@ -apply plugin: "com.android.application" - -import com.android.build.OutputFile - -/** - * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets - * and bundleReleaseJsAndAssets). - * These basically call `react-native bundle` with the correct arguments during the Android build - * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the - * bundle directly from the development server. Below you can see all the possible configurations - * and their defaults. If you decide to add a configuration block, make sure to add it before the - * `apply from: "../../node_modules/react-native/react.gradle"` line. - * - * project.ext.react = [ - * // the name of the generated asset file containing your JS bundle - * bundleAssetName: "index.android.bundle", - * - * // the entry file for bundle generation - * entryFile: "index.android.js", - * - * // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format - * bundleCommand: "ram-bundle", - * - * // whether to bundle JS and assets in debug mode - * bundleInDebug: false, - * - * // whether to bundle JS and assets in release mode - * bundleInRelease: true, - * - * // whether to bundle JS and assets in another build variant (if configured). - * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants - * // The configuration property can be in the following formats - * // 'bundleIn${productFlavor}${buildType}' - * // 'bundleIn${buildType}' - * // bundleInFreeDebug: true, - * // bundleInPaidRelease: true, - * // bundleInBeta: true, - * - * // whether to disable dev mode in custom build variants (by default only disabled in release) - * // for example: to disable dev mode in the staging build type (if configured) - * devDisabledInStaging: true, - * // The configuration property can be in the following formats - * // 'devDisabledIn${productFlavor}${buildType}' - * // 'devDisabledIn${buildType}' - * - * // the root of your project, i.e. where "package.json" lives - * root: "../../", - * - * // where to put the JS bundle asset in debug mode - * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", - * - * // where to put the JS bundle asset in release mode - * jsBundleDirRelease: "$buildDir/intermediates/assets/release", - * - * // where to put drawable resources / React Native assets, e.g. the ones you use via - * // require('./image.png')), in debug mode - * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", - * - * // where to put drawable resources / React Native assets, e.g. the ones you use via - * // require('./image.png')), in release mode - * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", - * - * // by default the gradle tasks are skipped if none of the JS files or assets change; this means - * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to - * // date; if you have any other folders that you want to ignore for performance reasons (gradle - * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ - * // for example, you might want to remove it from here. - * inputExcludes: ["android/**", "ios/**"], - * - * // override which node gets called and with what additional arguments - * nodeExecutableAndArgs: ["node"], - * - * // supply additional arguments to the packager - * extraPackagerArgs: [] - * ] - */ - -project.ext.react = [ - entryFile: "index.js", - enableHermes: false, // clean and rebuild if changing -] - -apply from: "../../node_modules/react-native/react.gradle" - -/** - * Set this to true to create two separate APKs instead of one: - * - An APK that only works on ARM devices - * - An APK that only works on x86 devices - * The advantage is the size of the APK is reduced by about 4MB. - * Upload all the APKs to the Play Store and people will download - * the correct one based on the CPU architecture of their device. - */ -def enableSeparateBuildPerCPUArchitecture = false - -/** - * Run Proguard to shrink the Java bytecode in release builds. - */ -def enableProguardInReleaseBuilds = false - -/** - * The preferred build flavor of JavaScriptCore. - * - * For example, to use the international variant, you can use: - * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` - * - * The international variant includes ICU i18n library and necessary data - * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that - * give correct results when using with locales other than en-US. Note that - * this variant is about 6MiB larger per architecture than default. - */ -def jscFlavor = 'org.webkit:android-jsc:+' - -/** - * Whether to enable the Hermes VM. - * - * This should be set on project.ext.react and mirrored here. If it is not set - * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode - * and the benefits of using Hermes will therefore be sharply reduced. - */ -def enableHermes = project.ext.react.get("enableHermes", false); - -android { - compileSdkVersion rootProject.ext.compileSdkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - defaultConfig { - applicationId "com.creaternwapp" - minSdkVersion rootProject.ext.minSdkVersion - targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 1 - versionName "1.0" - } - splits { - abi { - reset() - enable enableSeparateBuildPerCPUArchitecture - universalApk false // If true, also generate a universal APK - include "armeabi-v7a", "x86", "arm64-v8a", "x86_64" - } - } - signingConfigs { - debug { - storeFile file('debug.keystore') - storePassword 'android' - keyAlias 'androiddebugkey' - keyPassword 'android' - } - } - buildTypes { - debug { - signingConfig signingConfigs.debug - } - release { - // Caution! In production, you need to generate your own keystore file. - // see https://facebook.github.io/react-native/docs/signed-apk-android. - signingConfig signingConfigs.debug - minifyEnabled enableProguardInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" - } - } - // applicationVariants are e.g. debug, release - applicationVariants.all { variant -> - variant.outputs.each { output -> - // For each separate APK per architecture, set a unique version code as described here: - // https://developer.android.com/studio/build/configure-apk-splits.html - def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] - def abi = output.getFilter(OutputFile.ABI) - if (abi != null) { // null for the universal-debug, universal-release variants - output.versionCodeOverride = - versionCodes.get(abi) * 1048576 + defaultConfig.versionCode - } - - } - } -} - -dependencies { - implementation fileTree(dir: "libs", include: ["*.jar"]) - implementation "com.facebook.react:react-native:+" // From node_modules - - if (enableHermes) { - def hermesPath = "../../node_modules/hermes-engine/android/"; - debugImplementation files(hermesPath + "hermes-debug.aar") - releaseImplementation files(hermesPath + "hermes-release.aar") - } else { - implementation jscFlavor - } -} - -// Run this once to be able to run the application with BUCK -// puts all compile dependencies into folder libs for BUCK to use -task copyDownloadableDepsToLibs(type: Copy) { - from configurations.compile - into 'libs' -} - -apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/template/android/app/build_defs.bzl b/template/android/app/build_defs.bzl deleted file mode 100644 index fff270f..0000000 --- a/template/android/app/build_defs.bzl +++ /dev/null @@ -1,19 +0,0 @@ -"""Helper definitions to glob .aar and .jar targets""" - -def create_aar_targets(aarfiles): - for aarfile in aarfiles: - name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")] - lib_deps.append(":" + name) - android_prebuilt_aar( - name = name, - aar = aarfile, - ) - -def create_jar_targets(jarfiles): - for jarfile in jarfiles: - name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")] - lib_deps.append(":" + name) - prebuilt_jar( - name = name, - binary_jar = jarfile, - ) diff --git a/template/android/app/debug.keystore b/template/android/app/debug.keystore deleted file mode 100644 index 364e105ed39fbfd62001429a68140672b06ec0de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2257 zcmchYXEfYt8;7T1^dLH$VOTZ%2NOdOH5j5LYLtZ0q7x-V8_6gU5)#7dkq{HTmsfNq zB3ZqcAxeY^G10@?efK?Q&)M(qInVv!xjx+IKEL}p*K@LYvIzo#AZG>st5|P)KF1_Z;y){W{<7K{nl!CPuE z_^(!C(Ol0n8 zK13*rzAtW>(wULKPRYLd7G18F8#1P`V*9`(Poj26eOXYyBVZPno~Cvvhx7vPjAuZo zF?VD!zB~QG(!zbw#qsxT8%BSpqMZ4f70ZPn-3y$L8{EVbbN9$H`B&Z1quk9tgp5FM zuxp3pJ0b8u|3+#5bkJ4SRnCF2l7#DyLYXYY8*?OuAwK4E6J{0N=O3QNVzQ$L#FKkR zi-c@&!nDvezOV$i$Lr}iF$XEcwnybQ6WZrMKuw8gCL^U#D;q3t&HpTbqyD%vG=TeDlzCT~MXUPC|Leb-Uk+ z=vnMd(|>ld?Fh>V8poP;q;;nc@en$|rnP0ytzD&fFkCeUE^kG9Kx4wUh!!rpjwKDP zyw_e|a^x_w3E zP}}@$g>*LLJ4i0`Gx)qltL}@;mDv}D*xR^oeWcWdPkW@Uu)B^X&4W1$p6}ze!zudJ zyiLg@uggoMIArBr*27EZV7djDg@W1MaL+rcZ-lrANJQ%%>u8)ZMWU@R2qtnmG(acP z0d_^!t>}5W zpT`*2NR+0+SpTHb+6Js4b;%LJB;B_-ChhnU5py}iJtku*hm5F0!iql8Hrpcy1aYbT z1*dKC5ua6pMX@@iONI?Hpr%h;&YaXp9n!ND7-=a%BD7v&g zOO41M6EbE24mJ#S$Ui0-brR5ML%@|ndz^)YLMMV1atna{Fw<;TF@>d&F|!Z>8eg>>hkFrV)W+uv=`^F9^e zzzM2*oOjT9%gLoub%(R57p-`TXFe#oh1_{&N-YN z<}artH|m=d8TQuKSWE)Z%puU|g|^^NFwC#N=@dPhasyYjoy(fdEVfKR@cXKHZV-`06HsP`|Ftx;8(YD$fFXumLWbGnu$GMqRncXYY9mwz9$ap zQtfZB^_BeNYITh^hA7+(XNFox5WMeG_LtJ%*Q}$8VKDI_p8^pqX)}NMb`0e|wgF7D zuQACY_Ua<1ri{;Jwt@_1sW9zzdgnyh_O#8y+C;LcZq6=4e^cs6KvmK@$vVpKFGbQ= z$)Eux5C|Fx;Gtmv9^#Y-g@7Rt7*eLp5n!gJmn7&B_L$G?NCN`AP>cXQEz}%F%K;vUs{+l4Q{}eWW;ATe2 zqvXzxoIDy(u;F2q1JH7Sf;{jy_j})F+cKlIOmNfjBGHoG^CN zM|Ho&&X|L-36f}Q-obEACz`sI%2f&k>z5c$2TyTSj~vmO)BW~+N^kt`Jt@R|s!){H ze1_eCrlNaPkJQhL$WG&iRvF*YG=gXd1IyYQ9ew|iYn7r~g!wOnw;@n42>enAxBv*A zEmV*N#sxdicyNM=A4|yaOC5MByts}s_Hpfj|y<6G=o=!3S@eIFKDdpR7|FY>L&Wat&oW&cm&X~ z5Bt>Fcq(fgnvlvLSYg&o6>&fY`ODg4`V^lWWD=%oJ#Kbad2u~! zLECFS*??>|vDsNR&pH=Ze0Eo`sC_G`OjoEKVHY|wmwlX&(XBE<@sx3Hd^gtd-fNwUHsylg06p`U2y_={u}Bc - - - - - - diff --git a/template/android/app/src/main/AndroidManifest.xml b/template/android/app/src/main/AndroidManifest.xml deleted file mode 100755 index f5f6d42..0000000 --- a/template/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/template/android/app/src/main/java/com/creaternwapp/MainActivity.java b/template/android/app/src/main/java/com/creaternwapp/MainActivity.java deleted file mode 100755 index c2dc483..0000000 --- a/template/android/app/src/main/java/com/creaternwapp/MainActivity.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.creaternwapp; - -import com.facebook.react.ReactActivity; - -public class MainActivity extends ReactActivity { - - /** - * Returns the name of the main component registered from JavaScript. This is used to schedule - * rendering of the component. - */ - @Override - protected String getMainComponentName() { - return "creaternwapp"; - } -} diff --git a/template/android/app/src/main/java/com/creaternwapp/MainApplication.java b/template/android/app/src/main/java/com/creaternwapp/MainApplication.java deleted file mode 100755 index 2ce2663..0000000 --- a/template/android/app/src/main/java/com/creaternwapp/MainApplication.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.creaternwapp; - -import android.app.Application; -import android.content.Context; -import com.facebook.react.PackageList; -import com.facebook.react.ReactApplication; -import com.facebook.react.ReactNativeHost; -import com.facebook.react.ReactPackage; -import com.facebook.soloader.SoLoader; -import java.lang.reflect.InvocationTargetException; -import java.util.List; - -public class MainApplication extends Application implements ReactApplication { - - private final ReactNativeHost mReactNativeHost = - new ReactNativeHost(this) { - @Override - public boolean getUseDeveloperSupport() { - return BuildConfig.DEBUG; - } - - @Override - protected List getPackages() { - @SuppressWarnings("UnnecessaryLocalVariable") - List packages = new PackageList(this).getPackages(); - // Packages that cannot be autolinked yet can be added manually here, for example: - // packages.add(new MyReactNativePackage()); - return packages; - } - - @Override - protected String getJSMainModuleName() { - return "index"; - } - }; - - @Override - public ReactNativeHost getReactNativeHost() { - return mReactNativeHost; - } - - @Override - public void onCreate() { - super.onCreate(); - SoLoader.init(this, /* native exopackage */ false); - initializeFlipper(this); // Remove this line if you don't want Flipper enabled - } - - /** - * Loads Flipper in React Native templates. - * - * @param context - */ - private static void initializeFlipper(Context context) { - if (BuildConfig.DEBUG) { - try { - /* - We use reflection here to pick up the class that initializes Flipper, - since Flipper library is not available in release mode - */ - Class aClass = Class.forName("com.facebook.flipper.ReactNativeFlipper"); - aClass.getMethod("initializeFlipper", Context.class).invoke(null, context); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - } - } -} diff --git a/template/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/template/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100755 index a2f5908281d070150700378b64a84c7db1f97aa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3056 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 axPAxe%7rDusX+w*00006jj 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⁣ zwiG+x#%j}{0gU~J8;<|!B1@-XaB@{KORFwrYg_8rOv({b0EO#DbeQRm;B6_9=mXGf z-x|VL{zd`)#@yN}HkCSJbjbNlE|zL3Wm9Q8HY`sV)}3%pgN>cL^67{Z;PPL(*wT8N zUjXU{@|*hvm}({wsAC=x0^ok0%UAz0;sogW{B!nDqk|JJ5x~4NfTDgP49^zeu`csl?5mY@JdQdISc zFs!E{^grmkLnUk9 zny~m)1vws@5BFI<-0Tuo2JWX(0v`W|t(wg;s--L47WTvTMz-8l#TL^=OJNRS2?_Qj z3AKT+gvbyBi#H*-tJ%tWD|>EV3wy|8qxfzS!5RW;Jpl5*zo&^UBU=fG#2}UvRyNkK zA06Dy9;K1ca@r2T>yThYgI!ont$(G{6q#2QT+00r_x0(b)gsE`lBB?2gr55gq^D3Fi&p%E(p9>U%bv zkg1Jco(RbyTX7FDHOnl7-O@ zI$AaIl?9NJKPm(WiBP`1-#CB1QzU>&hKm)fpa5DKE{2$X0hGz-0uZ?cyTk(YC!Y&| zL=1VrNERSA5NA2jq7FACfX4JfPyj5XXl1yv0>~s;eF7L2$>&oMqeTFT2m$y7FlkON z_yurD1yIOvA;5C6016pyxBznGUt0kJ&k5r#;&>Jow`r)sp9R~PmK~lz$3xH%LT*1U zJdOyABZ3!FvNoR*vN$5ykHS8f`jA4zV+|L}i1C4`B2c{R0;UdYxaU|H)2avz@ z=mEYc|2S<+(B2Tj+FkX+2D+yFI!k9lWMA61DJ{)e;lum$(;O87?vGJJe!KtK04+N_ zI*P~t@dUb>9Xh{dbyl{-ZQ(UMgz7$|QfL5XSPkskt^NgctYC#;4WcZB1@%@wy@2t3 z2z0DI7&%b$*Aw~abe?GxE`ez@+6hOh-6*8fHRV{1os$EL@}uUZeG4h1&Be`98q*7j z=3-v+lhIjfWVo12!<>%V^a6lTgW3+_#W6n|p*~==zOH7z$0{LSZk(Tpd7EaD04hnA zL;#fxS0aD{`5^&D`}>0Uq?byDD-l2=!wm_bLcUl4gc(% za1p|itVANvFF>hghAS07Im1;IK;|b*W)}VDyI;BIp2=K*yu2a)j?B|f<44NI$NbmJ z#dE0>jI$fMr&@>4kN8MLFb4&2O9fEKaQg%(QO$4_1rVQywG^CmBLh#}_7gKW3vd?| z2?1^&KWq8}8I^_S0|)MowU_pw$q@nl@Nkn$z>BQq_KA^9yaR`(R3u{{Ig;cwt z@AJ^{ODQCm^neroM9nKNUAXi9RCK`OsP_LuR0PUR(YZCCX5dNF6VzcoK&=b^r`W?ltt|*F zpkoae%ZT{C1h~EcFui~b7fF`vb<<~j_VquuUA$}QqIKYELPp#;{u?q8Dz}WAG-(3; zjrm$i%7UbyZMM(Y{>!uJ#vNB?R~B{6Htp=>e*<{fQQ5W7V(1coCWlOON!MzZxhum| ztZBQpGR z;~#ur^&PockKdV{Q6R>o`Pl{0x!DEbpZ7y9Y;*ZvE!*gU`V1W3znva{f=?WO5I&>B z&hw6}tjECtaghm5z|C#%M;Yf_*pI^};h}Vl=^r9EN=tVDj86D;C$jIJ?K7VP+00000NkvXXu0mjf D5i!M* diff --git a/template/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/template/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100755 index 459ca609d3ae0d3943ab44cdc27feef9256dc6d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7098 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 diff --git a/template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100755 index 8ca12fe024be86e868d14e91120a6902f8e88ac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6464 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 B0*L?s diff --git a/template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/template/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100755 index 8e19b410a1b15ff180f3dacac19395fe3046cdec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10676 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 diff --git a/template/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/template/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100755 index 4c19a13c239cb67b8a2134ddd5f325db1d2d5bee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15523 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 BIP(Ai diff --git a/template/android/app/src/main/res/values/strings.xml b/template/android/app/src/main/res/values/strings.xml deleted file mode 100755 index 245225d..0000000 --- a/template/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - creaternwapp - diff --git a/template/android/app/src/main/res/values/styles.xml b/template/android/app/src/main/res/values/styles.xml deleted file mode 100755 index 62fe59f..0000000 --- a/template/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/template/android/build.gradle b/template/android/build.gradle deleted file mode 100755 index 28f7ec6..0000000 --- a/template/android/build.gradle +++ /dev/null @@ -1,38 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - ext { - buildToolsVersion = "28.0.3" - minSdkVersion = 16 - compileSdkVersion = 28 - targetSdkVersion = 28 - } - repositories { - google() - jcenter() - } - dependencies { - classpath("com.android.tools.build:gradle:3.4.2") - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} - -allprojects { - repositories { - mavenLocal() - maven { - // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm - url("$rootDir/../node_modules/react-native/android") - } - maven { - // Android JSC is installed from npm - url("$rootDir/../node_modules/jsc-android/dist") - } - - google() - jcenter() - maven { url 'https://jitpack.io' } - } -} diff --git a/template/android/gradle.properties b/template/android/gradle.properties deleted file mode 100755 index 027ef9d..0000000 --- a/template/android/gradle.properties +++ /dev/null @@ -1,21 +0,0 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html - -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx10248m -XX:MaxPermSize=256m -# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 - -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true - -android.useAndroidX=true -android.enableJetifier=true diff --git a/template/android/gradle/wrapper/gradle-wrapper.jar b/template/android/gradle/wrapper/gradle-wrapper.jar deleted file mode 100755 index 5c2d1cf016b3885f6930543d57b744ea8c220a1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55616 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 \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=$(save "$@") - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - -exec "$JAVACMD" "$@" diff --git a/template/android/gradlew.bat b/template/android/gradlew.bat deleted file mode 100755 index 15e1ee3..0000000 --- a/template/android/gradlew.bat +++ /dev/null @@ -1,100 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem http://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/template/android/settings.gradle b/template/android/settings.gradle deleted file mode 100755 index 5dfe2e0..0000000 --- a/template/android/settings.gradle +++ /dev/null @@ -1,3 +0,0 @@ -rootProject.name = 'creaternwapp' -apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) -include ':app' diff --git a/template/app.json b/template/app.json deleted file mode 100755 index 5d3a7b6..0000000 --- a/template/app.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "creaternwapp", - "displayName": "creaternwapp" -} \ No newline at end of file diff --git a/template/babel.config.js b/template/babel.config.js deleted file mode 100755 index 7513b14..0000000 --- a/template/babel.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = (api) => { - api.cache(true); - - return { - presets: ['module:metro-react-native-babel-preset'], - plugins: [ - '@babel/plugin-transform-runtime', - // '@babel/plugin-proposal-class-properties', // Breaks fast refresh on native for some reason, left here if needed - ].map(require.resolve), - }; -}; diff --git a/template/config/env.js b/template/config/env.js deleted file mode 100755 index 09ec03c..0000000 --- a/template/config/env.js +++ /dev/null @@ -1,101 +0,0 @@ -'use strict'; - -const fs = require('fs'); -const path = require('path'); -const paths = require('./paths'); - -// Make sure that including paths.js after env.js will read .env variables. -delete require.cache[require.resolve('./paths')]; - -const NODE_ENV = process.env.NODE_ENV; -if (!NODE_ENV) { - throw new Error( - 'The NODE_ENV environment variable is required but was not specified.' - ); -} - -// https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use -const dotenvFiles = [ - `${paths.dotenv}.${NODE_ENV}.local`, - `${paths.dotenv}.${NODE_ENV}`, - // Don't include `.env.local` for `test` environment - // since normally you expect tests to produce the same - // results for everyone - NODE_ENV !== 'test' && `${paths.dotenv}.local`, - paths.dotenv, -].filter(Boolean); - -// Load environment variables from .env* files. Suppress warnings using silent -// if this file is missing. dotenv will never modify any environment variables -// that have already been set. Variable expansion is supported in .env files. -// https://github.com/motdotla/dotenv -// https://github.com/motdotla/dotenv-expand -dotenvFiles.forEach(dotenvFile => { - if (fs.existsSync(dotenvFile)) { - require('dotenv-expand')( - require('dotenv').config({ - path: dotenvFile, - }) - ); - } -}); - -// We support resolving modules according to `NODE_PATH`. -// This lets you use absolute paths in imports inside large monorepos: -// https://github.com/facebook/create-react-app/issues/253. -// It works similar to `NODE_PATH` in Node itself: -// https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders -// Note that unlike in Node, only *relative* paths from `NODE_PATH` are honored. -// Otherwise, we risk importing Node.js core modules into an app instead of webpack shims. -// https://github.com/facebook/create-react-app/issues/1023#issuecomment-265344421 -// We also resolve them to make sure all tools using them work consistently. -const appDirectory = fs.realpathSync(process.cwd()); -process.env.NODE_PATH = (process.env.NODE_PATH || '') - .split(path.delimiter) - .filter(folder => folder && !path.isAbsolute(folder)) - .map(folder => path.resolve(appDirectory, folder)) - .join(path.delimiter); - -// Grab NODE_ENV and REACT_APP_* environment variables and prepare them to be -// injected into the application via DefinePlugin in webpack configuration. -const REACT_APP = /^REACT_APP_/i; - -function getClientEnvironment(publicUrl) { - const raw = Object.keys(process.env) - .filter(key => REACT_APP.test(key)) - .reduce( - (env, key) => { - env[key] = process.env[key]; - return env; - }, - { - // Useful for determining whether we’re running in production mode. - // Most importantly, it switches React into the correct mode. - NODE_ENV: process.env.NODE_ENV || 'development', - // Useful for resolving the correct path to static assets in `public`. - // For example, . - // This should only be used as an escape hatch. Normally you would put - // images into the `src` and `import` them in code to get their paths. - PUBLIC_URL: publicUrl, - // We support configuring the sockjs pathname during development. - // These settings let a developer run multiple simultaneous projects. - // They are used as the connection `hostname`, `pathname` and `port` - // in webpackHotDevClient. They are used as the `sockHost`, `sockPath` - // and `sockPort` options in webpack-dev-server. - WDS_SOCKET_HOST: process.env.WDS_SOCKET_HOST, - WDS_SOCKET_PATH: process.env.WDS_SOCKET_PATH, - WDS_SOCKET_PORT: process.env.WDS_SOCKET_PORT, - } - ); - // Stringify all values so we can feed into webpack DefinePlugin - const stringified = { - 'process.env': Object.keys(raw).reduce((env, key) => { - env[key] = JSON.stringify(raw[key]); - return env; - }, {}), - }; - - return { raw, stringified }; -} - -module.exports = getClientEnvironment; diff --git a/template/config/getHttpsConfig.js b/template/config/getHttpsConfig.js deleted file mode 100644 index 013d493..0000000 --- a/template/config/getHttpsConfig.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -const fs = require('fs'); -const path = require('path'); -const crypto = require('crypto'); -const chalk = require('react-dev-utils/chalk'); -const paths = require('./paths'); - -// Ensure the certificate and key provided are valid and if not -// throw an easy to debug error -function validateKeyAndCerts({ cert, key, keyFile, crtFile }) { - let encrypted; - try { - // publicEncrypt will throw an error with an invalid cert - encrypted = crypto.publicEncrypt(cert, Buffer.from('test')); - } catch (err) { - throw new Error( - `The certificate "${chalk.yellow(crtFile)}" is invalid.\n${err.message}` - ); - } - - try { - // privateDecrypt will throw an error with an invalid key - crypto.privateDecrypt(key, encrypted); - } catch (err) { - throw new Error( - `The certificate key "${chalk.yellow(keyFile)}" is invalid.\n${ - err.message - }` - ); - } -} - -// Read file and throw an error if it doesn't exist -function readEnvFile(file, type) { - if (!fs.existsSync(file)) { - throw new Error( - `You specified ${chalk.cyan( - type - )} in your env, but the file "${chalk.yellow(file)}" can't be found.` - ); - } - return fs.readFileSync(file); -} - -// Get the https config -// Return cert files if provided in env, otherwise just true or false -function getHttpsConfig() { - const { SSL_CRT_FILE, SSL_KEY_FILE, HTTPS } = process.env; - const isHttps = HTTPS === 'true'; - - if (isHttps && SSL_CRT_FILE && SSL_KEY_FILE) { - const crtFile = path.resolve(paths.appPath, SSL_CRT_FILE); - const keyFile = path.resolve(paths.appPath, SSL_KEY_FILE); - const config = { - cert: readEnvFile(crtFile, 'SSL_CRT_FILE'), - key: readEnvFile(keyFile, 'SSL_KEY_FILE'), - }; - - validateKeyAndCerts({ ...config, keyFile, crtFile }); - return config; - } - return isHttps; -} - -module.exports = getHttpsConfig; diff --git a/template/config/jest/cssTransform.js b/template/config/jest/cssTransform.js deleted file mode 100755 index 8f65114..0000000 --- a/template/config/jest/cssTransform.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -// This is a custom Jest transformer turning style imports into empty objects. -// http://facebook.github.io/jest/docs/en/webpack.html - -module.exports = { - process() { - return 'module.exports = {};'; - }, - getCacheKey() { - // The output is always the same. - return 'cssTransform'; - }, -}; diff --git a/template/config/jest/fileTransform.js b/template/config/jest/fileTransform.js deleted file mode 100755 index aab6761..0000000 --- a/template/config/jest/fileTransform.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -const path = require('path'); -const camelcase = require('camelcase'); - -// This is a custom Jest transformer turning file imports into filenames. -// http://facebook.github.io/jest/docs/en/webpack.html - -module.exports = { - process(src, filename) { - const assetFilename = JSON.stringify(path.basename(filename)); - - if (filename.match(/\.svg$/)) { - // Based on how SVGR generates a component name: - // https://github.com/smooth-code/svgr/blob/01b194cf967347d43d4cbe6b434404731b87cf27/packages/core/src/state.js#L6 - const pascalCaseFilename = camelcase(path.parse(filename).name, { - pascalCase: true, - }); - const componentName = `Svg${pascalCaseFilename}`; - return `const React = require('react'); - module.exports = { - __esModule: true, - default: ${assetFilename}, - ReactComponent: React.forwardRef(function ${componentName}(props, ref) { - return { - $$typeof: Symbol.for('react.element'), - type: 'svg', - ref: ref, - key: null, - props: Object.assign({}, props, { - children: ${assetFilename} - }) - }; - }), - };`; - } - - return `module.exports = ${assetFilename};`; - }, -}; diff --git a/template/config/jest/jest.config.native.js b/template/config/jest/jest.config.native.js deleted file mode 100644 index 19b10f9..0000000 --- a/template/config/jest/jest.config.native.js +++ /dev/null @@ -1,43 +0,0 @@ -module.exports = { - preset: 'react-native', - rootDir: '../../', - roots: ['/src'], - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}', '!src/**/*.d.ts'], - // // setupFilesAfterEnv: ['/src/setupTests.js'], - testMatch: [ - '/src/**/__tests__/**/*.{js,jsx,ts,tsx}', - '/src/**/*.{spec,test}.{js,jsx,ts,tsx}', - ], - // // testEnvironment: 'jest-environment-jsdom-fourteen', - // transform: { - // '^.+\\.(js|jsx|ts|tsx)$': '/node_modules/babel-jest', - // '^.+\\.css$': '/config/jest/cssTransform.js', - // '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': - // '/config/jest/fileTransform.js', - // }, - // transformIgnorePatterns: [ - // '[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$', - // '^.+\\.module\\.(css|sass|scss)$', - // ], - // modulePaths: [], - // moduleNameMapper: { - // '^react-native$': 'react-native-web', - // '^.+\\.module\\.(css|sass|scss)$': 'identity-obj-proxy', - // }, - // moduleFileExtensions: [ - // 'web.js', - // 'js', - // 'web.ts', - // 'ts', - // 'web.tsx', - // 'tsx', - // 'json', - // 'web.jsx', - // 'jsx', - // 'node', - // ], - // watchPlugins: [ - // 'jest-watch-typeahead/filename', - // 'jest-watch-typeahead/testname', - // ], -}; diff --git a/template/config/modules.js b/template/config/modules.js deleted file mode 100644 index c8efd0d..0000000 --- a/template/config/modules.js +++ /dev/null @@ -1,141 +0,0 @@ -'use strict'; - -const fs = require('fs'); -const path = require('path'); -const paths = require('./paths'); -const chalk = require('react-dev-utils/chalk'); -const resolve = require('resolve'); - -/** - * Get additional module paths based on the baseUrl of a compilerOptions object. - * - * @param {Object} options - */ -function getAdditionalModulePaths(options = {}) { - const baseUrl = options.baseUrl; - - // We need to explicitly check for null and undefined (and not a falsy value) because - // TypeScript treats an empty string as `.`. - if (baseUrl == null) { - // If there's no baseUrl set we respect NODE_PATH - // Note that NODE_PATH is deprecated and will be removed - // in the next major release of create-react-app. - - const nodePath = process.env.NODE_PATH || ''; - return nodePath.split(path.delimiter).filter(Boolean); - } - - const baseUrlResolved = path.resolve(paths.appPath, baseUrl); - - // We don't need to do anything if `baseUrl` is set to `node_modules`. This is - // the default behavior. - if (path.relative(paths.appNodeModules, baseUrlResolved) === '') { - return null; - } - - // Allow the user set the `baseUrl` to `appSrc`. - if (path.relative(paths.appSrc, baseUrlResolved) === '') { - return [paths.appSrc]; - } - - // If the path is equal to the root directory we ignore it here. - // We don't want to allow importing from the root directly as source files are - // not transpiled outside of `src`. We do allow importing them with the - // absolute path (e.g. `src/Components/Button.js`) but we set that up with - // an alias. - if (path.relative(paths.appPath, baseUrlResolved) === '') { - return null; - } - - // Otherwise, throw an error. - throw new Error( - chalk.red.bold( - "Your project's `baseUrl` can only be set to `src` or `node_modules`." + - ' Create React App does not support other values at this time.' - ) - ); -} - -/** - * Get webpack aliases based on the baseUrl of a compilerOptions object. - * - * @param {*} options - */ -function getWebpackAliases(options = {}) { - const baseUrl = options.baseUrl; - - if (!baseUrl) { - return {}; - } - - const baseUrlResolved = path.resolve(paths.appPath, baseUrl); - - if (path.relative(paths.appPath, baseUrlResolved) === '') { - return { - src: paths.appSrc, - }; - } -} - -/** - * Get jest aliases based on the baseUrl of a compilerOptions object. - * - * @param {*} options - */ -function getJestAliases(options = {}) { - const baseUrl = options.baseUrl; - - if (!baseUrl) { - return {}; - } - - const baseUrlResolved = path.resolve(paths.appPath, baseUrl); - - if (path.relative(paths.appPath, baseUrlResolved) === '') { - return { - '^src/(.*)$': '/src/$1', - }; - } -} - -function getModules() { - // Check if TypeScript is setup - const hasTsConfig = fs.existsSync(paths.appTsConfig); - const hasJsConfig = fs.existsSync(paths.appJsConfig); - - if (hasTsConfig && hasJsConfig) { - throw new Error( - 'You have both a tsconfig.json and a jsconfig.json. If you are using TypeScript please remove your jsconfig.json file.' - ); - } - - let config; - - // If there's a tsconfig.json we assume it's a - // TypeScript project and set up the config - // based on tsconfig.json - if (hasTsConfig) { - const ts = require(resolve.sync('typescript', { - basedir: paths.appNodeModules, - })); - config = ts.readConfigFile(paths.appTsConfig, ts.sys.readFile).config; - // Otherwise we'll check if there is jsconfig.json - // for non TS projects. - } else if (hasJsConfig) { - config = require(paths.appJsConfig); - } - - config = config || {}; - const options = config.compilerOptions || {}; - - const additionalModulePaths = getAdditionalModulePaths(options); - - return { - additionalModulePaths: additionalModulePaths, - webpackAliases: getWebpackAliases(options), - jestAliases: getJestAliases(options), - hasTsConfig, - }; -} - -module.exports = getModules(); diff --git a/template/config/paths.js b/template/config/paths.js deleted file mode 100755 index b3fd764..0000000 --- a/template/config/paths.js +++ /dev/null @@ -1,72 +0,0 @@ -'use strict'; - -const path = require('path'); -const fs = require('fs'); -const getPublicUrlOrPath = require('react-dev-utils/getPublicUrlOrPath'); - -// Make sure any symlinks in the project folder are resolved: -// https://github.com/facebook/create-react-app/issues/637 -const appDirectory = fs.realpathSync(process.cwd()); -const resolveApp = relativePath => path.resolve(appDirectory, relativePath); - -// We use `PUBLIC_URL` environment variable or "homepage" field to infer -// "public path" at which the app is served. -// webpack needs to know it to put the right - RNW App - - - -

- - - diff --git a/template/public/logo192.png b/template/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/template/public/manifest.json b/template/public/manifest.json deleted file mode 100755 index 080d6c7..0000000 --- a/template/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/template/public/robots.txt b/template/public/robots.txt deleted file mode 100644 index e9e57dc..0000000 --- a/template/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/template/scripts/build.js b/template/scripts/build.js deleted file mode 100755 index 2d82669..0000000 --- a/template/scripts/build.js +++ /dev/null @@ -1,211 +0,0 @@ -'use strict'; - -// Do this as the first thing so that any code reading it knows the right env. -process.env.BABEL_ENV = 'production'; -process.env.NODE_ENV = 'production'; - -// Makes the script crash on unhandled rejections instead of silently -// ignoring them. In the future, promise rejections that are not handled will -// terminate the Node.js process with a non-zero exit code. -process.on('unhandledRejection', err => { - throw err; -}); - -// Ensure environment variables are read. -require('../config/env'); - - -const path = require('path'); -const chalk = require('react-dev-utils/chalk'); -const fs = require('fs-extra'); -const webpack = require('webpack'); -const configFactory = require('../config/webpack.config'); -const paths = require('../config/paths'); -const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles'); -const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages'); -const printHostingInstructions = require('react-dev-utils/printHostingInstructions'); -const FileSizeReporter = require('react-dev-utils/FileSizeReporter'); -const printBuildError = require('react-dev-utils/printBuildError'); - -const measureFileSizesBeforeBuild = - FileSizeReporter.measureFileSizesBeforeBuild; -const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild; -const useYarn = fs.existsSync(paths.yarnLockFile); - -// These sizes are pretty large. We'll warn for bundles exceeding them. -const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024; -const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024; - -const isInteractive = process.stdout.isTTY; - -// Warn and crash if required files are missing -if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) { - process.exit(1); -} - -// Generate configuration -const config = configFactory('production'); - -// We require that you explicitly set browsers and do not fall back to -// browserslist defaults. -const { checkBrowsers } = require('react-dev-utils/browsersHelper'); -checkBrowsers(paths.appPath, isInteractive) - .then(() => { - // First, read the current file sizes in build directory. - // This lets us display how much they changed later. - return measureFileSizesBeforeBuild(paths.appBuild); - }) - .then(previousFileSizes => { - // Remove all content but keep the directory so that - // if you're in it, you don't end up in Trash - fs.emptyDirSync(paths.appBuild); - // Merge with the public folder - copyPublicFolder(); - // Start the webpack build - return build(previousFileSizes); - }) - .then( - ({ stats, previousFileSizes, warnings }) => { - if (warnings.length) { - console.log(chalk.yellow('Compiled with warnings.\n')); - console.log(warnings.join('\n\n')); - console.log( - '\nSearch for the ' + - chalk.underline(chalk.yellow('keywords')) + - ' to learn more about each warning.' - ); - console.log( - 'To ignore, add ' + - chalk.cyan('// eslint-disable-next-line') + - ' to the line before.\n' - ); - } else { - console.log(chalk.green('Compiled successfully.\n')); - } - - console.log('File sizes after gzip:\n'); - printFileSizesAfterBuild( - stats, - previousFileSizes, - paths.appBuild, - WARN_AFTER_BUNDLE_GZIP_SIZE, - WARN_AFTER_CHUNK_GZIP_SIZE - ); - console.log(); - - const appPackage = require(paths.appPackageJson); - const publicUrl = paths.publicUrlOrPath; - const publicPath = config.output.publicPath; - const buildFolder = path.relative(process.cwd(), paths.appBuild); - printHostingInstructions( - appPackage, - publicUrl, - publicPath, - buildFolder, - useYarn - ); - }, - err => { - const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true'; - if (tscCompileOnError) { - console.log( - chalk.yellow( - 'Compiled with the following type errors (you may want to check these before deploying your app):\n' - ) - ); - printBuildError(err); - } else { - console.log(chalk.red('Failed to compile.\n')); - printBuildError(err); - process.exit(1); - } - } - ) - .catch(err => { - if (err && err.message) { - console.log(err.message); - } - process.exit(1); - }); - -// Create the production build and print the deployment instructions. -function build(previousFileSizes) { - // We used to support resolving modules according to `NODE_PATH`. - // This now has been deprecated in favor of jsconfig/tsconfig.json - // This lets you use absolute paths in imports inside large monorepos: - if (process.env.NODE_PATH) { - console.log( - chalk.yellow( - 'Setting NODE_PATH to resolve modules absolutely has been deprecated in favor of setting baseUrl in jsconfig.json (or tsconfig.json if you are using TypeScript) and will be removed in a future major release of create-react-app.' - ) - ); - console.log(); - } - - console.log('Creating an optimized production build...'); - - const compiler = webpack(config); - return new Promise((resolve, reject) => { - compiler.run((err, stats) => { - let messages; - if (err) { - if (!err.message) { - return reject(err); - } - - let errMessage = err.message; - - // Add additional information for postcss errors - if (Object.prototype.hasOwnProperty.call(err, 'postcssNode')) { - errMessage += - '\nCompileError: Begins at CSS selector ' + - err['postcssNode'].selector; - } - - messages = formatWebpackMessages({ - errors: [errMessage], - warnings: [], - }); - } else { - messages = formatWebpackMessages( - stats.toJson({ all: false, warnings: true, errors: true }) - ); - } - if (messages.errors.length) { - // Only keep the first error. Others are often indicative - // of the same problem, but confuse the reader with noise. - if (messages.errors.length > 1) { - messages.errors.length = 1; - } - return reject(new Error(messages.errors.join('\n\n'))); - } - if ( - process.env.CI && - (typeof process.env.CI !== 'string' || - process.env.CI.toLowerCase() !== 'false') && - messages.warnings.length - ) { - console.log( - chalk.yellow( - '\nTreating warnings as errors because process.env.CI = true.\n' + - 'Most CI servers set it automatically.\n' - ) - ); - return reject(new Error(messages.warnings.join('\n\n'))); - } - - return resolve({ - stats, - previousFileSizes, - warnings: messages.warnings, - }); - }); - }); -} - -function copyPublicFolder() { - fs.copySync(paths.appPublic, paths.appBuild, { - dereference: true, - filter: file => file !== paths.appHtml, - }); -} diff --git a/template/scripts/start.js b/template/scripts/start.js deleted file mode 100755 index f0f9ec0..0000000 --- a/template/scripts/start.js +++ /dev/null @@ -1,157 +0,0 @@ -'use strict'; - -// Do this as the first thing so that any code reading it knows the right env. -process.env.BABEL_ENV = 'development'; -process.env.NODE_ENV = 'development'; - -// Makes the script crash on unhandled rejections instead of silently -// ignoring them. In the future, promise rejections that are not handled will -// terminate the Node.js process with a non-zero exit code. -process.on('unhandledRejection', err => { - throw err; -}); - -// Ensure environment variables are read. -require('../config/env'); - - -const fs = require('fs'); -const chalk = require('react-dev-utils/chalk'); -const webpack = require('webpack'); -const WebpackDevServer = require('webpack-dev-server'); -const clearConsole = require('react-dev-utils/clearConsole'); -const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles'); -const { - choosePort, - createCompiler, - prepareProxy, - prepareUrls, -} = require('react-dev-utils/WebpackDevServerUtils'); -const openBrowser = require('react-dev-utils/openBrowser'); -const paths = require('../config/paths'); -const configFactory = require('../config/webpack.config'); -const createDevServerConfig = require('../config/webpackDevServer.config'); - -const useYarn = fs.existsSync(paths.yarnLockFile); -const isInteractive = process.stdout.isTTY; - -// Warn and crash if required files are missing -if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) { - process.exit(1); -} - -// Tools like Cloud9 rely on this. -const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 3000; -const HOST = process.env.HOST || '0.0.0.0'; - -if (process.env.HOST) { - console.log( - chalk.cyan( - `Attempting to bind to HOST environment variable: ${chalk.yellow( - chalk.bold(process.env.HOST) - )}` - ) - ); - console.log( - `If this was unintentional, check that you haven't mistakenly set it in your shell.` - ); - console.log( - `Learn more here: ${chalk.yellow('https://bit.ly/CRA-advanced-config')}` - ); - console.log(); -} - -// We require that you explicitly set browsers and do not fall back to -// browserslist defaults. -const { checkBrowsers } = require('react-dev-utils/browsersHelper'); -checkBrowsers(paths.appPath, isInteractive) - .then(() => { - // We attempt to use the default port but if it is busy, we offer the user to - // run on a different port. `choosePort()` Promise resolves to the next free port. - return choosePort(HOST, DEFAULT_PORT); - }) - .then(port => { - if (port == null) { - // We have not found a port. - return; - } - - const config = configFactory('development'); - const protocol = process.env.HTTPS === 'true' ? 'https' : 'http'; - const appName = require(paths.appPackageJson).name; - const useTypeScript = fs.existsSync(paths.appTsConfig); - const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true'; - const urls = prepareUrls( - protocol, - HOST, - port, - paths.publicUrlOrPath.slice(0, -1) - ); - const devSocket = { - warnings: warnings => - devServer.sockWrite(devServer.sockets, 'warnings', warnings), - errors: errors => - devServer.sockWrite(devServer.sockets, 'errors', errors), - }; - // Create a webpack compiler that is configured with custom messages. - const compiler = createCompiler({ - appName, - config, - devSocket, - urls, - useYarn, - useTypeScript, - tscCompileOnError, - webpack, - }); - // Load proxy config - const proxySetting = require(paths.appPackageJson).proxy; - const proxyConfig = prepareProxy( - proxySetting, - paths.appPublic, - paths.publicUrlOrPath - ); - // Serve webpack assets generated by the compiler over a web server. - const serverConfig = createDevServerConfig( - proxyConfig, - urls.lanUrlForConfig - ); - const devServer = new WebpackDevServer(compiler, serverConfig); - // Launch WebpackDevServer. - devServer.listen(port, HOST, err => { - if (err) { - return console.log(err); - } - if (isInteractive) { - clearConsole(); - } - - // We used to support resolving modules according to `NODE_PATH`. - // This now has been deprecated in favor of jsconfig/tsconfig.json - // This lets you use absolute paths in imports inside large monorepos: - if (process.env.NODE_PATH) { - console.log( - chalk.yellow( - 'Setting NODE_PATH to resolve modules absolutely has been deprecated in favor of setting baseUrl in jsconfig.json (or tsconfig.json if you are using TypeScript) and will be removed in a future major release of create-react-app.' - ) - ); - console.log(); - } - - console.log(chalk.cyan('Starting the development server...\n')); - openBrowser(urls.localUrlForBrowser); - }); - - ['SIGINT', 'SIGTERM'].forEach(function(sig) { - process.on(sig, function() { - devServer.close(); - process.exit(); - }); - }); - }) - .catch(err => { - if (err && err.message) { - console.log(err.message); - } - process.exit(1); - }); diff --git a/template/scripts/test.js b/template/scripts/test.js deleted file mode 100755 index 5324cf0..0000000 --- a/template/scripts/test.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -// Do this as the first thing so that any code reading it knows the right env. -process.env.BABEL_ENV = 'test'; -process.env.NODE_ENV = 'test'; -process.env.PUBLIC_URL = ''; - -// Makes the script crash on unhandled rejections instead of silently -// ignoring them. In the future, promise rejections that are not handled will -// terminate the Node.js process with a non-zero exit code. -process.on('unhandledRejection', err => { - throw err; -}); - -// Ensure environment variables are read. -require('../config/env'); - -const jest = require('jest'); -// const execSync = require('child_process').execSync; -let argv = process.argv.slice(2); - -// function isInGitRepository() { -// try { -// execSync('git rev-parse --is-inside-work-tree', {stdio: 'ignore'}); -// return true; -// } catch (e) { -// return false; -// } -// } - -// function isInMercurialRepository() { -// try { -// execSync('hg --cwd . root', {stdio: 'ignore'}); -// return true; -// } catch (e) { -// return false; -// } -// } - -// Watch unless on CI or explicitly running all tests -// if ( -// !process.env.CI && -// argv.indexOf('--watchAll') === -1 && -// argv.indexOf('--watchAll=false') === -1 -// ) { -// https://github.com/facebook/create-react-app/issues/5210 -// const hasSourceControl = isInGitRepository() || isInMercurialRepository(); -// argv.push(hasSourceControl ? '--watch' : '--watchAll'); -// } - -jest.run(argv); diff --git a/template/src/App.js b/template/src/App.js deleted file mode 100755 index c961976..0000000 --- a/template/src/App.js +++ /dev/null @@ -1,95 +0,0 @@ -import React, {Component} from 'react'; -import { - StyleSheet, - Text, - View, - Platform, - TouchableHighlight, - Animated, - Easing, -} from 'react-native'; -import logo from './logo.png'; - -class App extends Component { - state = { - spinValue: new Animated.Value(0), - }; - - onClick = () => { - const wasRotated = this.state.spinValue._value === 1; - Animated.timing(this.state.spinValue, { - toValue: wasRotated ? 0 : 1, - duration: 250, - easing: Easing.linear, - }).start(); - }; - - render() { - const spin = this.state.spinValue.interpolate({ - inputRange: [0, 1], - outputRange: ['0deg', '360deg'], - }); - - return ( - - - Create React Native Web App - - Open up src/App.js to start working on your app! - - - Changes you make will automatically reload. - - {Platform.OS !== 'web' && ( - - Shake your phone to open the developer menu. - - )} - - Rotate Logo - - - ); - } -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#282c34', - alignItems: 'center', - justifyContent: 'center', - }, - logo: { - width: 300, - height: 300, - }, - title: { - color: '#fff', - fontWeight: 'bold', - fontSize: 16, - }, - text: { - color: '#fff', - }, - button: { - borderRadius: 3, - padding: 20, - marginVertical: 10, - marginTop: 10, - backgroundColor: '#1B95E0', - }, - buttonText: { - color: '#fff', - fontWeight: 'bold', - fontSize: 16, - }, -}); - -export default App; diff --git a/template/src/App.test.js b/template/src/App.test.js deleted file mode 100755 index 9b5c65b..0000000 --- a/template/src/App.test.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react'; -import {Platform} from 'react-native'; -import renderer from 'react-test-renderer'; - -import App from './App'; - -describe('App', () => { - it('has the right amount of children', () => { - const tree = renderer.create().toJSON(); - expect(tree.children.length).toBe(Platform.OS === 'web' ? 5 : 6); - }); -}); diff --git a/template/src/index.css b/template/src/index.css deleted file mode 100755 index 48c5d30..0000000 --- a/template/src/index.css +++ /dev/null @@ -1,27 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} -/* These styles make the body full-height */ -html, -body { - height: 100%; -} -/* These styles disable body scrolling if you are using */ -body { - overflow: hidden; -} -/* These styles make the root element full-height */ -#root { - display: flex; - height: 100%; -} diff --git a/template/src/index.js b/template/src/index.js deleted file mode 100755 index 87d1be5..0000000 --- a/template/src/index.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.css'; -import App from './App'; -import * as serviceWorker from './serviceWorker'; - -ReactDOM.render(, document.getElementById('root')); - -// If you want your app to work offline and load faster, you can change -// unregister() to register() below. Note this comes with some pitfalls. -// Learn more about service workers: https://bit.ly/CRA-PWA -serviceWorker.unregister(); diff --git a/template/src/logo.png b/template/src/logo.png deleted file mode 100755 index fe09c909a674319f87277919ebfa9c5b11d6c8df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129451 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%0D>+3xNV@vOX6R1-?Eh{Qds?YO(n$f=39%8M`p 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

|HtGHMRfpW0CgN*c) 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 diff --git a/template/src/serviceWorker.js b/template/src/serviceWorker.js deleted file mode 100755 index c4838eb..0000000 --- a/template/src/serviceWorker.js +++ /dev/null @@ -1,141 +0,0 @@ -// This optional code is used to register a service worker. -// register() is not called by default. - -// This lets the app load faster on subsequent visits in production, and gives -// it offline capabilities. However, it also means that developers (and users) -// will only see deployed updates on subsequent visits to a page, after all the -// existing tabs open on the page have been closed, since previously cached -// resources are updated in the background. - -// To learn more about the benefits of this model and instructions on how to -// opt-in, read https://bit.ly/CRA-PWA - -const isLocalhost = Boolean( - window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. - window.location.hostname === '[::1]' || - // 127.0.0.0/8 are considered localhost for IPv4. - window.location.hostname.match( - /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ - ) -); - -export function register(config) { - if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { - // The URL constructor is available in all browsers that support SW. - const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); - if (publicUrl.origin !== window.location.origin) { - // Our service worker won't work if PUBLIC_URL is on a different origin - // from what our page is served on. This might happen if a CDN is used to - // serve assets; see https://github.com/facebook/create-react-app/issues/2374 - return; - } - - window.addEventListener('load', () => { - const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; - - if (isLocalhost) { - // This is running on localhost. Let's check if a service worker still exists or not. - checkValidServiceWorker(swUrl, config); - - // Add some additional logging to localhost, pointing developers to the - // service worker/PWA documentation. - navigator.serviceWorker.ready.then(() => { - console.log( - 'This web app is being served cache-first by a service ' + - 'worker. To learn more, visit https://bit.ly/CRA-PWA' - ); - }); - } else { - // Is not localhost. Just register service worker - registerValidSW(swUrl, config); - } - }); - } -} - -function registerValidSW(swUrl, config) { - navigator.serviceWorker - .register(swUrl) - .then(registration => { - registration.onupdatefound = () => { - const installingWorker = registration.installing; - if (installingWorker == null) { - return; - } - installingWorker.onstatechange = () => { - if (installingWorker.state === 'installed') { - if (navigator.serviceWorker.controller) { - // At this point, the updated precached content has been fetched, - // but the previous service worker will still serve the older - // content until all client tabs are closed. - console.log( - 'New content is available and will be used when all ' + - 'tabs for this page are closed. See https://bit.ly/CRA-PWA.' - ); - - // Execute callback - if (config && config.onUpdate) { - config.onUpdate(registration); - } - } else { - // At this point, everything has been precached. - // It's the perfect time to display a - // "Content is cached for offline use." message. - console.log('Content is cached for offline use.'); - - // Execute callback - if (config && config.onSuccess) { - config.onSuccess(registration); - } - } - } - }; - }; - }) - .catch(error => { - console.error('Error during service worker registration:', error); - }); -} - -function checkValidServiceWorker(swUrl, config) { - // Check if the service worker can be found. If it can't reload the page. - fetch(swUrl, { - headers: { 'Service-Worker': 'script' } - }) - .then(response => { - // Ensure service worker exists, and that we really are getting a JS file. - const contentType = response.headers.get('content-type'); - if ( - response.status === 404 || - (contentType != null && contentType.indexOf('javascript') === -1) - ) { - // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { - registration.unregister().then(() => { - window.location.reload(); - }); - }); - } else { - // Service worker found. Proceed as normal. - registerValidSW(swUrl, config); - } - }) - .catch(() => { - console.log( - 'No internet connection found. App is running in offline mode.' - ); - }); -} - -export function unregister() { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready - .then(registration => { - registration.unregister(); - }) - .catch(error => { - console.error(error.message); - }); - } -} diff --git a/template/src/setupTests.js b/template/src/setupTests.js deleted file mode 100644 index 74b1a27..0000000 --- a/template/src/setupTests.js +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom/extend-expect';