Skip to content

Cannot Zip project when babel is installed: ZIP does not support timestamps before 1980 #12125

Description

@maratsh

Bug Report

  • I would like to work on a fix!

Current behavior
I'm using aws sam to deploy lambdas with babel.

I have babel in dependencies

  "dependencies": {
    "@babel/runtime": "^7.9.2",
}

I'm running

npm install
npm run build 
sam build
sam deploy

process breaks on sam deploy with error

the only project with date older than 1980 I could find is babel

find -not -newermt 'jan 01, 1980'

node_modules/@babel/parser/CHANGELOG.md
node_modules/@babel/parser/LICENSE
node_modules/@babel/parser/README.md
node_modules/@babel/parser/bin/babel-parser.js
node_modules/@babel/parser/lib/index.js
node_modules/@babel/parser/lib/index.js.map
node_modules/@babel/parser/typings/babel-parser.d.ts
node_modules/@babel/types/LICENSE
node_modules/@babel/types/README.md
node_modules/@babel/types/lib/asserts/assertNode.js
node_modules/@babel/types/lib/asserts/generated/index.js
node_modules/@babel/types/lib/builders/builder.js
node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js
node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTyp
node_modules/@babel/types/lib/builders/generated/index.js
node_modules/@babel/types/lib/builders/react/buildChildren.js
node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js
node_modules/@babel/types/lib/clone/clone.js
node_modules/@babel/types/lib/clone/cloneDeep.js
node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js
node_modules/@babel/types/lib/clone/cloneNode.js
node_modules/@babel/types/lib/clone/cloneWithoutLoc.js
node_modules/@babel/types/lib/comments/addComment.js
node_modules/@babel/types/lib/comments/addComments.js
node_modules/@babel/types/lib/comments/inheritInnerComments.js
node_modules/@babel/types/lib/comments/inheritLeadingComments.js
node_modules/@babel/types/lib/comments/inheritTrailingComments.js
node_modules/@babel/types/lib/comments/inheritsComments.js
node_modules/@babel/types/lib/comments/removeComments.js
node_modules/@babel/types/lib/constants/generated/index.js
node_modules/@babel/types/lib/constants/index.js
node_modules/@babel/types/lib/converters/ensureBlock.js
node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js
node_modules/@babel/types/lib/converters/toBindingIdentifierName.js
node_modules/@babel/types/lib/converters/toBlock.js
node_modules/@babel/types/lib/converters/toComputedKey.js
node_modules/@babel/types/lib/converters/toExpression.js
node_modules/@babel/types/lib/converters/toIdentifier.js
node_modules/@babel/types/lib/converters/toKeyAlias.js
node_modules/@babel/types/lib/converters/toSequenceExpression.js
node_modules/@babel/types/lib/converters/toStatement.js
node_modules/@babel/types/lib/converters/valueToNode.js
node_modules/@babel/types/lib/definitions/core.js
node_modules/@babel/types/lib/definitions/experimental.js
node_modules/@babel/types/lib/definitions/flow.js
node_modules/@babel/types/lib/definitions/index.js
node_modules/@babel/types/lib/definitions/jsx.js
node_modules/@babel/types/lib/definitions/misc.js
node_modules/@babel/types/lib/definitions/placeholders.js
node_modules/@babel/types/lib/definitions/typescript.js
node_modules/@babel/types/lib/definitions/utils.js
node_modules/@babel/types/lib/index.d.ts
node_modules/@babel/types/lib/index.js
node_modules/@babel/types/lib/index.js.flow
node_modules/@babel/types/lib/modifications/appendToMemberExpression.js
node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
node_modules/@babel/types/lib/modifications/inherits.js
node_modules/@babel/types/lib/modifications/prependToMemberExpression.js
node_modules/@babel/types/lib/modifications/removeProperties.js
node_modules/@babel/types/lib/modifications/removePropertiesDeep.js
node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicate
node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js
node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js
node_modules/@babel/types/lib/traverse/traverse.js
node_modules/@babel/types/lib/traverse/traverseFast.js
node_modules/@babel/types/lib/utils/inherit.js
node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js
node_modules/@babel/types/lib/utils/shallowEqual.js
node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js
node_modules/@babel/types/lib/validators/generated/index.js
node_modules/@babel/types/lib/validators/is.js
node_modules/@babel/types/lib/validators/isBinding.js
node_modules/@babel/types/lib/validators/isBlockScoped.js
node_modules/@babel/types/lib/validators/isImmutable.js
node_modules/@babel/types/lib/validators/isLet.js
node_modules/@babel/types/lib/validators/isNode.js
node_modules/@babel/types/lib/validators/isNodesEquivalent.js
node_modules/@babel/types/lib/validators/isPlaceholderType.js
node_modules/@babel/types/lib/validators/isReferenced.js
node_modules/@babel/types/lib/validators/isScope.js
node_modules/@babel/types/lib/validators/isSpecifierDefault.js
node_modules/@babel/types/lib/validators/isType.js
node_modules/@babel/types/lib/validators/isValidES3Identifier.js
node_modules/@babel/types/lib/validators/isValidIdentifier.js
node_modules/@babel/types/lib/validators/isVar.js
node_modules/@babel/types/lib/validators/matchesPattern.js
node_modules/@babel/types/lib/validators/react/isCompatTag.js
node_modules/@babel/types/lib/validators/react/isReactComponent.js
node_modules/@babel/types/lib/validators/validate.js
node_modules/@babel/types/scripts/generateTypeHelpers.js
node_modules/@babel/types/scripts/generators/docs.js
node_modules/@babel/types/scripts/generators/flow.js
node_modules/@babel/types/scripts/generators/generateAsserts.js
node_modules/@babel/types/scripts/generators/generateBuilders.js
node_modules/@babel/types/scripts/generators/generateConstants.js
node_modules/@babel/types/scripts/generators/generateValidators.js
node_modules/@babel/types/scripts/generators/typescript.js
node_modules/@babel/types/scripts/utils/formatBuilderName.js
node_modules/@babel/types/scripts/utils/lowerFirst.js
node_modules/@babel/types/scripts/utils/stringifyValidator.js
node_modules/@babel/types/scripts/utils/toFunctionName.js

Possible Solution

moving file timestamp in tarball in npm to more safe 1980+
I know that npm locks dates for tarballed files, but usually date is in 1985 which is supported by zip.

Additional context
this causes problems in many lambdas and really annoying. there are simple workaround, but this potentially breaks caching.
I'm not sure if babel project is right place, but It will be awesome if you could fix this (moving file date to more safe 1980+) or point in which project this behavior is maintained

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: upstreamoutdatedA closed issue/PR that is archived due to age. Recommended to make a new issue

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions